ASU Course Registration System System Analysis Communication Diagram Use Case: Select Courses to Teach.

Slides:



Advertisements
Similar presentations
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Advertisements

Use case tutorial examples.
Use Case & Use Case Diagram
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/20 Interaction Diagrams.
Substitute FAQs SubFinder Overview. FAQs Do I have to have touch-tone service to use SubFinder? No, but you do need a telephone that can be switched from.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
Automating Tasks With Macros
Slide 6C.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
SwE 313 Case Study Registration System.
Activity, Collaboration, and Component Diagrams Philip Liew
Close Registration Brief Description
Collaboration Diagrams. Example Building Collaboration Diagrams.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Interaction Diagrams.
CREATING THE DESIGN: THE LOGICAL VIEW The Class Diagram.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Object-Oriented Analysis and Design
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
The chapter will address the following questions:
BLC Training for Instructors Presented By: Banner Health Learning & Development Team.
CMPT 275 Software Engineering
The Registration Experience Student Registration via Self-Service.
USE Case Model.
REQUIREMENTS CAPTURE 1 ASU Course Registration System User Interface Specifification UI Elements Register for courses Use Case.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Introduction to the WebBoard Terry Dennis. The WebBoard - Our Connection The WebBoard URL is
Introduction to Sequence Diagrams
COMP 211 REQUIREMENTS CAPTURE 1 ASU Course Registration Acceptance Test Plan (Inception Phase)
SOFTWARE ENGINEERING SYSTEM ANALYSIS.
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
Page 1 R Copyright © 1998 by Rational Software Corporation Visual Modeling and the UML.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model Actor.
REQUIREMENTS CAPTURE 1 ASU Course Registration Domain Model.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
Behavioral Modeling: Sequence and Communication Diagrams Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2005 Pearson Education Copyright © 2009 Kannan.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Class Diagrams.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 6: Use-Case Analysis.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model.
Participating in the Participant Pool Participants’ Tutorial Participant Pool Coordinator
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML Presentation was downloaded (and is available for free) from Rational.
Class Scheduler Team Members Bernard Battle Jerad Blake James Knoch Chris Louallen Lenora Pride.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 5: Interaction Diagrams.
Grade Posting Procedures and Timeline SY Quarter One Updated October 13, 2015.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Essentials of Visual Modeling w/ UML Instructor Notes
1 SEQUENCE DIAGRAM EXAMPLE The domain model, showing the navigability of the associations, and the Reserve video (staff scenario) use-case description.
REQUIREMENTS CAPTURE 1 ASU Course Registration Domain Model.
UML Activity Diagrams.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
Academics Management Program Management & Tracking Student Management & Tracking An institution spends a huge amount of time and effort in tracking and.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
How to Create eInvoices in SCP-RR Training Presentation for Supply Chain Platform: Rolls-Royce January 2016.
Create eInvoices Training Presentation for Supply Chain Platform: Rolls-Royce February 2014.
Developing Business Processes Developing an activity diagram of the business processes can provide us with an overall view of the system.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.
UML SEQUENCE AND CLASS DIAGRAMS
UML Activity Diagrams.
Presentation transcript:

ASU Course Registration System System Analysis Communication Diagram Use Case: Select Courses to Teach

ASU COMMUNICATION DIAGRAM: SELECT COURSES TO TEACH (CREATE A SCHEDULE) We create the communication diagram by considering the flow of events for the Create a schedule scenario of the Select courses to teach use case while keeping in mind the best practices for representing interactions. The use case is started by the professor selecting the option Select courses to teach through the ProfessorUI role (Line 1 of the Select courses to teach use case). The ProfessorUI role (Message 1) then displays the interface for selecting courses (Message 2) (Line 2 Select courses to teach use case). After the professor enters the semester and year (Message 3) (Line 3 Select courses to teach use case), the course information for selection needs to be retrieved (Message 4). However, before retrieving the course information, we first need to check if the deadline for making changes for the current semester has passed (Line 1 of the Create a schedule subflow).

ASU COMMUNICATION DIAGRAM: SELECT COURSES TO TEACH (CREATE A SCHEDULE) The question now arises, where do we check the semester deadline information? According to the current design of the domain model (see System Requirements Capture notes), the semester information is kept in the CourseOffering class. Therefore, we need to check an object of this class for the current semester. However, at this point we realize that it is probably not appropriate to keep this information in the CourseOffering class since this means that every CourseOffering object instance will need to hold this information, which introduces a lot of data redundancy! Accordingly, we identify a new class, Semester, into which we place the semester information including the deadline information. (Note that this will cause an update to the domain model for the ASU System as shown on the following slide.)

ASU: DOMAIN MODEL (REVIISION 1)

ASU COMMUNICATION DIAGRAM: SELECT COURSES TO TEACH (CREATE A SCHEDULE) Having made the deadline check (Message 4.1), we now retrieve the course information (Messages 4.2, 4.3 and 4.4) and display it to the professor (Message 5) (Line 2 of the Create a schedule subflow). In the process, we have identified another new class that is needed, Section, since a course offering can have several sections and it is a section that is the unit for teaching assignments. (This also will cause an update to the domain model.) The professor makes his selection (Message 6) and confirms it (Message 7) (Lines 3 and 4 of the Create a schedule subflow). The system creates the teaching schedule (Message 8), which requires that the objects playing both Section (Message 8.1) and Professor (Message 8.2) rolesbe updated since the relationship is bi-directional in the domain model (i.e., a Section object needs to have a reference to the Professor object and a Professor object needs to have a reference to the Section object(s)) (Line 5 of the Create a schedule subflow). Finally, the status of the request is displayed to the professor (Message 9) (Line6 of the Create a schedule subflow) and the use case ends.

ASU COMMUNICATION DIAGRAM: SELECT COURSES TO TEACH (CREATE A SCHEDULE)

ASU: DOMAIN MODEL (REVIISION 2)

ASU COMMUNICATION DIAGRAM: SELECT COURSES TO TEACH (CREATE A SCHEDULE) Further analysis The preceding communication diagram is incorrect in at least one aspect. If we consider the (revised) domain model class diagram, we notice that the course offerings are semester specific, that is, they can be related to only one semester. Thus, before actually retrieving the course information from the objects playing the CourseOffering, Course and Section roles, we first have to establish which are the course offerings for the current semester. From the revised domain model class diagram, we see that a Semester object knows about the CourseOffering objects to which it is related. Thus, we need to add one more interaction to the communication diagram (Message 4.2: Get semester offerings) before actually retrieving the course information. Consequently, we obtain the following revised communication diagram. Note that this communication diagram is still not completely correct, but we will fix it later.

ASU COMMUNICATION DIAGRAM: SELECT COURSES TO TEACH (CREATE A SCHEDULE)

ASU FLOW OF ANALYSIS: SELECT COURSES TO TEACH Scenario of creating a teaching schedule in a given semester 1. The Professor role asks the ProfessorUI role to let the professor maintain his teaching schedule (1). 2. Since the default mode is “Create”, the ProfessorUI role displays the schedule creation form for the professor to select courses to teach (2). 3. The professor specifies the semester and year for which the teaching schedule is to be maintained through the ProfessorUI role (3). 4. The ProfessorUI role asks the SelectCoursesToTeachMgr role to retrieve the available teaching section choices for the professor to choose (4). 5. After checking that the deadline for modification has not passed (4.1), the SelectCoursesToTeachMgr role gets the available teaching section choices from the Semester, Course, CourseOffering and Section roles (4.2, 4.3, 4.4, 4.5). 6. The ProfessorUI role displays the available offering sections (5). 7. The professor selects sections of courses to teach through the ProfessorUI role(6). 8. The professor confirms the schedule through the ProfessorUI role (7). 9. The ProfessorUI role informs the SelectCoursesToTeachMgr role to make corresponding updates (8) on the Section and Professor roles (8.1, 8.2). 10. The ProfessorUI role informs the professor of the status of his request (9).