Project Deliverables CEN 6017 - Engineering of Software 2.

Slides:



Advertisements
Similar presentations
Chapter 11 Component-Level Design
Advertisements

Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March All Deliverable materials are to be posted into Team Concert. Your to.
1 Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.
© Lethbridge/Laganière 2001 Chapter 9: Architecting and designing software1 Layers Data from IBM-Rational and Craig Larman…
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
CSCI 639 Topics in Software Engineering Assignment #3 Fall 2008.
CSCI 639 Topics in Software Engineering Assignment #5 Fall 2008.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
1 Detail Design Subsystem Design Static Part - VOPC.
Use Case Analysis – continued
CSCI 639 Topics in Software Engineering Assignment #4 Fall 2006.
Object-Oriented Analysis and Design
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
The Design Discipline.
Systems Analysis and Design in a Changing World, Fifth Edition
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.
An Introduction to Software Architecture
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
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Deliverable #9 – Detail Design Subsystem Design and Realization ALL of your design class model elements must have the package or subsystem they are associated.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
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.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
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.
1 CS Tutorial 5 Frid. Oct 23, 2009 Design Document Tutorial.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
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.
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.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Software Engineering II - CEN 6017 Project Deliverables for Spring
Project Deliverables Version 3: 10/25/2005 Note: This document contains the deliverables for a two semester course. This document includes Deliverables.
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.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Project Deliverables Deliverable 1 Posted Version Numbers will reflect added Deliverable numbers.
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.
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
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.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
Unified Modeling Language
The Object Oriented Approach to Design
Component-Level Design
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
An Introduction to Software Architecture
CS 8532: Advanced Software Engineering
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
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Presentation transcript:

Project Deliverables CEN Engineering of Software 2

Second Semester Deliverables (anticipated) Deliverable #6 – User Interface Design and Revisited Analysis Modeling Deliverable #7 – Layered Architectural Design Deliverable #8 – Detailed Design - Iteration Planning and Use Case Realizations – Context Diagrams only. Deliverable #9 – Subsystem Design – Interaction Diagrams (both) and VOPC diagrams. Deliverable #10 –Class Design and Implementation #1; First Functional Demonstration Deliverable #11 – Final Deliverable: Complete Implementation Model and Demonstration including client testing.

Deliverable 6 due: 1/23/2012 Start of class (present on 1/25) Two Key Components 1. Revisiting Analysis Model Use Case Specifications – Revisited Interaction Diagrams – Revisited 2. User Interface

General Details on Deliverable 6 Don’t forget peer reviews. This is important. If you cannot be present on the date of the deliverable, give your review (in a sealed envelope) to a team member or physically drop it off in my office prior to class date/time. Peer reviews are due on the date of this deliverable. I will be accessing your deliverable via RTC. More later. We are updating licenses now. Deliverable is to include: Executive Summary, Statement of Work, (who is tasked with what) Revisited Analysis Model – ‘final form’ Use Case Specs Interaction Diagrams Traceability statement (more later) via Traceability Matrices User Interface Prototype (details ahead)

1. Details on Revisiting Analysis Model (1 of 2) Ensure: Use Case specifications are to have hyperlinks to the Domain Model or to the definitions sections in your Glossary (domain model preferred). These links are to be relative and must be accessible on my computer. Use Case Specifications are to provide a meaningful level of detail to support follow on design. If these specs are too high level and vague, they are unsatisfactory and will not support an effective design; too low level, and they constrain design. All Alternatives and Exceptions are to contain hot links as appropriate, a concluding action (return to Step n or Use-case terminates here), and the complete set of behaviors. There are to be no database references in your use-case specifications unless these refer to an external system.

1. Details on Revisiting Analysis Model (2 of 2) Interaction Diagrams – Sequence. Ensure these are correct. Additional example(s) may be found on my web page. (I have eliminated ambiguous examples and have inserted better examples) The use-case specification text should be inserted down the left margin of your sequence diagrams approximately in line with the objects that realize the behaviors to the right. This effort supports traceability. Ensure control classes are indeed control (orchestrate) and entity classes provide core responsibilities and functionality. (Previous deliverables indicated that there was a real disconnect in understanding what these analysis class behaviors should be. In some cases, entity responsibilities were allocated to control classes.) Boundary classes are not to be expanded into ‘forms’ or ‘windows’ or anything resembling implementation. Remember, these will likely not morph into design classes.

2. User Interface (1 of 2) I should be able to access (run through the templates) the UI within your deliverable submitted to me and ‘execute it’ successfully. (you will demo to the class) You must demo the ability to navigate from screen to screen to pursue some scenario from a use case. (I will select a scenario from your use case specs.) A client should NOT have to hunt and peck and wonder… Recognize that some (a few) of the windows / displays will be / may be hard coded and that demonstrated functionality may not be totally backed up with implemented code or efficient algorithms. But the implied functionality must be clear. This design should contain much more implied functionality than in Deliverable 3.

2. User Interface – (2 of 2) This user interface should demonstrate the vast majority of key items of functionality as found in the use cases. In your classroom presentation, you are to demonstrate how your UI satisfies required functionality. Utility and Usability Principles as cited in the lecture slides and your text will be emphasized in evaluation. Verify your UI by ‘running it’ against your use cases to ensure all functionality is captured.

: Deliverable 7 due: Wed, February 15, 2012 Deliverable 7 will require significant team work. Management Component: Your package to me (please provide a hard copy) should start off with an Executive Summary and a Statement of Work. The Exec Summary is an overview of the contents of the deliverable. Likely a few paragraphs will suffice. The Statement of Work (SOW) should contain the distribution of work and the estimated time in hours that each of you spent on your tasking. The SOW may take a page of text to properly capture. (Do not forget to deliver your Peer Evaluations on the due date via to me). Your designs will be presented. Artifacts Component: The revisited User Interface hard copy should be included in your deliverable. The layered architectural design model described in the slides ahead should capture your software architecture. This is the bulk of the deliverable. Implementation: will follow in subsequent deliverables

Deliverable #7 – Layered Architecture Caveat: If possible, we will include the aforementioned work items in Team Concert. Layers: You are to design a layered architectural prototype to accommodate your application requirements. The named layers are to consist of major subsystems and packages, their contents (other subsystems, packages, etc.). All component dependencies (coupling) are to be indicated via appropriate UML connectors. The main purpose and suggested contents of each of your layers must be spelled out in a text-accompanying document. (see lecture slides for examples) Your choice (decision) of architectural pattern should be fully discussed using the eleven design principles; that is, how does your choice support the design principles enumerated upon in the lecture slides and your textbook. (Word document, please)

Deliverable #7 – Layered Architecture Subsystems / Packages. For each subsystem, you should provide a single sentence citing the purpose of the subsystem (that is, how it ‘coheres’). You should provide a rationale explaining exactly why specific subsystems / packages were placed in their respective layers; that is, a record of your design decisions. (Cohesion) The detailed contents of the subsystems / packages (subsystems, packages, classes and their associations / dependencies) of each design element should be supplied at this time (cohesion). This means that classes, for example, constituting a subsystem or package, must have their properties named and methods (responsibilities) cited – as much as possible. You should NOT INCLUDE the detailed description of properties (that is, float, char, integer, String, etc.) nor the number and types of parameters for the methods nor the algorithms, etc. used by the methods. Only named methods / return items. These models should be realized in SmartDraw or other graphical rendering. Supplement this layered model separately as needed in Word.

Deliverable #7 – Layered Architecture Please note that your architectural modeling (layers and their components, etc.) should be captured as your Logical View - Design Model, Layer. The Layer has subfolders for packages, subsystems, etc., which you will like (I hope). There are mechanisms for, say, a subsystem, to name the subsystem and site the dependencies and interfaces related to this subsystem. Approximately what I’d like your deliverable to look like:

… … … Presentation Layer Application Layer Middleware Layer Name each of your layers (probably four…), subsubsystems, packages, classes, etc. etc. See next page. Subsystem name Package name Subsystem name However many Architectural Layers – the basic idea … additional layers as you decide.

You need to communicate the interface of each component by taking each component (subsystem) and showing its responsibilities showing the interface. (Note the stereotype below) You will need to show the arguments (as much as possible) that are part of the interface signature. Please note that a package has no specific interface and thus the classes in a package needs to explicitly show its public interface. (name interface) > Maintain Database Addrec(xxxx, xx) bool UpdateRec(xx, xx) int DeleteREc(xxxxxx) etc…… Components and Their Interfaces

You may combine this drawing with the previous drawing; otherwise, make this separate. For each component, you should also – as much as possible - include the classes and their properties/methods that are needed to ‘realize’ the interface. Recognize those signatures in the interface must be accommodated by the classes or other components (along with other dependencies ‘they’ might have) in the subsystem. You may also show any dependencies these objects will experience with realizing the interface… (name interface) > Maintain Database Subsystem Addrec(xxxx, xx) bool UpdateRec(xx, xx) int DeleteREc(xxxxxx) etc…… … …… Design Elements in Each Component 1..2 * Add properties, methods, and anything else that will assist in realizing the interface. Showing a dependency between this object (in sub) and an object in another design element (package, here) We are saying that the interface is realized by this combination of objects and dependencies. XXXX Package