Overview Chapter 3 the Unified Process (3.1) the Unified Process
Total Page:16
File Type:pdf, Size:1020Kb
1/11/2008 Overview Slide 2.1 Chapter 3 The Unified Process (3.1) Slide 2.2 z Software life-cycle models z Until recently, three of the most successful object- – Theoretical model oriented methodologies were – Iterative and incremental model – Grady Booch’s method – Code-and-fix life-cycle model – Ivar Jacobson’s Objectory – Waterfall (documentation driven model) – Jim Rumbaugh’s Object Modeling Technique (OMT) – Rapid prototyping life-cycle model – Open-source life-cycle model – Agile processes – Synchronize-and-stabilize life-cycle model – Spiral life-cycle model (risk driven) z Unified process z Capability Maturity Models (CMM) CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 3.2 Iteration and Incrementation within the Object-Oriented Paradigm The Unified Process (contd) Slide 2.3 Slide 2.4 z In 1999, Booch, Jacobson, and Rumbaugh z The Unified Process is a modeling technique published a complete object-oriented analysis and – A model is a set of UML diagrams that represent design methodology that unified their three various aspppects of the software product we want to separate methodologies develop – Original name: Rational Unified Process (RUP) – Next name: Unified Software Development Process z UML stands for unified modeling language (1997 (USDP) by three Amigos) – Name used today: Unified Process (for brevity) – Graphically represent (model) the target software product CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 1 1/11/2008 Iteration and Incrementation within the Object-Oriented Paradigm (contd) Slide 2.5 3.10 The Phases of the Unified ProcessSlide 2.6 z The object-oriented paradigm is iterative and z The increments are identified as phases incremental in nature – There is no alternative ttoo repeated iteration and incrementation until the UML diagrams are satisfactory CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue Figure 3.1 Requirements Workflow Slide 2.7 Requirements Pyramid Slide 2.8 z From Chapters 1 and 2 of the book “Requirement Management Using IBM Rational RequisitePro” – Online simplified version » http://www.ibm.com/developerworks/rational/library/04/r-3217/ z Definitions – Requirement – a condition or capability to which a system must conform » Capability – the needs of customers » Condition – constraints – Stakeholder – someone who is affected by the system that is being developed » Customer » User – A travel agency website CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 2 1/11/2008 Requirements Pyramid Slide 2.9 Requirements Pyramid Slide 2.10 z Need z Supplementary requirement – a requirement from a stakeholder – Other requirement (usually nonfunctional) that cannot – Usually 5-15 high level needs be captured in use cases » “Data should be persistent” » “System should use Oracle 9i” z Feature z Test case – a service provided by the system, usually formulated by – A specification of test inputs, execution conditions, and a business analyst; a purpose of a feature is to fulfill a expected output need z Scenario » “System should use a relational database” – A specific sequence of actions; a path through a use z Use cases case; an instance of the use case – a description of system behavior in terms of sequences z Vision statement of actions – Needs and features CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue Traceability Slide 2.11 RequisitePro Slide 2.12 z Everything z A CASE tool z Nothing more – Integrated with z Impact word » Text-based – Management of traceability CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 3 1/11/2008 Use Cases Slide 2.13 Uses Cases Slide 2.14 z Goals of use cases z Format – To facilitate agreement between developers, customers, – Brief description and users about the syy(stem (contract ) – Flow of events – A basis for use-case realizations » Basic flow – An input for test cases » Alternative flow 1 » Alternative flow 2 – Special requirements – Preconditions – PtPost-conditions – Extension points – Context diagram – Activity diagram CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue Use Cases Slide 2.15 Analysis and Design Workflow (Rational ROSE)Slide 2.16 z Example (the basic flow of the “place an order” z ROSE= Rational Object Oriented Software Engineering use case in an online bookstore project) z Used for object-oriented – B1 User enters web site address in the browser. System displays login page. analysis, modeling, design, and – B2 User enters an email address and a password. System confirms correct login, presents main page, and prompts for a search string. construction. – B3 User enters search string – partial name of a book. System returns all books z A set of visual modeling matching search criteria. components. – B4 User selects a book. System presents detailed information about a book. – B5 User adds the book to a shopping cart. Shopping cart contents is presented to the user. – B6 User selects "proceed to checkout" option. System asks for confirmation of a shipping address . – B7 User confirms shipping address. System presents shipping options. – … z Example (alternative flows) – Unregistered user – … – Invalid credit card CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 4 1/11/2008 Diagrams in Rational Rose Slide 2.17 Use Case Diagram Slide 2.18 z Structural Diagram z Actor – Class Diagram – Component Diagram – Deployment Diagram z Behavioral Diagram – Use-Case Diagram – Interaction Diagram » Sequential Diagram » Collaboration Diagram – State Diagram – Activity Diagram CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue Activity Diagrams Slide 2.19 Class Diagrams Slide 2.20 CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 5 1/11/2008 Sequence Diagrams Slide 2.21 Test Workflow Slide 2.22 z From Use Cases to Test Cases (functional testing) – Scenarios Infinite loops – 2 times CS510 Software Engineering at Purdue Explosion – exclude CS510unreasonable Software Engineering atcombination Purdue From Scenarios To Test Cases Slide 2.23 Step 1. Identify Variables Slide 2.24 z Identify variables for each use case step z Example – B2 User enters an email address and a password. System confirms z Identify significantly different options for each correct login, presents main page, and prompts for a search string. variable » Email and password z Combine options to be tested into test cases – B3 User enters search string – partial name of a book. System returns all books matching search criteria. z Assign values to variables » Search string – B4 User selects a book. System presents detailed information about a book. » Book selection …… CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 6 1/11/2008 Step 2. Identify Options Slide 2.25 Option Examples Slide 2.26 Step Variable Options to be tested z Options are “significantly different” B1 Website Actual URL One more Min Max – Trigger different flow than Very long Invalid (no B2 Email Regular Blank allowed (1 allowed (50 allowed (51 (257 char) @ sign) char) char) » Vaadlid vs . inva adusedslid user ids char) One more – Trigger different error messages Min Max Too short than Very long B2 Password Regular Blank allowed (6 allowed (10 (5 char) allowed (11 (257 char) » “Email too long” vs. “Invalid email address” char) char) char) One more – Trigger different UIs Min Max Search than B3 Regular Blank allowed (1 allowed » Credit card vs. Gift card string allowed char) (300 char) (301 char) – Trigger different business rules First Last B4 Selection » Overnight shipping <6pm and >6pm selection selection Add to Action B5 shopping – Boundary values selection cart Action Proceed to … … B6 selection checkout Confirm the Shipping B7 address on address file Shipping B8 5 days 3 days 2 days Overnight CS510 Software Engineering at Purdue method CS510 Software Engineering at Purdue Step 3. Combine Options Into Test CasesSlide 2.27 Step 3. Combine Options Into Test CasesSlide 2.28 CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 7 1/11/2008 Step 4. Assign Values to Variables (T1)Slide 2.29 Rational Robot and Test Manager Slide 2.30 Variable or Expected Step number Value Actual result Pass/Fail Comments selection result z Robot www.amazon. B1 Website Logon Screen com – GUI scripts for functional testing jsmith@hotmai B2 Email lcoml.com – Virtual users (VU) sessions for performance testing B2 Password Johnsm Main Screen z Test Manager B3 Search string “Rational” List of books B4 Book selection First selection Book details – Scripts play back. Action Add to B5 Cart contents selection shopping cart Action Proceed to Prompt for B6 selection checkout address Shipping Confirm the Prompt for B7 address address on file shipping Shipping Prompt for B8 5 days method payment Confirm the Payment Prompt for B9 credit card on method confirmation file Action B10 Place an order Order number selection CS510 Software Engineering at Purdue CS510 Software Engineering at Purdue 3.12 Improving the Software Process (OOSE C3)Slide 2.31 What is the CMM (I)?... Slide 2.32 z The fundamental problem with software – The software process is badly managed z Software process improvement initiatives “The CMM is a 5-level model where each – Capability maturity model (CMM) by Software maturity level is “a well-defined evolutionary Engineering Institute (SEI) plateau on the path towards becoming a mature – ISO 9000-series software organisation”.” – ISO/IEC 15504 SEI SEI CMM CS510 Software