Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.

Slides:



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

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
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)
Software Life Cycles ECE 417/617: Elements of Software Engineering
Iterative Process Planning
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.
Object-oriented Analysis and Design
Fundamentals of Information Systems, Second Edition
Iterative development and The Unified process
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Chapter 6– Artifacts of the process
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Principles of Object Technology Module 1: Principles of Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
UML - Development Process 1 Software Development Process Using UML (2)
Sixteenth Meeting 6:30 – 9:20 pm, Thursday, September 20, 2001 Review - Looking Forward (from Part IV, Chapter 15 of Royce’ book) Final Examination.
RUP Fundamentals - Instructor Notes
Fifteenth Lecture Hour 10:30 – 11:20 am, Sunday, September 16 Tailoring the Process (from Chapter 14 of Royce’ book)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 15, Software Life Cycle.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Chapter 1: Introduction to Systems Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Eleventh Lecture Hour 9:30 – 10:20 am, Saturday, September 16 Software Management Disciplines Iterative Process Planning (from Part III, Chapter 10 of.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Chapter 7 Applying UML and Patterns Craig Larman
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
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)
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Putting it all together.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
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)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Chapter 1: Introduction to Systems Analysis and Design
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Introduction to Software Engineering
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Outline  A Mountaineering Example  Project Context  Goals, Environment, Methods, Tools, Methodology  Methodology Issues  Planning, Design Reuse, Modeling, Process, Control&Monitoring, Redefinition  Methodology Spectrum  Royce’s Methodology based on the unified process  Extreme Programming  Methodological Heuristics  Methodology Summary

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Royce’s Methodology  Demonstration-based approach.  Identify performance issues early and assess intermediate artifacts.  Architecture-first approach.  Focus on critical use cases, architecture decisions, and life-cycle plans before committing resources. Address architecture and plan together.  Iterative life-cycle process.  Each iteration should focus on a specific risk and move the requirements, the architecture, and the planning in a balanced manner.  Component-based development.  Minimize human generated lines of code. Use commercial components.  Change management environment.  Automate change processes to deal with changes introduced by iterations.  Round-trip engineering.  Use automation couple models and source code, decreasing cost of change.  Objective quality control.  Use automated metrics and quality indicators to assess progress.  Visual modeling languages.  Use visual languages to support modeling and documentation.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 How much Planning? (Royce) The project plan is developed iteratively similar to the software.  The Plan is detailed and refined as the stakeholders increase their knowledge in the application and solution domain.  Planning errors are treated like software defects, the earlier they are resolved, the less impact they have on project success.  Work breakdown structure is organized around software life cycle activities.  The first level elements in the work breakdown structure represent the life cycle workflows (i.e., management, requirements, design, implementation, assessment, and deployment).  The second level elements represent phases (i.e., inception, elaboration, construction, and transition).  The third level elements correspond to artifacts that are produced during the phase.  Estimation:  Compute the initial estimate with a model, such as COCOMO II  Refine it with the project manager, developers, and testers.  After each iteration, revise plan and estimate to reflect the performance of the project and to address any planning error.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 How much Reuse? (Royce) Buy versus build decisions are treated as risks that should be confronted early in the life cycle (e.g., in the first iterations of the elaboration phase).  When components are reused in more than one project, the return on investment can be further increased.  Key priniciple: Minimize the amount of human-generated source code  Reuse commercial components  use code generation tools  Use high-level visual and programming languages.  Reuse is treated as a return on investment decision which decreases development time.  Mature components and tools also reduce time to repair defects  Immature components and tools increase quality problems drastically to off-set any economic benefit.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 How much Modeling? (Royce) Modeling artifacts are based on the activities of the Unified Process  Management Set:  Captures the artifacts associated with the planning and monitoring activities.  Ad hoc notations are used to capture the “contracts” among project participants and other stakeholders.  Specific artifacts: Problem statement, software process management plan, configuration management plan, and status descriptions.  Requirements set  Artifacts describing the visionary scenarios, prototypes for user interfaces and the requirements analysis model.  Design set  Description of oftware architecture and interface specifications.  Implementation set  Source code, components and executables needed for testing the system.  Deployment set  All the deliverables negotiated between the project manager and the client.  In general it contains the executable code, the user manual and the administrator manual.  Test artifacts are part of each of the above sets.  The management set includes the test plan and procedures. Test specifications are part of the requirements set.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Artifact Road Map (Royce) The diagram of all artifacts sets generated over the phases of a software system

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 How much Process? (Royce)  Scale (The single most important factor in determining the process).  Smaller Projects (1-10 participants)  Require much less management overhead  Performance depends on technical skills of participant and on the tools.  Focus on the technical artifacts, few milestones, no formal processes.  Larger Projects (more than 10 participants)  Management skills of team leaders becomes primary performance bottleneck.  Well-defined milestones, focus on change management artifacts.  Stakeholder cohesion.  Cooperating set of stakeholders: flexible plan, informal agreements.  Contention among stakeholders: formal agreements, well-defined processes  Process flexibility.  Rigor of the process definition impacted by rigor of contract.  Process maturity.  Organizations with mature processes are easier to manage  Architectural risk.  Demonstrate feasibility of the architecture before full-scale commitment.  Domain experience.  Domain expertise shorten the earlier phases of the life cycle.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 How much Control? (Royce)  Royce’s methodology focuses on three management metrics and four quality metrics.  Management metrics:  Work. How many tasks have been completed compared to the plan?  Costs. How many resources have been consumed compared to the budget?  Team dynamics. How many participants leave the project prematurely and how many new participants are added?  Quality indicators:  Change traffic. How many change requests are issued over time?  Breakage. How much source code is reworked per change?  Rework. How much effort is needed to implement a change?  Mean time between failures. How many defects are discovered per hours of testing?

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Summary of Royce’s Methodology IssuesMethods PlanningEvolutionary WBS Initial model-based estimation of cost and schedule (COCOMO II) Iteration planning, including all stakeholders ModelingCritical use cases and driving requirements first Architecture first, UML, Round-trip engineering ReuseBuy vs. build decisions during elaboration. Focus on mature components ProcessScale, Stakeholder cohesion, Process flexibility, Process maturity, Architectural risk, Domain experience ControlManagement indicators (work, cost, team dynamics) Quality indicators (change traffic, breakage, rework, MTBF)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Backup Slides