RPM Recommended Process and Models Applying UML and
- Slides: 28
RPM Recommended Process and Models Applying UML and Patterns; Craig Larman CS 6359 RPM
Iterative Development • Build phase consists of a series of development cycles. “…successive enlargement and refinement of a system through multiple development cycles of analysis, design implementation, and testing”. • Iterative Advantages – “The complexity is never overwhelming. ” – “Early feedback is generated… implementation occurs rapidly for a small subset of the system. ” CS 6359 RPM 2
Macro-level Steps • Plan and Elaborate—planning, defining requirements, building prototypes, and so on. • Build—the construction of the system. • Deploy—the implementation of the system into use. CS 6359 RPM 3
Iterative Development Cycles Plan and Elaborate Development Cycle 1 Refine Plan CS 6359 Build Development Cycle 1 Sync. Artifacts Deploy Development Cycle 1 Analyze Design RPM Construct Test 4
Plan and Elaborate Phase Plan and Elaborate Build Deploy 1. Define Draft Plan 2. Create Preliminary Investigation Report 3. Define Requirements 4. Record Terms In Glossary 5. Implement Prototype 6. Define Use Cases 7. Define Draft Conceptual Model 8. Define Draft System Architecture 9. Refine Plan CS 6359 RPM 5
Build Phase—Analyze Refine Plan Sync. Artifacts Analyze Design Construct Test 1. Define Essential Use Cases 2. Refine Use Case Diagrams 3. Refine Conceptual Model 4. Refine Glossary 5. Define System Sequence Diagrams 6. Define Operation Contracts 7. Define State Diagrams CS 6359 RPM 6
Build Phase—Design Refine Plan Sync. Artifacts Analyze Design Construct Test 1. Define Real Use Cases 2. Define Reports, UI and Storyboards 3. Refine System Architecture 4. Define Interaction Diagrams 5. Define Design Class Diagrams 6. Define Database Schema CS 6359 RPM 7
Use Case • “A use case is a narrative document that describes the sequence of events of an actor (an external agent) using a system to complete a process. ” [Jacobson 92] • “A use case is a relatively large end-toend process description that typically includes many steps or transactions; …” CS 6359 RPM 8
Use Case (cont’d) • “Essential use cases [Constantine 97] are expanded use cases that are expressed in an ideal form that remains relatively free of technology and implementation details; …” • “In contrast, a real use case concretely describes the process in terms of its real current design, committed to specific input and output technologies; …” CS 6359 RPM 9
Use Case Diagram Use Case 1 <<uses>> Use Case 2 <<extends>> Use Case 3 Actor CS 6359 RPM 10
Use Case Template Use Case Name: Actors: Purpose: Overview: Type: Cross-references: Typical Course of Events: Actor Actions 1… System Responses 2… Alternative Courses: CS 6359 RPM 11
Conceptual Model • “A conceptual model illustrates meaningful concepts in a problem domain; it is the most import artifact to create during object-oriented analysis. ” • “A critical quality to appreciate about conceptual model is that it is a representation of real-world things, not of software components” CS 6359 RPM 12
Conceptual Model Example Sales Line Item Records sale of 0. . 1 quantity Concept 1. . * * Contained in 1 Association Store Sale address name date time 1. . * Paid by Attributes CS 6359 Item Captured on Payment POST amount RPM 13
System Sequence Diagrams • “A system sequence diagram shows, for a particular course of events within a use case, the external actors that interact directly with the system, …” • Time progresses vertically downward. • Ordering follows use-case. • System is treated as black-box. CS 6359 RPM 14
System Sequence Diagram Example : System Cashier enter. Item( UPC, quantity ) end. Sale() make. Payment( amount ) response CS 6359 RPM 15
Operation Contracts • “A system operation contract describes changes in the state of the overall system when a system operation is invoked. ” • Name, Responsibilities & Postconditions are most important elements. CS 6359 RPM 16
Operation Contract Template Name: Responsibilities: Type: Cross References: Notes: Exceptions: Output: Pre-conditions: Post-conditions: CS 6359 RPM 17
Analysis Conclusion Analysis Artifact Use Cases Conceptual Model System Sequence Diagrams Contracts CS 6359 Questions Answered What are the domain processes? What are the concepts? What are the system events and operations? What do the system operations do? RPM 18
Interaction Diagrams • “An interaction diagram illustrates the message interactions between instances (and classes) in the class model. ” • Satisfy Operation Contracts • Two Kinds – Collaboration Diagrams – Sequence Diagrams CS 6359 RPM 19
Collaboration Diagram sys. Op() obj 1 : Class. A 2: msg 2() 3: msg 3() 1: msg 1() 2. 1: msg 4() obj 3 : Class. C CS 6359 obj 2 : Class. B obj 4 : Class. D RPM 20
Design Class Diagrams • “A design class diagram illustrates the specifications for software classes and interfaces…” • Classes, associations and attributes • Interfaces (operations & constants) • Methods • Attribute type information • Navigability • Dependencies CS 6359 RPM 21
Design Class Diagram (cont’d) Type Information Three section box for class definition. navigation Sale POST Captures enter. Item() date is. Complete : Bool time make. Line. Item() Methods CS 6359 RPM 22
Design Class Diagram “A How To” 1. Identify all classes participating in the software solution; refer to interactions. 2. Draw a resulting class diagram. 3. Duplicate attributes from associated conceptual model. 4. Add method names; refer to interactions. CS 6359 RPM 23
Design Class Diagram “A How To” (cont’d) 5. Add type information. 6. Add associations needed to support visibility. 7. Add navigation arrows. 8. Add dependency relationship lines to indicate non-attribute visibility. CS 6359 RPM 24
GRASP Patterns General Responsibility Assignment Software Patterns • Expert—assign responsibility to the information expert. • Creator—who creates? • Controller—who handles a system event? • Emphasis on Low Coupling • Emphasis on High Cohesion CS 6359 RPM 25
GRASP Patterns (cont’d) • Polymorphism—when behavior varies by type. • Pure Fabrication—create a new class to support high cohesion and low coupling. • Indirection—to avoid direct coupling. • Law of Demeter—Don’t talk to strangers. CS 6359 RPM 26
In Closing • Iterative Development Cycles Plan and Elaborate Development Cycle 1 Refine Plan CS 6359 Development Cycle 1 Sync. Artifacts Build Deploy Development Cycle 1 Analyze RPM Design Construct Test 27
In Closing • Analysis – – • Use Cases Conceptual Model System Sequence Diagrams System Operation Contracts Design – Interaction Diagrams • • Collaboration Sequence – Design Class Diagram CS 6359 RPM 28
- Uml 1 vs uml 2
- Are geers wheels
- Difference between modal and semi modal
- Explain when rtv and anaerobic sealers are recommended.
- Rad/s
- Sex machine rpm
- Aircraft reliability program manual
- Separately excited dc generator solved problems
- A body with a definite shape that doesn't change is
- Centrifuga isopicnica
- Hall effect sensor arduino rpm
- Mettag triage
- Jumpstart triage tool
- 200 rpm to rad/s
- Calculo de rpm polias
- Rpm
- Recommended alcohol intake per day
- Subjunctive
- Ticket revalidation/reissue is recommended
- Components of accenture delivery suite (ads)?
- Write recommendation of yashpal committee
- Recommended on tripadvisor
- Nsf proposal status recommended
- Japan rice consumption
- Secondary education commission mudaliar commission
- Sae j3061 software
- Rda kalori anak
- Aims of education according to kothari commission
- Recommended approach