CS 351: Information Systems Analysis and Design

Σχετικά έγγραφα
Common Problems. CS 351: Information Systems Analysis and Design. in Information Systems Development. What is a (Software Development) methodology?

Διαχείριση Έργων Πληροφορικής

Το πλαίσιο για την ανάθεση δημοσίων συμβάσεων έργων agile IT

Test Data Management in Practice

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Introduction to Object-Oriented Analysis and Design

Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN

Assalamu `alaikum wr. wb.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΠΙΧΕΙΡΗΣΕΙΣ ΕΝ ΟΨΕΙ ΤΟΥ ΝΕΟΥ ΟΙΚΟΝΟΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ» Σπουδαστές Μαραβελάκης Γρηγόριος Α.Μ Μαυρομήτρος Δημήτριος Α.Μ.

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

The Simply Typed Lambda Calculus

EE512: Error Control Coding

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ "ΠΟΛΥΚΡΙΤΗΡΙΑ ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ. Η ΠΕΡΙΠΤΩΣΗ ΤΗΣ ΕΠΙΛΟΓΗΣ ΑΣΦΑΛΙΣΤΗΡΙΟΥ ΣΥΜΒΟΛΑΙΟΥ ΥΓΕΙΑΣ "

Information and Communication Technologies in Education

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

The challenges of non-stable predicates

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

2 Composition. Invertible Mappings

derivation of the Laplacian from rectangular to spherical coordinates

GREECE BULGARIA 6 th JOINT MONITORING

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

EPL603 Topics in Software Engineering

Other Test Constructions: Likelihood Ratio & Bayes Tests

ΔΘΝΗΚΖ ΥΟΛΖ ΓΖΜΟΗΑ ΓΗΟΗΚΖΖ ΚΑ ΔΚΠΑΙΓΔΤΣΙΚΗ ΔΙΡΑ ΣΔΛΗΚΖ ΔΡΓΑΗΑ

Terabyte Technology Ltd

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΟΙ ΕΠΙΜΟΡΦΩΤΙΚΕΣ ΑΝΑΓΚΕΣ ΣΤΙΣ ΕΠΙΧΕΙΡΗΣΕΙΣ ΤΟΥ ΔΗΜΟΥ ΗΡΑΚΛΕΙΟΥ ΑΔΑΜΑΚΟΠΟΥΛΟΥ ΑΝΔΡΙΑΝΗ ΔΗΜΗΤΡΟΥΛΑΚΗ ΑΡΙΣΤΕΑ

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

4.6 Autoregressive Moving Average Model ARMA(1,1)

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

TMA4115 Matematikk 3

ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ ΣΕ ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΔΙΕΘΝΩΝ ΣΧΕΣΕΩΝ & ΟΙΚΟΝΟΜΙΑΣ

Finite Field Problems: Solutions

ΕΘΝΙΚΗ ΣΧΟΛΗ ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ

ΑΠΟΔΟΤΙΚΗ ΑΠΟΤΙΜΗΣΗ ΕΡΩΤΗΣΕΩΝ OLAP Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ. Υποβάλλεται στην

Business English. Ενότητα # 9: Financial Planning. Ευαγγελία Κουτσογιάννη Τμήμα Διοίκησης Επιχειρήσεων

ΣΥΓΧΡΟΝΕΣ ΤΑΣΕΙΣ ΣΤΗΝ ΕΚΤΙΜΗΣΗ ΚΑΙ ΧΑΡΤΟΓΡΑΦΗΣΗ ΤΩΝ ΚΙΝΔΥΝΩΝ

Strain gauge and rosettes

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΔΘΝΙΚΗ ΥΟΛΗ ΓΗΜΟΙΑ ΓΙΟΙΚΗΗ ΚΑ ΔΚΠΑΙΓΔΤΣΙΚΗ ΔΙΡΑ ΣΔΛΙΚΗ ΔΡΓΑΙΑ

Architecture οf Integrated Ιnformation Systems (ARIS)

Section 1: Listening and responding. Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016

Code Breaker. TEACHER s NOTES

Πτυχιακή Εργασία Η ΠΟΙΟΤΗΤΑ ΖΩΗΣ ΤΩΝ ΑΣΘΕΝΩΝ ΜΕ ΣΤΗΘΑΓΧΗ

5.4 The Poisson Distribution.

Concrete Mathematics Exercises from 30 September 2016

ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ. Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο. την απόκτηση του διπλώματος

υπηρεσίες / services ΜΕΛΕΤΗ - ΣΧΕΔΙΑΣΜΟΣ PLANNING - DESIGN ΕΜΠΟΡΙΚΗ ΜΕΛΕΤΗ COMMERCIAL PLANNING ΕΠΙΠΛΩΣΗ - ΕΞΟΠΛΙΣΜΟΣ FURNISHING - EQUIPMENT

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

Section 8.3 Trigonometric Equations

Instruction Execution Times

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΙΚΗΣ ΙΣΧΥΟΣ

Study of In-vehicle Sound Field Creation by Simultaneous Equation Method

Homework 3 Solutions

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ

Bring Your Own Device (BYOD) Legal Challenges of the new Business Trend MINA ZOULOVITS LAWYER, PARNTER FILOTHEIDIS & PARTNERS LAW FIRM

Fractional Colorings and Zykov Products of graphs

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

Right Rear Door. Let's now finish the door hinge saga with the right rear door

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «ΘΕΜΑ»

Statistical Inference I Locally most powerful tests

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Γενικές Μεθοδολογίες Ανάπτυξης Λογισμικού

1) Abstract (To be organized as: background, aim, workpackages, expected results) (300 words max) Το όριο λέξεων θα είναι ελαστικό.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ

(1) Describe the process by which mercury atoms become excited in a fluorescent tube (3)

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΗΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία ΑΝΑΠΤΥΞΗ ΔΕΙΚΤΩΝ ΠΟΙΟΤΗΤΑΣ ΕΔΑΦΟΥΣ

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΩΝ & ΑΝΑΘΕΣΗΣ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ ΣΕ ΠΟΛΛΑΠΛΑ ΕΡΓΑ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΠΟΛΛΑΠΛΕΣ ΟΜΑΔΕΣ

ΓΗΠΛΧΜΑΣΗΚΖ ΔΡΓΑΗΑ ΑΡΥΗΣΔΚΣΟΝΗΚΖ ΣΧΝ ΓΔΦΤΡΧΝ ΑΠΟ ΑΠΟΦΖ ΜΟΡΦΟΛΟΓΗΑ ΚΑΗ ΑΗΘΖΣΗΚΖ

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Context-aware και mhealth

Τέσσερις καλές πρακτικές για την ανάπτυξη λογισμικού στην Ανοιχτή Επιστήμη. Φώτης Ε. Ψωμόπουλος, Ερευνητής Γ ΙΝΕΒ ΕΚΕΤΑ

Démographie spatiale/spatial Demography

C.S. 430 Assignment 6, Sample Solutions

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Block Ciphers Modes. Ramki Thurimella

ΚΑΘΟΡΙΣΜΟΣ ΠΑΡΑΓΟΝΤΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΠΑΡΑΓΟΜΕΝΗ ΙΣΧΥ ΣΕ Φ/Β ΠΑΡΚΟ 80KWp

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΒΑΛΕΝΤΙΝΑ ΠΑΠΑΔΟΠΟΥΛΟΥ Α.Μ.: 09/061. Υπεύθυνος Καθηγητής: Σάββας Μακρίδης

Τμήμα Πολιτικών και Δομικών Έργων

ΑΚΑ ΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕ ΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Επιβλέπουσα Καθηγήτρια: ΣΟΦΙΑ ΑΡΑΒΟΥ ΠΑΠΑΔΑΤΟΥ

Math 6 SL Probability Distributions Practice Test Mark Scheme

«Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων. Η μεταξύ τους σχέση και εξέλιξη.»

Section 9.2 Polar Equations and Graphs

Advanced Subsidiary Unit 1: Understanding and Written Response

ΓΕΩΜΕΣΡΙΚΗ ΣΕΚΜΗΡΙΩΗ ΣΟΤ ΙΕΡΟΤ ΝΑΟΤ ΣΟΤ ΣΙΜΙΟΤ ΣΑΤΡΟΤ ΣΟ ΠΕΛΕΝΔΡΙ ΣΗ ΚΤΠΡΟΤ ΜΕ ΕΦΑΡΜΟΓΗ ΑΤΣΟΜΑΣΟΠΟΙΗΜΕΝΟΤ ΤΣΗΜΑΣΟ ΨΗΦΙΑΚΗ ΦΩΣΟΓΡΑΜΜΕΣΡΙΑ

Study of urban housing development projects: The general planning of Alexandria City

ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ ΙΓ' ΕΚΠΑΙΔΕΥΤΙΚΗ ΣΕΙΡΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

Transcript:

HY 351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων CS 351: Information Systems and ΙI. (Development) Methodologies Μεθοδολογίες Ανάπτυξης... Lecture : 2 Date : 29-9-2005 Yannis Tzitzikas University of Crete, Fall 2005 Outline Common problems in Information Systems Development What is a (Software Development) methodology? The fundamental 4-phase model planning, analysis, design, implementation Methodologies How we select a methodology? Process Improvement Models U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 2

Common Problems in Information Systems Development The current status in software engineering The Spandish Group report, 2003: οnly one out of three software projects complete on-time and on-budget. 42% of all corporate IS projects were abandoned before completion Most errors (54%) are detected after coding and testing. Almost half of all errors (45%) are introduced during requirements and design. Most errors made during requirements analysis are non-clerical (77%) Requirements errors can cost up to 100 times more to fix than implementation errors - if they are not caught early on Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization. The primarily goal is to create value for the organization. ==> Need to do requirements and design right! U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 4

Problems in IS Development What can go wrong? It is only by understanding what can go wrong during a system development project that we can hope to avoid failure client End user Developer U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 5 Problems from an End User s perspective What system? I haven t seen a new system It might work, but it s dreadful to use! It s very pretty but does it do anything useful? U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 6

Problems from a Client s perspective If I d known the real price, I d never have agreed It s no use delivering it now - we needed last April! Ok, so it works - but the installation was such a mess my staff will never trust it! I didn t want it in the first place Everything s changed now - we need a completely new system U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 7 Problems from a Developer s perspective We built what they said they wanted There wasn t enough time to do it any better Don t blame me - I ve never done object-oriented analysis before How can I fix it? - I don t know how it s supposed to work We said it was impossible, but no-one listened The system s fine - the users are the problem U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 8

Causes of IS project failure (Flynn 98) Type of Failure Quality problems Reason for failure Τhe wrong problem is addressed Wider influences are neglected is carried out incorrectly Project undertaken for wrong reason Comment System conflicts with business strategy Organization culture is ignored Poorly skilled team, too small Technology pull or political push Productivity Problems Users change their minds External events change the environment is not feasible Poor project control New legislation May not known, until project start Inexperienced project manager U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 9 Τα αίτια της αποτυχίας Η αποτυχία πολλές φορές οφείλεται σε κινδύνους (ρίσκα) που δεν λήφθηκαν υπόψη και δεν έγινε σωστό πλάνο αντιµετώπισής τους Ρίσκο ~ µέτρο της αβεβαιότητας ως προς το αποτέλεσµα Υψηλό ρίσκο => αύξηση κόστους, πρόκληση καθυστερήσεων Ρίσκο = f(διαθέσιµης πληροφορίας) Όσο λιγότερη και χαµηλότερης ποιότητας πληροφορία έχουµε, τόσο µεγαλύτερο το ρίσκο U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 10

Associated Risks Kinds of Risks: Requirements avoid the big danger, i.e. build the wrong system (the one that does not satisfy customers Technological the selected technology will work? Will the various pieces fit together? Skill will I get the staff and expertise I need? Political are there political forces that can get in the way and seriously affect the project? U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 11 Πληροφοριακά Συστήµατα και.. Ηθική (επιπτώσεις πληροφοριακών συστηµάτων) Τα αποτελέσµατα της εγκατάστασης ενός ATM έξω από ένα σουπερµάρκετ: Οµάδα Ταµίες Τραπεζών Πελάτες Τραπεζών Πελάτες Σουπερµάρκετ Μέτοχοι Τράπεζας Μέτοχοι Σουπερµάρκετ Κάτοικοι περιοχής Αποτέλεσµα εγκατάστασης ATM Απώλεια θέσεων εργασίας Καλύτερη εξυπηρέτηση Χειρότερη εξυπηρέτηση (συµφόρηση πάρκινγ) Αύξηση µερίσµατος Αύξηση µερίσµατος (λόγω του ATM ψωνίζουν επίσης) Αύξησηρύπανσης, κυκλοφορίας Ένα πληροφοριακό σύστηµα µπορεί να επηρεάσει τη ζωή πολλών ανθρώπων U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 12

What is a (Software Development) Methodology? What is a (Software Development) Methodology? Stakeholders Methodology Modeling Language and Tools Defines activities and organizational procedures used in software production and maintenance A process model (methodology): states an order of carrying out activities specifies what development artefacts are to be delivered when assigns activities and artefacts to developers offers criteria for monitoring a project s progress, for measuring the outcomes, and for planning future projects Is not susceptible to standardisation U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 14

The fundamental 4-phase model The fundamental 4-phase model (planning, analysis, design, implementation) In every project and in every development methodology we can identify some fundamental phases Each phase consists of steps, rely on techniques, and produces deliverables Different methodologies specify different order between these they specify how exactly we will work. U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 16

The fundamental 4-phase model (planning, analysis, design, implementation) Process Product Project Plan System Proposal System Specification New System and Maintenance Plan U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 17 Why and how the IS should be built Two steps 1. At project initiation, the system s value to the organization is identified how it will lower costs or increase benefits? A system request describes in brief the business need, and it explains how a system that supports the need will create business value. The IS department works together with the person or department that generated the request (called project sponsor) to conduct a feasibility analysis which examines key aspects of the proposed project: technical feasibility (can we build it?) economical feasibility (will offer business value?) organizational feasibility (if we build it, will it be used?) The system request and feasibility study an approval committee (or steering committee) which decides whether the project should be undertaken. 2. Once the project is approved it enter into project management the project manager creates a workplan, staffs the project and monitors and controls the progress. Deliverable: project plan U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 18

Its objective is to answer the questions: who will use the system what the system will do where and when it will be used Steps 1. strategy. of the current system and its problems and ways to design a new system 2. Requirements Gathering (through interviews, questionnaires). The concept of the new system will then used to describe how the business will operate with the new system 3. The analyses, system concept and models are then combined into one document called system proposal, which is then given to key person in order to decide whether the project should be continued U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 19 How the system will operate in terms of hardware, software and network infrastructure, the UI, forms and reports, databases, files, etc Steps: 1. Strategy. Developed by company itself or outsourced to another firm, or buy an existing software package 2. Architecture : hardware, software and network infrastructure, the UI, forms and reports, databases, files, etc 3. Database and file specifications: define exactly what data will be stored and where 4. Program design: programs that need to be written and what each will do. Outcome: System Specification that is given to the programming team for implementation U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 20

Commonly, this is the longest and most expensive part of the process. Steps 1. Construction 2. Installation: The new system replaces the existing (completely, in parallel, phased conversion strategy), training plan. 3. Support Plan: formal and informal post-implementation review, as well as a systematic way for identifying changed needed for the system U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 21 The same phases with different names and notations planning/testing Business System Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 22

Lifecycle phases Business System Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 23 Business (or Requirements ) Business determine and specify the customer requirements functional and non-functional requirements System Integration and Deployment Operation and Maintenance By UML: use case diagrams class diagrams U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 24

System Business System architectural design detailed design Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 25 Business System coding round-trip engineering Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 26

Integration and Deployment Business System Integration and Deployment Operation and Maintenance Module integration can take more time and effort than any of the earlier lifecycle phases, including implementation `The whole is more than the sum of the parts (Aristotle) Deployment must be carefully managed and allow, if at all possible, fallback to the old solution, if problems encountered U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 27 Operation and Maintenance Business System Integration and Deployment Operation and Maintenance Operation signifies change over the existing business solution, whether in software or not Maintenance is not only an inherent part of the software lifecycle - it accounts for most of it as far as IT personnel time and effort is concerned Housekeeping Adaptive maintenance Perfective maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 28

Activities Spanning the Lifecycle Business System Project planning Metrics Testing Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 29 Project Business System If you can t plan it, you can t do it Activity of estimating the project s deliverables, costs, time, risks, milestones, and resource requirements Includes the selection of development methods, processes, tools, standards, team organization A moving target Typical constraints are time and money Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 30

Metrics Business System Measuring development time and effort Without measuring the past, the organization is not able to plan accurately for the future Metrics are usually discusses in the context of software quality and complexity Equally important application of metrics is measuring the development models (development products) at different phases of the lifecycle => to access the effectiveness of the process and to improve the quality of work at various lifecycle phases Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 31 So, What is a methodology? How the previous phases relate to methodologies? U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 32

What is a methodology? How the previous phases relate to methodologies? Business System How exactly we will work? How many steps? In what order? What deliverables and when? Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 33 Methodologies (or Development Models, or Lifecycle models) Business They tell us how exactly we will work System Define an approach to software production Have an associated process Integration and Deployment Operation and Maintenance U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 34

Methodologies Categorizing Methodologies no-methodology (code-and-fix) structured design Waterfall, Parallel evolutionary / rapid application development (RAD ) Phased, Prototyping, Throwaway prototyping RUP (Rational Unified Process) Agile Development XP (extreme Programming) By reuse Others: Transformational MDA (Model Driven Architecture) U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 36

Structured Methodologies The Waterfall model Characteristics linear sequence of phases long reports Βασικές αρχές µοντέλου Καταρράκτη: Ακολουθία σαφώς καθορισµένων βηµάτων Κάθε βήµα καταλήγει στην δηµιουργία προϊόντος (έγγραφο ή κώδικας) Κάθε προϊόν αποτελεί τη βάση για το επόµενο βήµα η ορθότητα κάθε προϊόντος µπορεί να ελεγχθεί System U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 37 Structured Methodologies The Waterfall model Πλεονεκτήµατα ιαχωρισµός του έργου σε απλούστερες φάσεις Κάθε φάση παράγει ένα σαφώς καθορισµένο παραδοτέο System Μειονεκτήµατα Στην πράξη οι φάσεις αλληλεπικαλύπτονται Στην πράξη το µοντέλο δεν είναι γραµµικό: συχνά επιστρέφουµε στην προηγούµενη φάση Συχνά, αλλαγές σε κάποιο στάδιο επιβάλλουν την οπισθοχώρηση και πραγµατοποίηση αλλαγών σε πολλά από τα προηγούµενα στάδια Η σχεδίαση πρέπει να ολοκληρωθεί πριν την έναρξη της υλοποίησης Οπελάτης βλέπει τι τελικά αγοράζει πολύ αργά Μακροσκελείς αναφορές που δεν βοηθούν την επικοινωνία U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 38

Structured Methodologies The Parallel model Characteristics it performs a general design for the entire system and then divides the projects into subprojects each of which can be designed and implemented in parallel Advantages reduces the time needed to build a system Disadvantages Integration sometimes the subprojects are not completely independent System E.g. consider a partition to two subprojects: * one with a long design phase, but short implementation phase * one with a short design phase, but long implementation phase U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 39 Evolutionary / Rapid Application Development (RAD) Methodologies Keypoints get some parts of the system very quickly recommend that analysts use special techniques and tools to speed up the whole process CASE tools joint application design (JAD) visual programming language (VBasic) code generators (produce code from design) U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 40

Rapid Application Development (RAD) Methodologies Phased Development system v1 system v2 system v3 Most important & clear features U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 41 Εξελικτικές Μεθοδολογίες και Πρωτότυπα ηµιουργία πρωτοτύπων Στόχος είναι η συνεργασία µε τον πελάτη και η δηµιουργία ενός τελικού συστήµατος ξεκινώντας από µία αρχική περιγραφή. Θα πρέπει να ξεκινά µε πολύ καλά κατανοητές απαιτήσεις. Το σύστηµα αναπτύσσεται προσθέτοντας σταδιακά νέα χαρακτηριστικά Το αρχικό πρωτότυπο θα εξελιχθεί στο τελικό προϊόν Ανάπτυξη Throwaway πρωτοτύπων Στόχοςείναιηκατανόησητωνπροδιαγραφώντουσυστήµατος.. Ξεκινάµετιςλιγότεροκατανοητέςαπαιτήσεις. Το προϊόν πιθανότατα θα δηµιουργηθεί µε διαφορετικό τρόπο (throwaway prototype: διαφηµιστικά/πρόχειροπρωτότυπο) U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 42

Rapid Application Development (RAD) Methodologies Prototyping Characteristics cyclic process prototype is the central element Concurrent phases quick & dirty first prototype System prototype system U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 43 Rapid Application Development (RAD) Methodologies Throwaway prototyping Characteristics prototype is just for making things clear (will not be part of the real system) design prototype E.g. by Vbasic, Web UI,... system U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 44

Rapid Application Development (RAD) Methodologies Πλεονεκτήµατα Αντιµετωπίζει την ασάφεια στις απαιτήσεις Παρέχει τη δυνατότητα στον πελάτη να αλλάξει γνώµη πριν υπογράψει Μείωση χρόνου ανάπτυξης Αρχικά πρωτότυπα χρησιµοποιούνται για εξοικείωση από τους χρήστες Μεγαλύτερη πιθανότητα ανάπτυξης φιλικού προς το χρήστη λογισµικού Ο πελάτης εµπλέκεται στην ανάπτυξη του προϊόντος Αυξανόµενη σταδιακά ικανοποίηση του πελάτη Επικοινωνία χρηστών / οµάδος ανάπτυξης Προβλήµατα Έλλειψη παρατήρησης στη διαδικασία (αδυναµία πρόβλεψης επαναλήψεων) Συστήµατα λιτά δοµηµένα λόγω συχνών αλλαγών Εστίαση στη λειτουργικότητα Λιγότερη έµφαση στις µη λειτουργικές απαιτήσεις Ειδικές ικανότητες µπορεί να απαιτηθούν (π.χ. γλώσσες για rapid prototyping) Υπερβολικός ενθουσιασµός από τον πελάτη. Ενδεχόµενη υποεκτίµηση του χρόνου ανάπτυξης Η δυνατότητα για συνεχείς τροποποιήσεις µειώνουν το βαθµό ικανοποίησης U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 45 Rapid Application Development (RAD) Methodologies Εφαρµογή Για µικρά ή µεσαίου µεγέθους συστήµατα (το αρχικό πρωτότυπο πλησιάζει το τελικό προϊόν) Για τµήµατα µεγάλων συστηµάτων (π.χ. η επαφή χρήσης ενός συστήµατος εναέριας κυκλοφορίας) Για συστήµατα µε µικρό χρόνο ζωής Για συστήµατα όπου υπάρχει αδυναµία έκφρασης των απαιτήσεων από πριν Ακατάλληλη για: - λογισµικό ενσωµατωµένων συστηµάτων - λογισµικό πραγµατικού χρόνου - επιστηµονικό λογισµικό U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 46

Agile Development Methodologies Programming-centric methodologies few rules and practises (easy to follow) aim at eliminating the modelling and documentation overhead emphasise simple and iterative development www.agilealliance.org Examples extreme Programming (XP) Scrum Dynamic Systems Development Method (DSDM) U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 47 Development Models Agile software development Test-driven development Acceptance tests User stories Refactoring Continuous integration Keypoints Individuals and interactions over processes and tools Working software over comprehensive documentation customer collaboration over contract negotiation responsibility to change over following a plan Best known representatives extreme Programming (XP) Aspect Oriented Software Development Feature-driven Development Lean Development U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 48

Agile Development Methodologies extreme Programming (XP) system The 4 core values of XP communication simplicity The KISS principle (Keep It Simple, Stupid) feedback courage Key principles continuous testing simple coding performed by pairs of developers close interactions with end users Testing and efficient coding practices code is tested and placed into an integrative testing environment (every day) Refactoring U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 49 Agile Development Methodologies extreme Programming (XP) Advantages good for small groups avoid overheads of documentation, etc Disadvantages lack of analysis and design documentation may inappropriate for big projects system U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 50

Development Models Spiral Model Project cost Risk analysis Customer evaluation Engineering go, no-go decision Project progress U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 51 Development Models Spiral Model Καθορισµός Στόχων Εναλλακτικών Περιορισµών Σχεδίαση Επόµενης φάσης Εναλλακτικές 1 Περιορισµοί 1 Πλάνο Ανάπτυξης Πλάνο ολοκλήρωσης και ελέγχου Ανάλυση ρίσκου ΕΠΙΣΚΟ- Προϋπολογισµός 1 ΠΗΣΗ Πλάνο Κύκλου Ζωής Απαιτήσεις Ανάλυση ρίσκου Ανάλυση ρίσκου Ανάλυση ρίσκου Πρωτότυπο2 Πρωτότυπο1 Πρωτότυπο3 Αξιολόγηση Εναλλακτικών λύσεων Τελικό Πρωτότυπο Επίλυση ρίσκου Εξοµοιώσεις, µοντέλα, µετρήσεις Αρχική ιδέα Απαιτήσεις από S/W Σχεδίαση Επικύρωση S/W Λεπτοµερής Απαιτήσεων Σχεδίαση Έλεγχος Ελεγχος συστήµατος Ελεγχος Μονάδας Κώδικας Ανάπτυξη και έλεγχος U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 52

Development Models: RAD/phased Rational Unified Process (RUP) Requirements & Business Modeling Management Environment Configuration Management Deployment Start of the process Test Organises projects in 2D terms Horizontal dimension successive phases of each project iteration inception elaboration construction transition Vertical dimension represents 7 software development principles and supporting activities of configuration and change mgmt, project mgmnt, and environment U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 53 Development Models Rational Unified Process (RUP) U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 54

How we Select a Methodology? Selecting the Appropriate Development Methodology No methodology is best for every case Criteria Clarity of User Requirements Familiarity with Technology System Complexity System Reliability e.g. a missile control system Short Time Schedules Schedule Visibility U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 56

Selecting the Appropriate Development Methodology Ability to develop systems with with unclear requirements with Unfamiliar Technology that are Complex that are Reliable with a Short Time Schedule with Schedule Visibility Waterfall Poor Poor Good Good Poor Poor Parallel Poor Poor Good Good Good Poor Phased Good Good Good Good V.Good V. Good Prototyp. V.Good Poor Poor Poor V.Good V. Good Thr. Prot. V.Good V.Good V.Good V.Good Good Good XP V.Good Poor Poor Good V.Good Good U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 57 Process Improvement Models

Process Improvement Models Every organization engaged in software production wants to improve its development process. To improve, the organization has to know the problem of its current process Process Improvement Models Capability Maturity Model (CMM) ISO 9000 family of quality standards U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 59 Process Improvement Models Capability Maturity Model (CMM) Capability Maturity Model (CMM) the stairway to software excellence A popular method for process assessment and improvement is essentially a questionnaire that an IT organization fills in The questionnaire if followed by a verification and attestation process, which assigns the organization to one of the five CMM levels (the higher the better) SEI (Software Engineering Institute), U. of Carnegie Mellon U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 60

Improve process discipline Process Improvement Models Process maturity levels in CMM Level 1 Initial Improve process definition Level 2 Repeatable Improve process control Level 3 Defined Unpredictable and undisciplined process that depends on the current staff. Improve process itself Level 4 Managed Metrics used to control the process. Level 5 Optimizing Both management and engineering processes are codified and followed. Continuous process improvement in place. Repeatable project management; consistent time and effort predictions for similar projects. 5: Continuous quality improving 4: Measurement 3:Method and tools 2:Project mgmt 1: Chaos U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 61 Improve process discipline Process Improvement Models Process maturity levels in CMM Level 1 Initial Improve process definition Level 2 Repeatable Improve process control Level 3 Defined Unpredictable and undisciplined process that depends on the current staff. Improve process itself Level 4 Managed Metrics used to control the process. Both management and engineering processes are codified and followed. Level 5 Optimizing Continuous process improvement in place. Repeatable project management; consistent time and effort predictions for similar projects. Most organizations are at level 1; some at level 2; very few are known to be at level 5 experience shows that it takes years to progress one level up the maturity scale U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 62

Process Improvement Models CMM Level 2 For CMM level 2 an organization must provide positive answers to all these questions (and more) Does the software quality assurance function have a management reporting channel separate from the software development project mgmt? Is there a software configuration control function for each project that involves software development? Is a formal process used in the management review of each software development prior to main contractual commitments? Is a formal procedure used to produce software development schedules? Are formal procedures applied to estimate software development cost? Are statistics on software code and test errors gathered? Does senior management have a mechanism for the regular review of the status of software development projects? Is a mechanism for controlling changes to the software requirements? U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 63 CMM level and some statistics (for a project of 200K lines of code) Organization s CMM Level 1 2 3 Project duration (months) 30 18 15 Project person months 600 153 80 Number of Defects 61 12 7 Median Cost 5.5 M $ 1 M $ 0.5 M$ U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 64

Process Improvement Models ISO 9000 family of quality standards ISO: International Organization for Standardization The ISO standards apply to the quality management and the process to produce a quality product apply to any industry and all types of businesses, including software development The main premise if the process is right then the process outcome (product or service) will also be right but the ISO standards do not enforce specific processes -> the standards provide models of what must be accomplished, not how activities must be performed U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 65 Reading and References Systems and with UML Version 2.0 (2nd edition) by A. Dennis, B. Haley Wixom, D. Tegarden, Wiley, 2005. CHAPTER 1 Requirements and System (2nd edition) by Leszek A. Maciaszek, Addison Wesley, 2005, CHAPTER 1 Shari Lawrence Pfleeger.ΤεχνολογίαΛογισµικού:ΘεωρίακαιΠράξη, 1.Κλειδάριθµος, Αθήνα, 2003, Κεφάλαιο 1,2. Object-Oriented Systems and Using UML (2nd edition) by S. Bennett, S. McRobb, R. Farmer, McGraw Hil, 2002, Chapter 2 U. of Crete, Information Systems and Yannis Tzitzikas, Fall 2005 66