School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Case Study #1 Library System Arry Akhmad Arman School of Electrical Engineering.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March All Deliverable materials are to be posted into Team Concert. Your to.
School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Sequence Diagram Arry Akhmad Arman School of Electrical Engineering and.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Object-Oriented Analysis and Design
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Introduction To System Analysis and Design
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.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Use Case Analysis – continued
CSCI 639 Topics in Software Engineering Assignment #4 Fall 2006.
Requirements Models to Architectural Design Models: A Simple Library Example Robert France Colorado State University.
An Introduction to Rational Rose Real-Time
Object-Oriented Analysis and Design
The chapter will address the following questions:
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
CMPT 275 Software Engineering
Chapter 10 Architectural Design
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
The Design Discipline.
Systems Analysis and Design in a Changing World, Fifth Edition
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Introduction to Sequence Diagrams
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn November 25, /25/20091.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Presented by: CHAN LAI SAN ( ) REBAH DAW SARREB ( ) FIDA AL-OBAISI ( ) 08 April 2008 (Tuesday 6pm – 7:30pm)
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Approaching a Problem Where do we start? How do we proceed?
Submitted By: Memon Khurshed (Group Leader) Hamed Abdollahpur
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
UML-1 3. Capturing Requirements and Use Case Model.
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Class Diagrams.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
UML-1 8. Capturing Requirements and Use Case Model.
What to remember from Chap 13 (Logical architecture)
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Understanding Requirements
UML (Unified Modeling Language)
UML - Development Process 1 Software Development Process Using UML.
Dr. Awais Majeed Object Oriented Design and UML.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Unified Modeling Language
OO Methodology OO Architecture.
Start at 17th March 2012 end at 31th March 2012
Software Engineering Lecture #5.
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
Software Design Lecture : 15.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Lecture 8 Object Concepts
Presentation transcript:

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Case Study #1 Library System Arry Akhmad Arman School of Electrical Engineering and Informatics Institut Teknologi Bandung, Indonesia Website: Blog: Download Center: Course milist: Last update: April 22, 2010

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman High Level Requirements It is a support system for a library. The library lends books and magazines to borrowers, who are registered in the system, as are the books and magazines. The library handles the purchase of new titles for the library. Popular titles are bought in multiple copies. Old books and magazines are removed when they are out of date or in poor condition. The librarian is an employee of the library who interacts with the customers (borrowers) and whose work is supported by the system. A borrower can reserve a book or magazine that is not currently available in the library, so that when it’s returned or purchased by the library, that borrower is notified. The reservation is canceled when the borrower checks out the book or magazine or through an explicit canceling procedure. The librarian can easily create, update, and delete information about the titles, borrowers, loans, and reservations in the system. The system can run on all popular Web browser platforms (Internet Explorer 5.1+, Netscape 4.0+, and so on). The system is easy to extend with new functionality.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Find the Actors and Use-Case The first step in use-case modeling is to define the actors that represent those who interact with the system and the use cases that describe what the library system provides in terms of functionality to those actors—the functional requirements of the system. While identifying the use cases, you must read and analyze all specifications, as well as discuss the system with potential users of the system and all stakeholders. The actors in the library are identified as the librarians and the borrowers, because both are users of the system. –The librarians have management capability to add borrowers, titles, and items. –The borrowers are people who check out and reserve books and magazines. Occasionally a librarian or another library can be a borrower. Finally, we have a Master Librarian actor—this role is capable of managing the librarians as well. It is possible to add a title to the system before the library has a copy (an item), to enable borrowers to make reservations.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Indetified Use-Cases Login Search Browse Make Reservation Remove Reservation Checkout Item Return Item Manage Titles Manage Items Manage Borrowers Manage Librarians Assume Identity of Borrower Note the difference in concepts between “title” and “item.” Because a library often has several copies of a popular title, the system must separate the concept of the title—the name of a book and the book’s author—and a separate physical copy of the same title, which is an item.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Use Case Diagram

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Domain Modeling

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman State Machine Diagram for Title Class

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Use-Case Analysis Assuming that you have done some domain analysis, you have a simple set of classes that begin to demonstrate the analysis classes involved in your system. That is a good start, but to really enrich your model you perform use-case analysis to –refine the classes, –add additional classes, and –add operations and attributes to these classes, so that each helps to represent what goes on during the execution of the various paths through your use cases.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Use-Case Analysis You use static diagrams (for example, class diagrams) and dynamic diagrams (for example, sequence diagrams) to illustrate how classes and their instances collaborate to perform the actions required by the use cases.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Typical Classes Category Analysis classes are typically organized as one of the following: >. As you have already seen, entity classes represent those classes that have meaning in the domain and are likely have long lifetimes in your system. The reality of long lifetime is that they require some form of persistence so that they can exist beyond the execution of a single use case or session with a user. In the majority of applications today, you can infer that some form of database is used to support the persistence of entities. >. Boundary classes are used to represent those things that are necessary to provide a means for actors to communicate with the system. In the case of an interactive user, boundary classes represent their user interface mechanisms (for example, a form or page). In the case of non interactive users, like an external system or device, you can typically expect some protocol-based interface to shuttle communication between the system and the nonhuman actor. During use-case analysis, you generally create a single boundary class for every actor system relationship found in the use-case model. >. Control classes are used as the placeholder of the coarse grained logic of a use case. You usually start out by creating a single control class for each use case you are analyzing.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Create Sequence Diagram for each Use Case

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman VOPC VOPC (View of Participating Class) is partial classes (part of complete class) that only show related classes to a specific use case. VOPC need to simplify the analysis process of the system Create VOPC for each use case and sequence diagram, and update classes in VOPC if needed.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman VOPC for Use Case Checkout Item

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Communication Diagram

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Repeat this process for all use case Use case #1 Use case #2 Use case #3 Use case #4 Use case #5

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Design Architectural design. This is the high-level design where you define the packages (subsystems), including the dependencies and primary communication mechanisms between the packages. Naturally, a clear and simple architecture is the goal, where the dependencies are few and bi-directional dependencies are avoided if at all possible. Detailed design. This part details the contents in the packages, so that all classes are described in enough detail to give clear specifications to the programmer who codes the class. Use dynamic models from the UML to demonstrate how objects of the classes behave in specific situations.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman System Structure (1) presentation. This contains classes for the entire user interface, to enable the user to view data from the system and to enter new data. The standard for presenting this information to the user in a Java Web application is to use JSP. This package cooperates with the business objects (via the Value Objects) and the controller packages. The user interface package uses the Value Objects and posts data so that it can be sent to the Controller package. controller. The classes in this package are responsible for most of the application control and also provide “traffic cop” mechanisms to help delegate dependencies to and separate them between the presentation and domain packages. presentationcontrollerbusiness daovo

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman System Structure (2) business. This includes the domain classes from the analysis model such as Borrower, Title, Item, Loan, and so on. These classes are detailed in the design so that their operations are completely defined. The business object package cooperates with the database package via an associative relationship. dao. Named dao because it contains a Data Access Object (DAO) that represents a commonly used design pattern that encapsulates all data related activity into discrete classes. This is the means to firewall or limit the knowledge of how things are persisted. vo. The vo package is so named as it contains simple Value Objects, which are lightweight representations of domain- related things. The Value Object (VO) is yet another common pattern used to limit the passing of heavyweight objects and traffic across enterprise systems. presentationcontrollerbusiness daovo

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Architectural View of “Package of Class Diagram” presentationcontrollerbusiness daovo

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Rebuild Sequence Diagram Sequence diagram from analysis Sequence diagram in design Business logic oriented Implementation oriented

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman References for Coding For coding, the specifications are collected from the following diagrams in the design model: Class diagrams. The class diagrams in which the class is present, showing its static structure and relationship to other classes. State machine diagram. A state machine diagram for the class, showing the possible states and the transitions that need to be handled (along with the operations that trigger the transitions). Dynamic diagrams (sequence, communication, and activity) in which objects of the class are involved. Diagrams showing the implementation of a specific method in the class or how other objects are using objects of the class. Use-case diagrams and specifications. Diagrams that show the result of the system give the developer more information on how the system is to be used when he or she might be getting lost in details—losing sight of the overall context.

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Development Steps Requirement –Vision (High Level Requirements) –Use Case Model –Domain Model Analysis –Use Case Analysis Design –Architecture Design –Detail Design –User Interface Design Implementation Test and Deployment

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman

School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Thank you Jembatan Golden Gate, San-Francisco, 2001 Dalam rangka Comparative Study Untuk Pengembangan Industri Software di Indonesia Arry, Farid, Armein THIS SLIDES CAN BE DOWNLOADED IN