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

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.
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
Chapter 6 Design Model. Design Model (DM) Guiding principles Guiding principles All classes should be specified to the level of detail that they represent.
Virtual University
Chapter 14 Requirements and Specifications. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Software Engineering The implementation.
UML Extensions for Web Design Design activities: –Partitioning of objects into tiers such as client, server, etc. –Separating and defining user interfaces.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
SwE 313 Case Study Registration System.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Go to Enter your id and password and click Login button.
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
Object-Oriented Analysis and Design
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Chapter 4 User Experience Model. User experience model (Ux) Visual specification of the user interface Visual specification of the user interface Both.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
Extending Vista The PowerLinks WebServices SDK John Hallett Senior Product Manager WebCT, Inc
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Student registers to the website Student login Student views current courses Register for available courses View the first course item. with order number.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
Advanced Software Engineering Association for Computing Machinery High School Competition System Prof: Masoud Sadjadi Fall 2004 First Deliverable By: Prasad.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
UML – Unified Modeling Language Use-Case Diagrams.
Faculty of Computer & Information
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 אמאזון תרשים תוכן.
University of Southern California Center for Systems and Software Engineering CS577a: Sequence Diagrams and ‘Design Classes’ David Klappholz, Nupul Kukreja.
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.
Course Presentation EEL5881, Fall, 2003 Project: Network Reliability Tests Project: Network Reliability Tests Team Client: Dr. Joseph Berrios Team Client:
Courselist Project Automated Graduate Student Information System Final project for CS 3354.
UOFS Information System Three-Tier Architecture (HTML-Servlets-JDBC-PostgreSQL) Version 0.6 Yaodong Bi Copyright 2005, Yaodong Bi.
Preliminary Design By Phoenix Tech. Dr. Darren Lim Assistant Professor Department of Computer Science Siena College Mrs. Pauline White Visiting Instructor.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
How I spend my money Software architecture course Mohan, Maxim.
1 1 ECHO Extended Services February 15, Agenda Review of Extended Services Policy and Governance ECHO’s Service Domain Model How to…
Project Created by: Aakriti Nakarmi Anthony Aguilar Jennifer Wilson Laurence Wilson Suraj Tamrakar Under the Supervision of Professor.
9 Copyright © 2009, Oracle. All rights reserved. Deploying and Reporting on ETL Jobs.
Flexible Registration for Community Education Dottie Marron Delivery Center Manager Student Administrative Services Consulting Center.
Essentials of Visual Modeling w/ UML Instructor Notes
UOFS Information System Version 0.9 Yaodong Bi Copyright 2009, Yaodong Bi.
UML Activity Diagrams.
Digital Library Syllabus Uploader Will Cameron CSC 8530 Fall 2006 Presentation 1.
Network Monitoring Through Mobile (MOBTOP) Developed By : Akanksha Jain. (102199) Shikha Arora (101319) Team Name: Beans Course: CS532 Guided By:Prof.
Visit amzsoftech.com Click Here. Type the User name Type the password Click Login First time user Click Sign Up.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
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 –
SDJ INFOSOFT PVT. LTD. 2 BROWSERBROWSER JSP JavaBean DB Req Res Application Layer Enterprise server/Data Sources.
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.
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.
UML Diagrams: Class Diagrams The Static Analysis Model
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
Back end Development CS Programming Languages for Web Applications
Enterprise Java Beans.
Event loops.
Back end Development CS Programming Languages for Web Applications
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 UofsIS.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 setUserWelcome() onClick()

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

Dispatchers Design  Each dispatcher is associated with a sequence of input forms and displays of the use case  Each form and display may contain widgets.  Those widgets (e.g., buttons) represents user commands in the use case. For example, a Click event on a button may mean the user wants to submit data on the form.  A dispatcher is also the event handler for the possible events generated from the widgets in the use case.  Each button has a title which is used by the dispatcher to determine which button was clicked  When an event is received, the dispatcher determines what should be the response and display it back to the user.

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, EditAcctDispatcher.onClick() is called  The onClick() determines Submit was the sender of the event (sender.getTitle() = “Submit”), it calls the UserAcctManager to update the user info in DB using RPC  If info successfully updated, onSucess() of the RPC displays notification in a NotificationWindow.java with a Close button.  EditAcctDispatcher is the ClickListerner of the Close button, so when it is clicked, the dispatcher determined its title is CloseOnSuccess, it terminates the use case by displaying the User Home.  If update failed, onFailure() displays an error message in a NotificationWindow with a Close button  The dispatcher is also the ClickListener this Close button, and its title is CloseOnFailure. It terminates the use case by display the User Home.

Dispatchers Design: EditAcct Use Case EditAcctDispatcher UserAcctManager NotificationWindow EditAcctForm student StudentHome EditAcct begin display submit onClick display update display - onSuccess close onClick RPC details are not displayed here. getUser

31 Web Server UserAcctManager GradeManager CatalogManager UserAcctManagerProxy GradeManagerProxy CatalogManagerProxy Web Browser Client Web Browsers Entity Manager – RPC Implementation UserAcctManagerImpl GradeManagerImpl CatalogManagerImpl Proxy packages contain all callback routines

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

The End!