Presentation is loading. Please wait.

Presentation is loading. Please wait.

TK2023 Object-Oriented Software Engineering

Similar presentations


Presentation on theme: "TK2023 Object-Oriented Software Engineering"— Presentation transcript:

1 TK2023 Object-Oriented Software Engineering
CHAPTER 2 INTRODUCTION TO THE UNIFIED PROCESS

2 INTRODUCTION A software development process describes an approach to building, deploying and possibly maintaining software.

3 Requirements Design Implementation Testing Maintenance

4

5 This course is about object-oriented software development
This course is about object-oriented software development. In particular, it focuses on the Unified Process (UP). UP is a software development process framework which combines commonly accepted best practices into a cohesive and well-documented description. The Rational Unified Process (RUP) is a detailed refinement of the UP. It is a process product developed and maintained by IBM.

6 This chapter is an introduction to the UP which covers the following:
Iterative Development Embracing Change Phases Disciplines

7 ITERATIVE DEVELOPMENT
A very important "best practice" promoted by the UP is the iterative and incremental development approach to software development. In this approach, development is organized into a series of short, fixed-length iterations. The outcome of each iteration is a tested, integrated, and executable system. Each iteration is a "mini-project"; it includes its own requirement analysis, design, implementation and testing activities.

8 The iterative lifecycle is based on the successive enlargement and refinement of a system through multiple iterations, with cyclic feedback and adaptation as core drivers to converge upon a suitable system. The system grows incrementally over time, iteration by iteration.

9 Feedback from Requirements Requirements iteration N leads to Design Design refinement and Time adaptation of the Implementation & Implementation & requirements and Test & Integration Test & Integration design in iteration & More Design & More Design N + 1 . Final Integration Final Integration & System Test & System Test 3 weeks ( for example ) Iterations are fixed in The system grows length , or timeboxed . incrementally .

10 Each iteration tackles a small subset of requirements
Each iteration tackles a small subset of requirements. The output of an iteration is an executable but incomplete system. It is not an experimental or throw-away prototype. It is also not ready to deliver into production but it is a production-grade subset of the final system. Note that it is also possible for an iteration to improve existing software instead of handling new requirements. For example, an iteration may focus on the performance of a subsystem.

11 EMBRACING CHANGE Reality: Change is inevitable in software development. Normally, clients are not clear about what they really want. UP balances the need to agree upon and stabilize a set of requirements with the reality of changing requirements.

12 In the UP, each iteration results in an executable release developed based on a small subset of requirements. Using that release, early feedback can be obtained through users, stakeholders, developers and tests. From the feedback, requirements can be clarified, corrected or even added. Risky and critical design decisions can be resolved early rather than late.

13

14 ITERATION LENGTH The length of an iteration is important. The UP recommends an iteration length of between two and six weeks. Iteration length too short => can be difficult to obtain meaningful throughput and feedback. Iteration length too long => increases complexity and feedback is delayed which defeats the purpose of iterative development. The length for each iteration is fixed. Date slippage is discouraged.

15 ADVANTAGES OF ITERATIVE DEVELOPMENT
Early rather than late mitigation of high risks (technical, requirements, objectives, usability, etc) Early visible progress Early feedback, user engagement, and adaptation, leading to a refined system that more closely meets the real needs of the stakeholders. Managed complexity The learning within an iteration can be methodically used to improve the development process itself, iteration by iteration.

16 PHASES IN UNIFIED PROCESS
Inception Approximate vision, business case, scope, vague estimates This phase is like a feasibility phase. Adequate investigation is done to support a decision to continue or stop Elaboration Refined vision, iterative implementation of the core architecture, resolution of high risks, identification of most requirements and scope, more realistic estimates. In this phase, the core architecture is iteratively implemented, and high risk issues are mitigated.

17 Construction Transition
Iterative implementation of the remaining lower risk and easier elements, and preparation for deployment. Transition Beta tests, deployment.

18 inc. elaboration construction transition iteration phase development cycle release A stable executable subset of the final product. The end of each iteration is a minor release. increment The difference (delta) between the releases of 2 subsequent iterations. final production At this point, the system is released for production use. milestone An iteration end- point when some significant decision or evaluation occurs.

19 DISCIPLINES IN UNIFIED PROCESS
In the UP, an artifact is the general term for any work product: code, Web graphics, database schema, text documents, diagrams, models, etc. In the UP, a discipline is a set of activities (and related artifacts) in one subject area. For example, the Requirements discipline refers to the set of activities and artifacts within requirements analysis.

20 DISCIPLINES AND PHASES
During one iteration, work goes on in most or all disciplines. However, the relative effort across these disciplines changes over time. Sample incep- transi- elaboration construction UP Disciplines tion tion The relative effort in Business Modeling disciplines shifts across the phases. Requirements This example is Design suggestive, not literal. Implementation ... ...

21 DISCIPLINES AND PHASES
A four-week iteration (for example). A mini-project that includes work in most disciplines, ending in a stable executable. Note that although an iteration includes Sample work in most UP Disciplines disciplines, the relative effort and Business Modeling emphasis change Focus over time. Requirements of this book This example is Design suggestive, not literal. Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations


Download ppt "TK2023 Object-Oriented Software Engineering"

Similar presentations


Ads by Google