Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March 2012 1. All Deliverable materials are to be posted into Team Concert. Your email to.

Slides:



Advertisements
Similar presentations
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Advertisements

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use-case Modeling.
Software Testing and Quality Assurance
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
CSCI 639 Topics in Software Engineering Assignment #5 Fall 2008.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
Detail Design: Use-Case Design
Use Case Analysis – continued
CSCI 639 Topics in Software Engineering Assignment #4 Fall 2006.
Object Oriented Analysis and Design Using the UML
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
The BIM Project Execution Planning Procedure
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
UML - Development Process 1 Software Development Process Using UML (2)
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Project Deliverables Version 1: 08/30/2005 Note: This document contains the deliverables for a two semester course. These items WILL change as the courses.
RUP Design RUP Artifacts and Deliverables
Project Deliverables CEN Engineering of Software 2.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Approaching a Problem Where do we start? How do we proceed?
Deliverable #9 – Detail Design Subsystem Design and Realization ALL of your design class model elements must have the package or subsystem they are associated.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Behavioral Modeling Chapter 8.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Class Diagrams.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Detail Design: Use-Case Design Background on Use Case Design Have ‘done’ Architectural Design; You know the major (eleven) precepts of good design.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Deliverable 10. Deliverable #10 Class Design and Implementation #1 due 9 April Executive Summary and Statement of Work Iteration Plan (Updated) for remaining.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Meeting Management/Planning. Today Go over basics of meeting management Introduce key elements of creating a plan.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Project Deliverables CEN Engineering of Software 2.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
Project Deliverables Version 5: 04/12/2005 Note: This document contains the deliverables from the first semester. Do review these, as there are changes.
Homework #8 - Deliverable 5 due: 2 December 1. Exec Summary 2. Revisit Use Cases 3. The Analysis Model Class Diagrams Interaction Diagrams 4. Non-Functional.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Project Deliverables Version 8: 11/23/04 Final Final Version for First Semester.
Project Deliverables Version 9: 04/03/06 Note: This document contains the deliverables for a two semester course. It is a living document and changes every.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.
Project Deliverables Version 1: 08/29/2005 Note: This document contains the deliverables for a two semester course. These items WILL change as the courses.
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
Design Yaodong Bi.
Use Case Analysis – continued
Software Development Process Using UML Recap
Presentation transcript:

Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March All Deliverable materials are to be posted into Team Concert. Your to me, when posted, must contain the path to your materials within Team Concert. 2. This deliverable will be presented in class on a date TBD. 3. Don’t forget to Peer Reviews. You may omit Self-Reviews, if you wish.

Deliverables 1. Executive Summary, as usual. This is a one-pager outlining what is in the deliverable. Bullets may be included 2. Statement of Work – who did what; estimated time expended per individual on the deliverable. This SOW should include your preliminary assessment of the technologies that you plan to use in addition to Team Concert, what features you plan to use them, sources of knowledge of these technologies and overall assessment of your team’s familiarities with these technologies.

Deliverables (continued) 3. Traceability and Major Verification A. Verify that all necessary behaviors cited in the use case narratives have been distributed along the participating classes See use case narratives and interaction diagrams B. Verify that all associations between design elements (classes and subsystems in layers and other components) needed for the use case realizations have been defined, See layer architecture and components therein. C. Verify that all of the attributes needed for the use cases have been defined and found in domain models, glossary, etc.. See class diagrams

Deliverables (continued) D. Refine the Use-Case Realizations (boundary, control, entity classes and subsystems interfaces) from Use-Case Analysis into design model elements E. Ensure application architectural mechanisms (persistence, security, etc.) are incorporated into the use case realizations. Use Case Realizations are captured via software class diagrams and interaction diagrams for various scenarios. A comprehensive statement attesting to the verification / traceability exercises undertaken must be included in this deliverable. (a paragraph or two) I may ask about your procedure during your presentation. Because analysis entities do not necessarily morph cleanly to design components, this may be tough. But try to bridge this chasm between the analysis model and the design realization.

Deliverables 4. Iteration Plan. Carefully constructed. This is an essential part of your deliverable, because it really contains your schedule and your development ‘plan.’ Ensure you have time boxes and equally shared responsibilities for contributions. Be CERTAIN to check each other’s work. Do not just parcel tasks out and batch them up for delivery. Verify!!! 5. Design Sequence diagram (Use Case Design) and (optionally a communications diagram) for the basic course of events of each use case and at least one alternative or exception scenario for each use cases. Do yourselves a favor. Don’t select the easiest alternative path. Also for alternative paths for CRUD considerations, these may not need full expansion. Simple notes may be sufficient. Address those issues that require a good number of object collaborations so that you are certain responsibilities will be met.

Notes on Interaction Diagrams The sequence diagram is to be fully annotated, as shown in lecture slides. You ‘may’ include the communications diagram too This is a design-level sequence diagram, so it should include the entire flow. Where there is a reference to a subsystem, that subsystem represented by its interface will suffice. (lectures upcoming) For packages, however, the public interfaces for each of the key classes in the package must be shown. (No implementation, but clear responsibilities via anticipated signatures are needed.) Don’t forget to include any persistency, security, etc. packages in their appropriate layers. Note that the subsystem interfaces do not require showing the ‘insides’ of the subsystem. The detailed responsibilities will be presented in Deliverable #9. But the responsibilities of the classes within packages (via their individual interfaces) must be shown.

Notes on Iteration Plan Sketch out what you feel will be the number of iterations that will be needed and the features (scenarios) that you will implement in each iteration. Remember! Jump on the scenarios / features that you feel present to your team the MOST RISK! Architecturally-significant use case scenarios have the most risk. Also high risk ones are those that address high-priority non-functional requirements, such as security, persistence, distribution, etc. Then, your most important core functionalities should be second. Map out a plan. Map these to a number of iterations with short duration and stick to the plan. Explicitly task individuals with, perhaps, intermediate review (howgoesit) dates. Include dates, scenarios, and responsible developers, expected outcomes, and room for your iteration assessment - shortcomings (a post mortem). Include span time dates of iteration! Your first iteration (and each subsequent iteration) must be totally understood before you start it and you should have a ‘pretty good idea’ of the specifics of the next one. As you finish the first, roll into the second one (or subsequent iteration) anything ‘not quite right.’ Finalize the next iteration (or any other one impacted by assessment of the first one) it before you continue. Iterate.

Use Case Realizations Static Component (Structural) Class Diagram For each sequence diagram you develop, you are to produce the VOPC (View of Participating Classes) for that sequence diagram. Be certain to include all the associations, dependencies, multiplicities, aggregations, etc. Some of the details of Deliverable #7 that might not have gotten ‘finalized’ (Try to include any clear attributes). Identification of methods that realize responsibilities will be very helpful indeed.) (No algorithms, etc.!)

Use Case Realizations Dynamic Component (Behavioral) Interaction Diagrams (Sequence and Communications). Sequence diagrams are to be fully annotated and should include subsystem interfaces, persistency references, etc. as appropriate. (See previous slides) These should be consistent with your subsystems / packages in your layered architectural design. Be certain to look at past examples of sequence diagrams in the lecture slides.