Object-Oriented Design Lecturer: Raman Ramsin Lecture 2: USDP Overview Department of Computer Engineering 1 Sharif University of Technology Object-Oriented Design – Lecture 2 Software Development Methodology (SDM) A framework for applying software engineering practices with the specific aim of providing the necessary means for developing software-intensive software intensive systems Consisting of two main parts: A sett off modeling d li conventions ti comprising i i a Modeling M d li Language L (syntax and semantics) A Process, which provides guidance as to the order of the activities, specifies what artifacts should be developed using the Modeling Language, directs the tasks of individual developers and the team as a whole, and offers criteria for monitoring g and measuring g a project’s p j products and activities Department of Computer Engineering 2 Sharif University of Technology Object-Oriented Design – Lecture 2 UML, RUP, and USDP Department of Computer Engineering 3 Sharif University of Technology Object-Oriented Design – Lecture 2 Unified Software Development Process (USDP) Also known as Unified Process (UP) First introduced in 1999 A refined, simplified, and non non-proprietary proprietary version of the Rational Unified Process (RUP) UML-Based Use-Case-Driven Architecture-centric Iterative and Incremental Department of Computer Engineering 4 Sharif University of Technology Object-Oriented Design – Lecture 2 Use Cases A Use Case can be defined as a piece of functionality that gives a user a result of value Use cases capture p functional requirements q replace the traditional functional specification Department of Computer Engineering 5 Sharif University of Technology Object-Oriented Design – Lecture 2 Architecture Can be described as the different high-level high level views of the system being built Embodies the most significant static and dynamic y aspects p of the system y Influenced by platform (operating systems, DBMS, etc.) View off the h whole h l design d with h the h important characteristics made more visible by leaving the details aside Department of Computer Engineering 6 Sharif University of Technology Object-Oriented Design – Lecture 2 Unified Software Development Process Software lifecycle is decomposed over time in four sequential phases Inception (Vision Milestone) Define the vision of the product, scope of the project and the business case Elaboration (Architecture Milestone) Refine the definition of the product Define and baseline an architecture Develop a more precise plan for its development and deployment Construction (Initial Operational Capability Milestone) Build the product to the point where it can be delivered to its end-users for the first time Transition (Product Release Milestone) Transition the h product d to the h user community; this h includes l d manufacturing, f delivering, training, supporting and maintaining the product Inception Elaboration Construction Transition Time Vision Department of Computer Engineering Baseline Architecture 7 Initial Capability Product Release Sharif University of Technology Object-Oriented Design – Lecture 2 Phases and Iterations I Inception ti Prelim Iteration El b ti Elaboration Arch Iteration Release Release Department of Computer Engineering C Construction t ti Dev Dev Iteration Iteration Release Release 8 T Transition iti Trans Iteration Release Release Release Release Sharif University of Technology Object-Oriented Design – Lecture 2 Iterations and Workflows Phases Workflows Inception Elaboration Construction Transition Requirements An iteration in the elaboration phase Analysis Design Implementation Test P re lim ina ry Ite ration (s) iter. #1 iter. #2 iter. #n iter. #n+1 ite r. # n +2 iter. #m ite r. #m +1 Iterations Department of Computer Engineering 9 Sharif University of Technology Object-Oriented Design – Lecture 2 Features of the iterative approach Continuous integration Not done in one lump near the delivery date Frequent, executable releases Some internal; some delivered Attack risks through demonstrable progress Progress measured in products, not documentation or engineering i i estimates ti t Department of Computer Engineering 10 Sharif University of Technology Object-Oriented Design – Lecture 2 Risk Profile of an Iterative Development p Process Inception Waterfall El b ti Elaboration Risk Construction Transition Preliminary Iteration Architect. Iteration Architect. Iteration Devel. Iteration Devel. Iteration Devel. Iteration Transition Iteration Transition Iteration Postdeployment Time Department of Computer Engineering 11 Sharif University of Technology Object-Oriented Design – Lecture 2 Use Cases Drive the Iteration Process I Inception ti El b Elaboration ti Iteration 1 Iteration 2 C Construction t ti T Transition iti Iteration 3 “Mini-Waterfall” Process Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release Department of Computer Engineering 12 Sharif University of Technology Object-Oriented Design – Lecture 2 Project Management Activities in each Iteration … Iteration planning Before the iteration begins, the general objectives of the iteration should be established based on Results of previous iterations ( if any) Up-to-date risk assessment for the project Determine the evaluation criteria for this iteration Prepare detailed iteration plan for inclusion in the development plan Include intermediate milestones to monitor progress Include walkthroughs and reviews Department of Computer Engineering 13 Sharif University of Technology Object-Oriented Design – Lecture 2 … Project j Management g Activities in each Iteration Prepare the release description Synchronize code and design models Place products of the iteration in controlled libraries Department of Computer Engineering 14 Sharif University of Technology Object-Oriented Design – Lecture 2 Unified Process Models Use Case Model specified by verified by Models Use Cases and their relationships to users Analysis Model Test Model Refines the use cases and makes an initial allocation of behavior to set of objects Describes the test cases that verify the use cases realized by distributed by Design Model Defines the static structure of the system as subsystems, classes and interfaces and defines the use cases as collaborations of subsystems, classes and interfaces Deployment Model implemented by Defines the physical nodes of computers and the mapping of the components t those to th nodes d Implementation Model Includes components (representing source code) and the mapping of classes to components Department of Computer Engineering 15 Sharif University of Technology Object-Oriented Design – Lecture 2 Workflows and Models Requirements Use Case Model Analysis Design Analysis y Model Design Model Impl. Model Implementation Test Model Test Department of Computer Engineering Depl. Model 16 Sharif University of Technology Object-Oriented Design – Lecture 2 Inception Phase The purpose of Inception is to "get the project off the ground": ground : establishing feasibility - this may involve some technical prototyping to validate technology decisions or proof of concept prototyping to validate business requirements; creating a business case to demonstrate that the project will deliver quantifiable business benefit; capturing p g essential requirements q to help p scope p the system; identifying critical risks. Department of Computer Engineering 17 Sharif University of Technology Object-Oriented Design – Lecture 2 Inception p – Concerns The inception phase is a preparatory stage that attempts to answer the following questions: What is the purpose and objectives of the project? Is it worth the effort? Is the p project j feasible (e.g. ( g technologically, g y, financially, with current personnel)? Should we buy the system, or build it? Will it be developed now, or built from an existing system? What are the estimated costs and risks? Should we proceed with the project? This phase also deals with project planning and project management This Thi includes i l d Gantt G charts h and d plans, l budgets, b d etc. Department of Computer Engineering 18 Sharif University of Technology Object-Oriented Design – Lecture 2 Inception p – Postconditions and Deliverables Department of Computer Engineering 19 Sharif University of Technology Object-Oriented Design – Lecture 2 Inception Timeline An important idea with Inception is that we do not yet know if a project will take place! Often 1 or 2 iterations are required for Inception Therefore, since a project may be rejected, it makes sense that the Inception p phase p should be very short Therefore, if the project gets scrapped, little time ( d money)) would (and ld have h been b wasted t d It is not uncommon for Inception to last a few days to a few weeks, maximum Department of Computer Engineering 20 Sharif University of Technology Object-Oriented Design – Lecture 2 Elaboration Phase The purpose of Inception is to understand the problem, whereas Elaboration explores the solution: create an executable architectural baseline;; refine the risk assessment; define quality attributes (defect discovery rates, acceptable defect densities densities, and so on); capture use cases to 80% of the functional requirements; create a detailed p plan for the construction phase; p ; formulate a bid that includes resources, time, equipment, staff, and cost. Department of Computer Engineering 21 Sharif University of Technology Object-Oriented Design – Lecture 2 Elaboration and the Workflows In the Elaboration phase phase, the focus in each of the core workflows is as follows: requirements - refine system scope and requirements; analysis - establish what to build; design - create a stable architecture; implementation i l t ti - build b ild the th architectural hit t l baseline; b li test - test the architectural baseline. Department of Computer Engineering 22 Sharif University of Technology Object-Oriented Design – Lecture 2 Elaboration - Concerns After Elaboration, project risks are essentially eliminated The Architecture and UI have been approved by customers and managers Technically T h i ll difficult diffi lt software ft components t have h been b implemented, or proof-of-concept code has been created to prove it was possible Cost C t estimates ti t are fi finalized, li d so budgets b d t can be b approved Preliminary user manuals have been created and analyzed Analysis, architecture and design well underway after Elaboration Department of Computer Engineering 23 Sharif University of Technology Object-Oriented Design – Lecture 2 Elaboration – Postconditions and Deliverables Department of Computer Engineering 24 Sharif University of Technology Object-Oriented Design – Lecture 2 Construction Phase The purpose of Construction is to iteratively enhance and evolve the previously created artefacts into the target system: complete all requirements, analysis, and design evolve the architectural baseline generated in Elaboration into the final system. system Department of Computer Engineering 25 Sharif University of Technology Object-Oriented Design – Lecture 2 Construction and the Workflows We can summarize the kind of work undertaken in each workflow during Construction as follows: requirements - uncover any requirements that had been missed; analysis - finish the analysis model; design - finish the design model; implementation - build the Initial Operational Capability; test - test the Initial Operational Capability. Department of Computer Engineering 26 Sharif University of Technology Object-Oriented Design – Lecture 2 Construction – Postconditions and Deliverables Department of Computer Engineering 27 Sharif University of Technology Object-Oriented Design – Lecture 2 Transition Phase The purpose of Transition is the ultimate deployment of the soft software aep produced od ced at the end of Const Construction: ction co duct beta test a conduct and d accepta acceptance ce test, a and d co correct ect de defects; ects; prepare the user sites for the new software; tailor the software to operate at the user sites; modify the software if unforeseen deployment problems arise; create user manuals and other documentation;; provide user consultancy; conduct a post-project review. Department of Computer Engineering 28 Sharif University of Technology Object-Oriented Design – Lecture 2 Transition and the Workflows We can summarize the kind of work undertaken in each workflow during Transition as follows: Requirements - not applicable. Analysis - not applicable. Design - modify the design if problems emerge in testing. Implementation - tailor the software for the user site and correct problems uncovered in testing. testing Test - beta testing and acceptance testing at the user site. Department of Computer Engineering 29 Sharif University of Technology Object-Oriented Design – Lecture 2 Transition – Postconditions and Deliverables Department of Computer Engineering 30 Sharif University of Technology Object-Oriented Design – Lecture 2 R f Reference Jacobson, I., Booch, G. and Rumbaugh, J. The Unified Software Development Process, Boston, MA: AddisonWesley 1999 Wesley, 1999. Arlow, J., Neustadt, I., UML 2 and the Unified Process: P ti l Object-Oriented Practical Obj t O i t d Analysis A l i and d Design D i , 2ndd Ed. Ed Addison-Wesley, 2005. Department of Computer Engineering 31 Sharif University of Technology
© Copyright 2026 Paperzz