1 Sub-Phase Low Level Design (cont). Janice Regan, 2008 2 Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces.

Slides:



Advertisements
Similar presentations
Jump to Contents Instructor Tutorial essignments.com Paperless assignment submission system.
Advertisements

MY NCBI (module 4.5).
Farm Service Agency Lender’s training for Electronic Submission of Guarantee Fees Implementation Date: September 23, 2009.
Library Online Catalog Tutorial Pentagon Library Last Updated March 2008.
Use Case - Example University library system requirements
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Systems Analysis and Design in a Changing World, Fourth Edition
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.
Robustness Analysis Dr. Neal CIS 480. Outline What is robustness analysis? Key roles in robustness analysis Object types found in discovery Diagramming.
Your library record in TAFECAT Using the My Account function in the library catalogue to manage your loans.
Computer Science CS425/CS6258/23/20011 The Architecting Phase Class diagrams are further refined in this phase of development Object diagrams are created.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Library & Information Services Using the Library Catalogue Part 2: My Account Reserving Items Reading lists Rachael Hartiss 2008.
Teamwork Know each other Compete Leadership Strengths and Weaknesses
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Object-Oriented Analysis and Design
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
CMPT 275 Software Engineering
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
TUT LIS IT & SYTEMS 1Compiled by Nokuphiwa. TUT LIS IT & SYTEMS MILLENNIUM ILL TRAINING TUT LIS decided to use Millennium ILL for the purposes of circulating.
How to Check Books In and Out (as well as other library materials) A tutorial for librarians who use Agent VERSO.
CMPT 275 Software Engineering
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Chapter 4 User Experience Model. User experience model (Ux) Visual specification of the user interface Visual specification of the user interface Both.
South Dakota Library Network ALEPH v21 Staff User Upgrade Information Circulation and ILL South Dakota Library Network 1200 University, Unit 9672 Spearfish,
Chapter 3 Object-Oriented Analysis. Requirements Analysis A requirement is a feature of the system Requirements analysis seeks to assess and specify the.
Introduction to Sequence Diagrams
CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Message Analysis Table.
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
Chapter 5 Class Design. The Deliverables of the Class Design Process Class diagrams are further refined in this phase of development Object diagrams are.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
South Dakota Library Network Remote ILL Workflow Creating Borrowing Requests South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Submitted By: Memon Khurshed (Group Leader) Hamed Abdollahpur
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
Plan Design Analyze Develop Test Implement Maintain Systems Development Life Cycle eBookSharing.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis activity Janice Regan,
1 אירוע אמאזון. 2 שלבי הפיתוח עם דיאגרמות UML 3 אמאזון תרשים תוכן.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
DESIGN PART 2: OBJECT-LEVEL SEQUENCE DIAGRAMS WITH AN EXAMPLE OF COMPOSITION BTS430 Systems Analysis and Design using UML.
1 CMPT 275 High Level Design Phase Modularization.
South Dakota Library Network ALEPH Integrated ILL (ILL2) Borrowing South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD
1 High Level Design Phase Refining Use Cases User Interface Information.
Phase 6 Start: Saturday14 April End: Saturday 21 April
How to Receive a Reserve Item Part 4 of the Series on Reserves Using Agent VERSO.
UML - Development Process 1 Software Development Process Using UML.
Sub-Phase Low Level Design (cont)
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
ILL Inter-Library Loan. Inter-Library Loan Overview The ILL module is for the management of Inter-library loans received and sent by Your library.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 6: Restaurant.
Chavez, Melesan Karen De Luna, Lin Detera, Patrick Kevin Martinez, Jellene Joy Dental Clinic Database System Functional Requirements.
Integrated ISO ILL for staff users Borrowing requests – part two Yoel Kortick 2007.
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Address Book Example
Interactions.
UML Overview Part 2.
Unified Modeling Language
Week 12: Activity & Sequence Diagrams
CS 8532: Advanced Software Engineering
Engineering Quality Software
Presentation transcript:

1 Sub-Phase Low Level Design (cont)

Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistant Subsystem User Manual architecture LOW LEVEL DESIGN Classes Interaction Diagrams Class Interfaces Implementation

Janice Regan, Low Level Design  Objective of Low Level Design  Refine representation (models) of software system to a level of detail that will allow resulting representation to be used as a blueprint for implementation and unit test planning phases

Janice Regan, Interaction Diagrams  Model dynamic aspects of the software system by specifying the interaction among objects to produce a particular behaviour  For each use case  Show object interaction  Show how software system realizes a use case  Help identify object operations (methods)

Janice Regan, Interaction Diagrams  Two types of interaction diagrams are defined in UML  Collaboration diagram: emphasizes the structural organization of objects that send and receive messages  Sequence diagram: emphasizes the time ordering of the messages passed between objects  However, both diagrams are not computationally complete; they are not algorithms! -> They do not define the behaviour

Janice Regan, Modeling at different phases Requirements analysis High Level Design Low Level Design DynamicStatic 1. System Context Diagram 3. Class Diagram 2. Informal Scenarios 4. Use cases 5. Use cases Diagrams 7. Architecture (from 1,4,5,6) 6. Scenarios 9. Refined use cases (from 4,7, 8) 8. Analyze data persistence 10. Sequence Diagrams (from 9) 13. Refined Sequence Diagrams and collaboration diagrams (from 12) 12. Refined use cases and scenarios (from 9) 11. Refined Class Diagram including attributes and methods (from 3, 12, 13)

Janice Regan, UML Notational Elements of Collaboration Diagram Object [Condition] response := method(parameters) object : Class initiating actor Message Link # Sequence of message : Class

Janice Regan, Creating Collaboration Diagrams  Summary:  1 scenario (use case) per collaboration diagram  Identify participating classes (objects)  Determine messages to be sent (+ parameters) to carry out the behaviour by reading scenario/use case  Look at 1 scenario per use case  What changes for other scenarios?  Introduce solution for object persistence, if needed

Janice Regan, Refined Scenario #1  Use Case Name: CheckInResource (#7)  Scenario: Student Patron Paul returns a book on time.  Preconditions:  Librarian Eva has successfully gained access to the LMS.  LMS is ready to go (DB has been populated, network is up, and LMS has been initialized).  LMS screen with Check menu is displayed.

Janice Regan, Refined Scenario #1  Use Case Name: CheckInResource (#7)  Scenario: Student Patron Paul returns a book on time.  Preconditions:  Librarian Eva has successfully gained access to the LMS.  LMS is ready to go (DB has been populated, network is up, and LMS has been initialized).  LMS screen with Check menu is displayed.

Janice Regan, Refined Scenario #1  Main flow of events: 1. Student Patron Paul comes up to the librarian counter to return the Quantum Physics book he borrowed last week. 2. Eva the Librarian chooses CheckInResource option from the LMS screen by selecting the In command option under the Check menu. 3. A window representing a Check In Form is then displayed.

Janice Regan, Refined Scenario #1  Main flow of events (cont): 4. Eva takes the book Paul is handing to her and types in its Dewey call number in the appropriate text field then presses the "Accept" button to commit the entry. 5. The Dewey call number for the book was entered successfully and it was a valid call number, information about the Quantum Physics book and the borrowing patron is retrieved from the Database and displayed on the Check In screen.

Janice Regan, Refined Scenario #1  Main flow of events (cont):  Since Student Patron Paul is returning the Quantum Physics book before its due date, there is no overdue charge. Also, no one is currently requesting the Quantum Physics book.  LMS completes the check-in process by  changing the status of the book to “reshelve“,  canceling its “due date” and “date of loan“,  updating its “date of return“ to today,  Clearing the borrowing patron ID,  removing the Quantum Physics book from the Student Patron Paul’s list of borrowed resources.

Janice Regan, Refined Scenario #1  Main flow of events (cont):  LMS updates the records for the Quantum Physics book and the borrowing Student Patron Paul in the Database.  LMS updates the screen showing the newly checked-in book along with the updated dates.  Eva verifies by looking at the screen that the book has been checked in properly, then presses the “Done” button.

Janice Regan, Refined Scenarios #1  Postconditions:  Student Patron Paul’s record is now showing that he is no longer borrowing the Quantum Physics book. The Quantum Physics book has now a status of “reshelve”, today's date as a “date of return”, “date of loan” has been cleared and so has the “due date”.

Janice Regan, checkIn( Dewey call # ) Sequence Diagram - 1 Librarian : LibrarySystem QPBook : Book Paul : Student QPBook := getResource( call # ) db : LibraryDB paul := getPatron( patronId ) QPBook := create( book, db ) paul := create ( student, db ) name := getName( ) expiryDate := getExpiryDate( ) patronId := getBorrowingPatronId( ) title := getTitle( ) author := getAuthor( ) loanDate := getLoanDate( ) dueDate := getDueDate( ) status := getStatus( )

Janice Regan, Sequence Diagram – 2 A Librarian ok := update( QPBook ) checkIn( call # ) ok := checkIn( date ) update( paul ) Remove QPBook from “list of borrowed resources” : LibrarySystem db : LibraryDB QPBook : Book Paul : Student update( ok ) checkIn (ok ) Display(startpage) display( checkInPage ) Press done confirm Set status = “reshelve” Set “loan date” = 0 Set “due date” = 0 Set “return date” = “today” (date) Set “borrowing patron id” = 0

Janice Regan, loanDate := getLoanDate( ) 1.12 [flag = done] checkIn( call # ) 1.9. dueDate := getDueDate( ) [flag = done] ok := checkIn( date ) status := getStatus( ) 1. checkIn( Dewey call # ) Collaboration Diagram – A Librarian : LibrarySystem QPBook : Book Paul : Student 1.1. QPBook := getResource( call # ) db : LibraryDB 1.3. paul := getPatron( patronId ) QPBook := create ( book, db ) paul := create( student, db ) 1.4. name := getName( ) 1.5. expiryDate := getExpiryDate( ) 1.2. patronId := getBorrowingPatronId( ) 1.6 title := getTitle( ) 1.7 author := getAuthor( ) 2. verify(checkInpage) ok := update( paul ) ok := update( QPBook ) 1.13 display(checkInpage) 2.1 display(startpage)

Janice Regan, Sequence Diagram – 2 B Librarian ok := update( QPBook ) ok := checkIn( call # ) ok := update( paul ) Set status = “reshelve” Set “loan date” = 0 Set “due date” = 0 Set “return date” = “today” (date) Set “borrowing patron id” = 0 Remove QPBook from “list of borrowed resources” : LibrarySystem db : LibraryDB QPBook : Book Paul : Student [flag = done] ok := checkIn( date ) display( checkInPage ) verify( flag ) Press done or cance l Display(startpage)

Janice Regan, status := getStatus( ) 1.8. loanDate := getLoanDate( ) 1.9. dueDate := getDueDate( ) 2.1. [flag = done] ok := checkIn( date ) 1. checkIn( Dewey call # ) Collaboration Diagram – B Librarian : LibrarySystem QPBook : Book Paul : Student 1.1. QPBook := getResource( call # ) db : LibraryDB 1.3. paul := getPatron( patronId ) QPBook := create ( book, db ) paul := create( student, db ) 1.4. name := getName( ) 1.5. expiryDate := getExpiryDate( ) 1.3 patronId := getBorrowingPatronId( ) 1.6 title := getTitle( ) 1.7 author := getAuthor( ) 1.11 display(checkInpage) 2. verify(checkInpage) ok := update( paul ) ok := update( QPBook ) [flag = done] checkIn( call # ) 2.2 display(startpage)

Janice Regan, Sequence Diagram – 2 C Librarian : LibrarySystem db : LibraryDB ok := update( QPBook ) ok := checkIn( call # ) ok := checkIn( date ) ok := update( paul ) Set status = “reshelve” Set “loan date” = 0 Set “due date” = 0 Set “return date” = “today” (date) Set “borrowing patron id” = 0 Remove QPBook from “list of borrowed resources” QPBook : Book Paul : Student display( checkInPage ) Press done or cance l verify( flag ) Display(startpage)

Janice Regan, loanDate := getLoanDate( ) 2.2 [flag = done] checkIn( call # ) 1.9. dueDate := getDueDate( ) 2.1. [flag = done] ok := checkIn( date ) status := getStatus( ) 1. checkIn( Dewey call # ) Collaboration Diagram – C Librarian : LibrarySystem QPBook : Book Paul : Student 1.1. QPBook := getResource( call # ) db : LibraryDB 1.2. paul := getPatron( patronId ) QPBook := create ( book, db ) paul := create( student, db ) 1.4. name := getName( ) 1.5. expiryDate := getExpiryDate( ) 1.3. patronId := getBorrowingPatronId( ) 1.6 title := getTitle( ) 1.7 author := getAuthor( ) 1.11 display(checkInpage) 2. verify(checkInpage) 2.3 ok := update( paul ) 2.4 ok := update( QPBook ) 2.5 display(startpage)

Janice Regan, Patron and Resource class attributes Patron Name Address Phone # Patron ID Patron Type List of borrowed resources List of requested resources Outstanding fees Resource borrowing limits get ExpiryDate( ) getName( ) checkIn(call#) create(student, db) Resource Title Borrowing Patron’s ID Resource Type Dewey call number Status Due Date Date of Loan Date of Return Daily overdue fee Maximum overdue fee Rewinding fee getBorrowingPatronId( ) get Title( ) getAuthor( ) getLoanDate( ) get DueDate( ) getStatus( ) checkIn(date) create(book, db)

Janice Regan, Discovering more methods  To be sure we have all the methods for a class we need to consider all use cases that involve that class and all the scenarios associate with each of these use cases  Remember that although there is one class diagram for the system, there is at least one collaboration diagram or sequence diagram for each use case.  A collaboration diagram or sequence diagram can contain information for more than one scenario associated with a particular use case.  Usage of discovered methods must be consistent between all use cases and scenarios

Janice Regan, Creating interaction diagrams  Note that either a sequence diagram or a collaboration diagram can be derived directly from your use case and scenarios  It is also possible to translate a collaboration diagram into a sequence diagram or a sequence diagram into a collaboration diagram  The development of interaction diagrams represent an evolution of your model from abstract (class diagram) to more concrete  Need to summarize the addition information back to the class diagram.  Add more detail to the methods and attributes on the class diagram