180 likes | 358 Views
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.
E N D
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
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
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
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.
Artifact Sets in the Unified Process Requirements Set 1. Vision document 2. Requirements model(s) Engineering Set 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. Design Set 1. Design model(s) 2. Test model 3. Software architecture Implementation 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
Life-cycle Focus on Artifact Sets Each artifact set is the predominant focus in one stage of the unified process. Inception Elaboration Construction Transition Management Set Requirements Set Design Set Implementation Set Deployment Set
Artifact Set Roadmap Informal Baseline Inception Elaboration Construction Transition Management Set 1. Vision 2. WBS 3. Schedule 4. Conf. Management 5. Project Agreement 6. Test Plan Requirements Set 1. Analysis Model Design Set 1. System Design 2. Interface Specification Implementation Set 1. Source code 2. Test cases Deployment Set • Alpha-Test/ Beta-Test • 2. User Manual