Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.

Slides:



Advertisements
Similar presentations
Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Advertisements

Unit 2. Software Lifecycle
CS487 Software Engineering Omar Aldawud
Chapter 3 Process Models
Chapter 2 Software Process Models
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Object-oriented Analysis and Design
Rational Worldwide Software Symposium
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 6– Artifacts of the process
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
RUP Fundamentals - Instructor Notes
Chapter 15, Software Life Cycle
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 15, Software Life Cycle.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
The Systems Development Life Cycle
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies Extreme Programming.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
The Rational Unified Process 1 EECS810: Software Engineering.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
The principles of an object oriented software development process Week 04 1.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
TK2023 Object-Oriented Software Engineering
UNIFIED PROCESS.
Unified Process (UP).
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Rational Worldwide Software Symposium
Chapter 2 – Software Processes
Rational Worldwide Software Symposium
Software engineering -1
The Unified/Rational Unified Process (UP/RUP) Defined
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Rational Worldwide Software Symposium
CSCI 360: Software Architecture & Design
Presentation transcript:

Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software development methodology: –A collection of techniques for building models - applied across the software life cycle

Coping with change  Change is inevitable in all large software projects.  Business changes lead to new and changed system requirements  New technologies open up new possibilities for improving implementations  Changing platforms require application changes  Change leads to rework so the costs of change include both rework (e.g. re-analysing requirements) as well as the costs of implementing new functionality 2

Reducing the costs of rework  Change avoidance, where the software process includes activities that can anticipate possible changes before significant rework is required.  For example, a prototype system may be developed to show some key features of the system to customers.  Change tolerance, where the process is designed so that changes can be accommodated at relatively low cost.  This normally involves some form of incremental development. Proposed changes may be implemented in increments that have not yet been developed. If this is impossible, then only a single increment (a small part of the system) may have be altered to incorporate the change. 3

Unified Process Model A process model that was created 1997 to give a framework for Object-oriented Software Engineering Iterative, incremental model to adapt to specific project needs Risk driven development Combining spiral and evolutionary models

Unified Process Model Iterative process: development is divided into short fixed length mini projects (called iterations). Each iteration has requirement analysis, design, implementation and testing. Output of each iteration is tested integrated executed system that grows with each iteration.

Iterations Iterations are timeboxed (i.e. fixed in length) Best iteration length (2-6 weeks)

Advantages of UP Rapid feedback from users and developers –Then adapt to changes in the next iteration (adaptive development) Visible progress Start with high risk Manage complexity by dividing the problem into smaller ones

Stages of the UP

Inception: Customer communication, project vision and planning activities (feasibility study) Elaboration: multiple iterations that refines the requirements and models of the system Construction: develop software code Transition: user testing and installation Production: operation

Inception Stage Perform feasibility study ….. Identify the project vision (vision document) Identify general business requirements Identify project and business risks Produce initial use-case model (10-20%) Plan the elaboration stages Rough architecture of the software (subsystems)

Elaboration Stage An iterative process where refinements are made on system requirements, system design, develop part of the code and test it. Products from these iterations: –Refinements on use-case model –Software architecture description –Executable prototypes –Initial design model –Refinement on project risks and plan

Construction Stage Translate the design into software components Products of this stage are: –Design model –Integrated software components –Test plan and test cases –User documentation

Transition Stage Deliver the software and documentation Get user feedback from Beta tests

Changes in activities according to stages

Important Definitions Artifacts: any work product (e.g. code, database, documents, models, user manual) Milestones are the end-point of a process activity Deliverables are project results delivered to customers

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Artifact Sets in the Unified Process Artifact set: A set of artifacts developed and reviewed as a single entity The Unified Process distinguishes five artifact sets Management set Requirements set Design set Implementation set Deployment set Also called the engineering set.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 Artifact Sets in the Unified Process Requirements Set 1. Vision document 2. Requirements model(s) Design Set 1. Design model(s) 2. Test model 3. Software architecture Implementatio n Set 1. Source code baselines 2. Compile-time files 3. Component executables Deployment Set 1. Integrated pro- duct executable 2. Run-time files 3. User documentation Management Set Planning Artifacts 1 Software Project Management Plan (SPMP) 2. Software Configuration Management Plan (SCMP) 3. Work breakdown structure 4. Business Case 5. Release specifications Operational Artifacts 1. Release descriptions 2. Status assessments 3. Change Management database 4. Deployment documents 5. Environment. Engineering Set

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 Life-cycle Focus on Artifact Sets Each artifact set is the predominant focus in one stage of the unified process. InceptionElaborationConstructionTransition Management Set Requirements Set Design Set Implementation Set Deployment Set

Artifact Set Roadmap InceptionElaborationConstructionTransition Management Set Requirements Set Design Set Deployment Set 1. Vision 2. WBS 3. Schedule 4. Conf. Management 5. Project Agreement 6. Test Plan 1. Analysis Model 1. System Design 2. Interface Specification Implementation Set 1. Source code 2. Test cases 1.Alpha-Test/ Beta-Test 2. User Manual Informal Baseline