UOFS Information System Version 0.9 Yaodong Bi Copyright 2009, Yaodong Bi.

Slides:



Advertisements
Similar presentations
User’s Guide.
Advertisements

JSF Portlet Backing Beans and UI Components Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in.
Architecture. Outline Example Decomposition Style Activity 1.
Individual Bidder Enrollment
Industrial Process Learning Management System (LMS) User Guide How to self register, browse our course catalog, view our training schedule, and purchase.
Chapter 6 Design Model. Design Model (DM) Guiding principles Guiding principles All classes should be specified to the level of detail that they represent.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Internet Sellouts Final Presentation Enterprise Architecture Group.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
SwE 313 Case Study Registration System.
CREATING THE DESIGN: THE LOGICAL VIEW The Class Diagram.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Object-Oriented Analysis and Design
Use Case Analysis – continued
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
CausEffects Page Flows and Screenshots. Page Flow Diagram - Client Login Page Login My Events Add Event Submit Event Info New Event Info Select Auction.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
Teacher Training Your Name. Digital Age What’s inside? 95% of workbook content The complete Test Master CD-ROM content Additional webquests Complete.
Teacher Training Martha Ramírez. Digital Age What’s inside? 95% of workbook content Complete workbook audio Automatic marking Student gradebook Student.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Registration On WebAdvisor 1. Login to Web Advisor 2.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
Object-Oriented System Anaysis and Design
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
IEEE-SA Attendance Tracking Tool Project Wrap Up for 802 Implementation Dallas – November 2008.
Extending Vista The PowerLinks WebServices SDK John Hallett Senior Product Manager WebCT, Inc
Java Petstore : A Case Study Rohit Nambiar July 2005.
MARKETING PORTAL PRESENTED TO YOU BY CABLES TO GO.
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 Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model Actor.
Once you have located the ISBN you would like to purchase, click “Add to Cart”. You will get a pop-up window showing the item you’ve added. If you are.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
UML – Unified Modeling Language Use-Case Diagrams.
Faculty of Computer & Information
1 DMIS COG Administrator Course DMIS Web Services Release 2.3.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
1 אירוע אמאזון. 2 שלבי הפיתוח עם דיאגרמות UML 3 אמאזון תרשים תוכן.
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.
Student Attendance System Requirement Analysis Presentation.
Courselist Project Automated Graduate Student Information System Final project for CS 3354.
UOFS Information System Version 0.9 Yaodong Bi Copyright 2009, Yaodong Bi.
UOFS Information System Three-Tier Architecture (HTML-Servlets-JDBC-PostgreSQL) Version 0.6 Yaodong Bi Copyright 2005, Yaodong Bi.
37 Copyright © 2007, Oracle. All rights reserved. Module 37: Executing Workflow Processes Siebel 8.0 Essentials.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
Customer Views Home Page Your AccountView CartHelp Search for in Top-level list of catalogs, which will include “bikes,” “bike parts,” “clothing,” and.
How I spend my money Software architecture course Mohan, Maxim.
Strictly Business Using “StrictlyFused” to Create an Extensible Knowledge Portal.
1 1 ECHO Extended Services February 15, Agenda Review of Extended Services Policy and Governance ECHO’s Service Domain Model How to…
Franklin Twp. Youth Soccer Online Registration Tutorial.
Essentials of Visual Modeling w/ UML Instructor Notes
1) PHP – Personal Home Page Scripting Language 2) JavaScript.
Scheduler CSE 403 Project SDS Presentation. What is our project? We are building a web application to manage user’s time online User comes to our webpage.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Java Web Development with NetBeans IDE -- Kai Qian Chapter 9 Case Study.
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
CSE 403 Project SDS Presentation
Event loops 17-Jan-19.
Fei Huang Prof. Soon Chun ISI490 Spring 2018
Enterprise Java Beans.
Event loops.
Establish, configure and maintain a website/system
Presentation transcript:

UOFS Information System Version 0.9 Yaodong Bi Copyright 2009, Yaodong Bi

Software Requirements

Requirements - Steps 1. System definition 2. Identify actors 3. Identify use cases for each actor 4. Define business packages 5. Assign use cases to packages

System Definition  UOFS maintains information about courses, students, and faculty.  Registrar’s office decides what courses to be offered and who the instructor is.  A student can register for and drop courses and view the grades  Faculty file students’ grades for the courses he/she teaches.  All users are required to sign in before using the system.  All users can sign up and edit their account info.

Actors and Use Cases Register Course Student Registrar Faculty Actors Delete UserAdd CourseDelete Course Drop Course View Grade Add Grade Log out Edit Acct Sign in Sign up Shared by All Actors

Three Business Packages  User Account Management –Manage (CRUD) user accounts  Catalog Management –Manage the catalog (add/delete courses)  Grade Management –Manage course registration –Manage grades Packages are determined based on the data each package is responsible for.

Catalog Management Grade Management Business Packages & Use Cases Register CourseAdd CourseDelete Course Drop Course View Grade Add Grade User Acct Management Sign in Log out Edit Acct Delete User Sign up

Software Design

Design - Steps 1. Each business package to a Java package 2. Each package has an Entity Manager which takes care of business logic. 3. Each entity manager access its entities from DB 4. Each use case has a dispatcher which takes care of presentation logic/flow 5. Each use case has multiple input/output forms which are the user interface.

Package Name Package Notations Dispatchers EntityManager Entity Classes Boundary Classes  Each package contains  Control Classes  An entity manager: responsible for the business logic  A dispatcher for each use case: responsible for presentation logic of the use case. Dispatcher defines interfaces for boundary classes.  Boundary classes for UI  Entity classes: entities that are CRUDed by the package

User Acct Management User Acct Management Package SignupDispatcher LogoutDispatcher EditAcctDispatcher DeleteUserDispatcher UserAcctManager StudentFacultyUser SigninForm SigninDispatcher SignupFormDeleteUserFormEditAcctForm

Catalog Management Catalog Management Package AddCourseDispatcherDeleteCourseDispatcher CatalogManager Course AddCourseFormDeleteCourseForm

Grade Management Grade Management Package DropCourseDispatcherAddGradeDispatcher ViewGradeDispatcher GradeManager Grade RegisterCourseForm RegisterCourseDispatcher DropCourseForm ViewGradeForm AddCourseForm

Database Design

Class Diagram: Entity Classes StudentFaculty Course User Grade take teach Registrar

Database Tables 16 Account idfnamelname Course idtitleinstructor Grade sidcidgrade unameaddresspasswdtype Note:Uname & passwd of User are for login purpose

Detailed Design

Detailed Design - Steps 1. Define System Start home 2. For each actor 1.Define a user home 2.Map all of its use cases to command buttons 3. For each use case 1.Identify all input forms and display 2.Identify user commands on each form 3.Dispatcher as click listener for command buttons 4.Dispatcher controls the interaction to user 4. Design RPC

System Start Home  Display a welcome message and allows the user to log in or sign up  May display other commands readily available to users before they log in  After a user is successfully logged in, its user home is display.  UofsIS System Start Home contains  Sign in use case  Sign up use case  After a user sign in/sign up, his User Home is displayed  Mapped to SystemHome.java

SystemStartHome System Start Home & Dispatchers Sign up Sign In Catalog Management Grade Management User Acct Management SignupDispatcher.begin() SigninDispatcher.begin() Command Button System Start Home Sign up Sign In Use Cases mapped to Buttons

User Homes  Each user has a User Home  The User Home is displayed after the user logs in  The User Home contains all use cases of the user  Each use case is represented as a command, for example, like a button.  When the user selects a command, clicking the button, the user home calls the dispatcher of the use case to start the use case.  The User Home may also contain context data, for example, a shopping cart.  The User Home may be accessed by all the dispatchers of the use cases of the user.

Student Home Registrar Home Faculty Home User Homes & Use Cases Register CourseAdd Course Delete CourseDrop Course View Grade Add Grade Log out Edit Acct Delete User Edit Acct Log out Command Button Use case Use Cases mapped to Buttons

StudentHome User Home Hierarchy Register Course Drop Course View Grade Log out Edit Acct FacultyHome Add Grade Log out Edit Acct RegistrarHome Delete User Add Course Delete Course Log out Edit Acct UserHome currentUser setUserWelcome()

StudentHome Student Commands & Dispatchers Register Course Drop Course View Grade Log out Edit Acct CatalogManagement GradeManagement RegisterCourseDispathcer.begin() DropCourseDispatcher.begin() ViewGradeDispatcher.begin() UserAcctManagement LogoutDispatcher.begin() EditAcctDispatcher.begin() Command Button When a command button Is clicked, its use case is started

FacultyHome Faculty Commands & Dispatchers Add Grade Log out Edit Acct CatalogManagement GradeManagement AddGradeDispatcher.begin() UserAcctManagement LogoutDispatcher.begin() EditAcctDispatcher.begin() Command Button When a command button Is clicked, its use case is started

RegistrarHome Registrar Commands & Dispatchers Delete User Add Course Delete Course Log out Edit Acct CatalogManagement GradeManagement AddCourseDispatcher.begin() DeleteCourseDispatcher.begin() UserAcctManagement LogoutDispatcher.begin() EditAcctDispatcher.begin() DeleteUserDispatcher.begin() Command Button When a command button Is clicked, its use case is started

User Homes Package UserHomes StudentHome SystemStartupHome RegistrarHome FacultyHome Add Grade Log out Edit Acct CatalogManagement GradeManagement AddGradeDispatcher.begin() UserAcctManagement LogoutDispatcher.begin() EditAcctDispatcher.begin() Only Command buttons of Faculty Home are shown

Forms and Dispatchers Design  Each dispatcher is a singleton with lazy-loading. In other words, there is only one instance of each dispatcher and it is not created until it is requested or needed.  Each form knows what dispatchers it may interact with.  A form contains Event Handlers for all the events that may occur in the form. Every event corresponds to an operation in the dispatcher.  When the event (clicking “submit” button, for example) occurs, the form calls the operation of the dispatcher along with relevant data.  The operation of the dispatcher determines if it should contact the entity manager for services, it “displays” next form.

Dispatchers Design: EditAcct Use Case  When the use case starts, EditAcctForm.java is executed to display the current info (by its dispatcher’s begin())  User enters info and then click the Submit button, the event handler, onClick() in EditAcctForm.java calls EditAcctDispatcher.saveUserInfo(user).  EditAcctDispatcher.saveUserInfo(user) then calls UserAcctManagerProxy.updateUser(user) which in turn use asynchronous communication to pass the request to the UserAcctManager.updateUser(user) on the server  UserAcctManagerProxy had updateUserFailure and updateUserSccess which are called by the asynchronous mechanism based on the returned result from the server. It then relays the result back to the dispatcher.  EditAcctDispatcher displays a notification window with failure/success message  The notification window informs the dispatcher after the user has confirmed with the message.  The dispatcher displays next form, for example, StudentHome.

Dispatchers Design: EditAcct Use Case EditAcctDispatcher UserAcctManagerProxy NotificationWindow EditAcctForm student StudentHome EditAcct begin display submit saveUserInfo(newUser) display updateUser() updateUserSuccess() close confirm RPC details are not displayed here. It handles the click & then call display

31 Web Server UserAcctManager GradeManager CatalogManager UserAcctManagerProxy GradeManagerProxy CatalogManagerProxy Web Browser Client Web Browsers Entity Manager – RPC Implementation UserAcctManagerImpl GradeManagerImpl CatalogManagerImpl Each Proxy is supported by a RPC package which contains routines for asynch comm.

GradeManagement CatalogManagement UserAcctManagement Web Server & DB Server 32 Database Server server8.cs.uofs.edu User Course Grade UserAcctManagerImpl GradeManagerImpl CatalogManagerImpl UserAcctManagerDAL GradeManagerDAL CatalogManagerDAL Web Server Heineken or host PgSQLManager JDBC DAL’s map Java objects to DB tables db DBManager

Other Packages Common Exceptions GUIWidgets NotFoundException OperationButtonNotificationWindowMore Custom Widgets Exceptions shared by all packages Custom widgets shared by all dispatchers Packages and component shared by all packages

Other Packages – Entity Classes Shared UserCourseGrade

The End!