Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 12, Software Life Cycle.

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 16, Methodologies: Putting It All Together.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
Chapter 15, Software Life Cycle
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation - Continued.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
Software Life Cycle Sources:
CSC 480 Software Engineering
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining persistent data stores, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 5, Analysis.
Chapter 15: Life Cycle Models
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 UML Sequence Diagrams  Used during system.
Object-oriented Analysis and Design
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 9, Testing.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java Project Management Introduction Using UML, Patterns,
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 5, 2001 Introduction.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Chapter 15, Software Life Cycle
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 15, Software Life Cycle.
Instructor: Peter Clarke
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 8, Rationale Management.
1 Introduction to Software Development Process Lecture - 2.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Chapter 15 GIS Design and Implementation Management Information Systems –Systems Analysis –Systems Design –Systems Implementation.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 1, Introduction to Software Engineering.
A Student Guide to Object-Oriented Development
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
© Bennett, McRobb and Farmer 2005
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Rationale.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Interaction Models (2): Activity Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 15, Software Life Cycle.
Software Engineering – Fall 2015 (CSC 4350/6350) TR. 5:30 pm – 7:15 pm Rao Casturi 09/01/2015
School of Business Administration
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Unified Modeling Language
Presentation transcript:

Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 12, Software Life Cycle

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2 Figure Simple life cycle for software development (UML use case diagram).

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3 Figure Simple life cycle for software development (UML activity diagram).

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4 Figure Another simple life cycle (UML activity diagram).

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5 Figure Entity-centered view of software development (UML class diagram).

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6 Figure Activities and products of the simple life cycle of Figure 12-2 (UML class diagram).

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 7 Figure Model of the software life cycle (UML class diagram). A software life cycle consists of process groups, which in turn consist of processes. A process accomplishes a specific purpose (e.g., requirements, design, installation). A process consists of activities, which are in turn consists of sub-activities or tasks. Tasks represent the smallest piece of work that is relevant to management. Tasks consume resources and produces one or more work products. A project is an instance of a software life cycle.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 8 Figure Process interrelationships in the IEEE 1074 standard (UML activity diagram, adapted from [IEEE Std ]]. As suggested by this picture, dependencies among processes and activities are complex and seldom allow a sequential execution of processes.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9 Figure The waterfall model of software development is an activity-centered view of the software life cycle: Software development activities are performed in sequence (UML activity diagram adapted from [Royse, 1970] using IEEE 1074 names; project management and cross-development processes are omitted).

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 10 Figure Waterfall model for the DOD Standard 2167A (UML activity diagram). Note activities specific to the DOD are used instead of IEEE 1074 activities. Decision points denote reviews: The subsequent activity is initiated only if the review is successful. Preliminary Design Review Critical Design Review (CDR) System Requirements Review System Design Review Software Specification Review System Requirements Analysis Software Requirements Analysis System Design … Preliminary Design Detailed Design Coding & CSU Testing CSC Integration & Testing

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 11 Figure V-Model of software development.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 12 Figure Boehm’s spiral model (Adapted from [Boehm, 1987]). The distance from the origin represents the cost accumulated by the project. The angle from the horizontal represents the type of activity. For example, the project P1 is currently in the risk analysis activity associated with software requirements. The project P2 is in the development of the system product design.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 13 Figure Sawtooth Model with two prototype demonstrations (UML activity diagram). The Client swimlane encloses the activities that are visible to the client, whereas the Developer swimlane encloses the activities that are at a lower abstraction level.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 14 Figure Shark tooth model with two prototype demonstrations and 1 review (UML activity diagram, levels of abstraction are represented with swimlanes). Small teeth reaching the management swimlane are internal reviews involving a prototype demo by the developers for the project manager. Large teeth reaching the client swimlane are prototype demonstrations to the client.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 15 Figure Entity-centered life cycle view of the models of the Unified Process (UML class diagram). the dependencies depict traceability. There are dependencies between all models. Only the dependencies between the use case model and the other models are shown [Jacobson et al., 1999].

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 16 Figure Snapshot of a project issue base (UML object diagram). Issues i1 and i5 have been resolved, whereas all other issues are still open. Dependencies among issues indicate that the resolution of an issue can constraint the alternatives for dependent issues.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 17 Figure The waterfall model as a special case of the issue-based life cycle model (UML object diagram). All issues that belong to the same issue category are contained in the same UML package. In the project status shown in the figure, all the requirements elicitation and analysis issues have been closed; that is, the requirements elicitation and analysis activities have been completed.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 18 Figure In a complex project state, all activities can still have some open issues, which means that all activities need to be managed concurrently.