Object Oriented Software Models



Similar documents
Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

CSC 342 Semester I: H ( G)

III. Class and Object Diagrams

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Use Case Diagrams. Tutorial

DOCUMENTING USE CASES

Case Study: ATM machine I. Amalia Foka CEID - University of Patras Object Oriented Programming II (C++) Fall

Requirement engineering Exercise the POS System solution

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

System Modeling / Class Diagra Diagr m a Week 6

11 November

ATM Case Study OBJECTIVES Pearson Education, Inc. All rights reserved Pearson Education, Inc. All rights reserved.

Tutorial - Building a Use Case Diagram

(Refer Slide Time 00:56)

Bookstore Inventory System Software Design Document. Version 1.0

How To Design Software

Documentum Content Distribution Services TM Administration Guide

LAB 3: Introduction to Domain Modeling and Class Diagram

SysML Modelling Language explained

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks

Fundamentals of Visual Modeling

Course Code and Name Year - Semester. Number of marks

Object Oriented Analysis and Design and Software Development Process Phases

SCATS SALES AND CUSTOMER TRACKING SYSTEM SOFTWARE REQUIREMENTS SPECIFICATION VERSION: FINAL 1.0

UML Class Diagrams. Lesson Objectives

Instructional Systems Design

Penn State University (PSU)

Lab Manual: Using Rational Rose

Information Server Documentation SIMATIC. Information Server V8.0 Update 1 Information Server Documentation. Introduction 1. Web application basics 2

Software Engineering. System Modeling

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Register Repertoire User Guide

October Easy Steps to use ESCIMS At Point of Sale

Communications Software Engineering Design Model

Technology in the Classroom

ATM Case Study Part 1

emars610 Procurement Card Processing

Supplementary Owner's Handbook. The Ultimate Driving Machine. MY BMW REMOTE - ios. SUPPLEMENTARY OWNER'S HANDBOOK.

Managing Users, Roles, and Domains

The Information System Lifecircle

1 Class Diagrams and Entity Relationship Diagrams (ERD)

Communication Diagrams

Design and UML Class Diagrams

3 Easy Steps to Get Started

Object Oriented Programming. Risk Management

IBM Rational University. Essentials of IBM Rational RequisitePro v7.0 REQ370 / RR331 October 2006 Student Workbook Part No.

Online Requesting and Receiving. Training Manual

Rational Software. Course Registration System Use-Case Model

Engineering Process Software Qualities Software Architectural Design

Class Diagrams. University. Exercises

Process/Workflow Analysis Quiz

Graphical Systems Modeling with UML / SysML Class diagrams

STIDistrict Server Replacement

Designing Databases. Introduction

Last Updated on 11/06/

Flowcharting, pseudocoding, and process design

Model Simulation in Rational Software Architect: Business Process Simulation

PackManager user guide

Project Time Management

PORTFOLIOCENTER. Best Practices for Accounting for Transfer of Assets

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Database Programming Project Proposals

Transactional Flowchart: Guidelines and Examples

How To Develop Software

Corporate Loan Origination Version NT FLEXCUBE UBS V.UM [August] [2010] Oracle Part Number E

Entity-Relationship Model. Purpose of E/R Model. Entity Sets

UPS System Capacity Management Configuration Utility

Scenario-based Requirements Engineering and User-Interface Design

VENTRA GROUP SALES. FAQs. What options do I have for Group Sales? Frequently Asked Questions

RapidResponse Training Catalog

Oracle Utilities Work and Asset Management

Cashiering. Reference and Training Guide. Kuali Financial Systems. Belongs to: Version

BreezingForms Guide. 18 Forms: BreezingForms

Financial Management Modernization Initiative (FMMI)

Syllabus: MUS 355 American Music (online) Spring 2016 (SLN# 16578) Opens Monday, January 11, 2016

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

How To Use A Bankbook On A Pc Or Macbook With A Credit Card (For A Credit Union)

CD Update Instructions

CSC340S - Information Systems Analysis and Design

[1] [2]

Privacy Policy/Your California Privacy Rights Last Updated: May 28, 2015 Introduction

Review Manager Guide

WIRED VIDEO STEP GUIDE TO COMMISSIONING VIDEO CONTENT.

CPS122 Lecture: State and Activity Diagrams in UML

E-Procurement RFP # 194:0-12RPB Attachment B Process and Document Workflow Concepts June 15, 2000

Software Development in the Fields of Embedded Systems, Safety, and Security

Siebel Performance Management Guide. Version 7.8, Rev. A April 2005

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

Studio Designer 80 Guide

Lab Manual. Advanced Pr I IT 314

APS Package Certification Guide

FIXED ASSET GUIDELINES

Transcription:

Software Engineering CSC 342/ Dr Ghazy Assassa Page 1 Object Oriented Software Models Use case diagram and use case description 1. Draw a use case diagram for a student-course-registration system. Show the includes/uses, extends and generalization relationships. 2. Sketch the template used to describe a use case. 3. Describe the use case change password in student-course-registration system. 4. Describe the use case register a course in student-course-registration system. 5. Draw a use case diagram for a course grading system. Show the includes/uses, extends and generalization relationships. 6. Draw a use case diagram for a library system. Show the includes/uses, extends and generalization relationships. 7. Draw a use case diagram for book store system. Show the includes/uses, extends and generalization relationships. 8. Draw a use case diagram for a rent car system. Show the includes/uses, extends and generalization relationships 9. Draw a use case diagram for a health club system. Show the includes/uses, extends and generalization relationships. 10. Draw a use case diagram for a web-based buying system. Show the includes/uses, extends and generalization relationships. 11. Consider the following use cases of a Food Ordering system: Use case Actor Input Output Place order Customer Order data Print receipt Customer receipt Get food order Kitchen food order Get Management reports Management Management reports Draw the corresponding use case diagram Draw the corresponding context diagram.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 2 12. Consider the following use case diagram, Redraw the given use case diagram after applying generalization between actors, "robo-actor" system agent Video Store Information System Query For Items Credit Authorization Service Pay Fines Rent Items Clerk Manage Memberships Customer Log In Manager Manage Inventory Manage Users Administrator

Software Engineering CSC 342/ Dr Ghazy Assassa Page 3 13. Consider the below use case diagram for a video store information system (actors are not shown). What are the names of the mandatory use cases? What are the names of the optional use cases? Add an actor having a role of customer and connect it to the appropriate use cases. Video Store Information System Query For Items Pay Fines «includes» «includes» Pay Pay by Cash by Credit «extends» «includes»«includes» Rent Items

Software Engineering CSC 342/ Dr Ghazy Assassa Page 4 14. Consider the Internet Sales System described below. Draw a use case diagram for the system Draw the corresponding class diagram Draw an SSD for the system. The Internet Sales System will have a database of basic information about the CDs that it can sell over the Internet, similar to the CD database at each of the retail stores (e.g., title, artist, id number, price, quantity in inventory). Every day, the Internet Sales System will receive an update from the distribution system that will be used to update this CD database. Some new CDs will be added, some will be deleted, and others will be revised (e.g., a new price). The Electronic Marketing [EM) Manager (a position that will need to be created) will also have the ability to update information [e.g., prices for sales). The Internet Sales System will also maintain a database of marketing materials about each CD that will help Web users learn more about them. Vendors will be encouraged to e-mail marketing materials (e.g., music reviews, links to Web sites, artist information, and sample sound clips) that promote their CDs. The EM Manager will go through the e-mails and determine what information to place on the Web. He or she will add this information to a marketing materials database (or revise it or delete old information) that will be linked to the Web site. Customers will access the Internet Sales System to look for CDs of interest. Some customers will search for specific CDs or CDs by specific artists, while other customers want to browse for interesting CDs in certain categories (e.g., rock, jazz, classical). When the customer has found all the CDs he or she wants, the customer will "check out" by providing personal information (e.g., name, e-mail, address, credit card), and information regarding the order (e.g., the CDs to purchase, and the quantity for each item). The system will verify the customer s credit card information with an on-line credit card clearance center and either accept the order or reject it. Every hour or so, the orders will be pulled out of the order database and sent to the distribution system. The distribution system will handle the actual sending of CDs to customers: however, when CDs are sent to customers [via UPS or mail), the distribution system will notify the Internet Sales System, which in turn will e-mail the customer. Weekly reports can be run by the EM manager to check the order status.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 5 15. Define 3 releases for a library system. Use the Release Planning table below. A release may take between 2 and 3 weeks. Start by week 6. Release Planning Release # Week Actor Use Case Name Priority (H, M, L) Remark

Software Engineering CSC 342/ Dr Ghazy Assassa Page 6 Class Diagram 16. Draw the class diagram for a vehicle with the following assumptions: A vehicle is composed of the following parts: o One chassis o Two to four doors A chassis is composed of: o One engine o One transmission gear o Four wheels An engine is composed of: o Four to 12 pistons. 17. Select the right matching from the list below (A, B, C,..): Item Related items (A, B, C, ) Class diagram Class Use case diagram Sequence diagram State diagram Use case text CRC card A) Describes classes and their relationships B) Static model that remains constant in the system over time C) Dynamic model D) Documents the essential properties of each class E) Shows the behaviour of systems in terms of how objects interact with each other F) Shows how systems behave internally

Software Engineering CSC 342/ Dr Ghazy Assassa Page 7 G) Shows the alternative (extended) paths H) Shows the responsibilities and collaborations of a class I) Shows the over all functionality of the system J) Shows the messages between objects K) Describes the functionality of a single function L) Should be written for each class M) Shows the includes and extend relationships N) Shows the generalization relationship O) Shows the generalization, aggregation, composition and association relationships P) Shows the successful (happy) path Q) Shows stimulus R) Shows multiplicity S) Shows visibility T) Used to model real time systems U) Shows abstract and concrete classes V) Shows the life time and activation of objects 18. In a class diagram, relationships between classes show multiplicity that indicates how an instance of a class can be associated with the instances of other classes. State six types of multiplicity and give an example for each.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 8 19. Consider the following different representations of class Rectangle. Complete using A,,E: ----- represents the class Rectangle at early analysis phase ----- represents the class Rectangle at the design phase ----- shows the class Rectangle with visibility Method -------------------- has one argument Method -------------------- has two arguments A int int B C D E 20. Consider association between the classes company and employee. Show the multiplicity assuming the following rules: A company has many employees An employee can only work for one company A company can have zero employees It is not possible to be an employee unless you work for a company Employee Company

Software Engineering CSC 342/ Dr Ghazy Assassa Page 9 21. Consider association between the shown classes, Show the multiplicity. For the Committee- Employee relationship, assume that an employee may be a member of one to three or five committees, and that a committee may include at least two and a maximum of 4 employees. Company Board of Directors Employee Company Office Employee Husband (Muslim) Wife Employee Committee 22. What is meant by CRC? 23. Sketch the front side of a CRC card template.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 10 24. Consider the diagram below: What is the name of the diagram? What is the goal of this diagram? How many objects are participating in the interaction? Draw on the diagram the rectangle showing the activation of the system.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 11 25. Consider the diagram below: What is the name of the diagram? What is the goal of this diagram? How many objects are participating in the interaction? What are the inputs to the interaction? What are the outputs of the interaction? Which object does provide the item description? Which object does provide the item available quantity? Which object does provide the item price? Which object has the longest activation? The diagram is one of the UML diagrams (True/False) The diagram shows the static view of the system (True/False) The diagram shows the dynamic view of the system (True/False) What method(s) must be included in the class Catalog? What method(s) must be included in the class CatalogProduct?

Software Engineering CSC 342/ Dr Ghazy Assassa Page 12 26. Write true (T) or false (F) for the following statements: T/F Statement An SSD shows the interactions between the system and the external world represented by actors An SSD shows the interactions between the system and classes of the system In an SSD, the system is treated like a black box An SSD is equivalent to a context diagram A detailed sequence diagram uses all of the same elements as an SSD The :System object is replaced by all of the internal objects and messages within the system In a sequence diagram, activation lifelines indicates when an object is executing a method In a sequence diagram, activation lifelines indicates when an object is idle In a sequence diagram, you should determine all of the internal messages that result from each input message In a sequence diagram, you should define origin and destination objects for each message When realizing a use case, you determine what objects collaborate by sending messages to each other When realizing a use case, you determine what classes collaborate by sending messages to each other When designing a class, most attributes should be public Coupling measures how closely classes are linked Cohesion shows how closely classes are linked

Software Engineering CSC 342/ Dr Ghazy Assassa Page 13 27. What are the different models used in object modelling 28. State the different levels of Visibility of object classes 29. Compare the different levels of Visibility of object classes 30. Identify the regular and association classes in the class diagram below. Class Regular or Association class 31. Write true or false: The inheritance stands for is a kind of association. In UML, inheritance is represented with a line that connects the parent to a child class, and on the parent's side you put an open triangle. In generalization, a child is substitutable for a parent. That is, anywhere the parent appears, the child may appear. One class (the child class or subclass) can inherit attributes and operations from another (the parent class or superclass). The parent class is more general then the child class.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 14 You may discover inheritance when attributes and operations of one class are general and apply to perhaps several other classes - which may add attributes and operations of their own You may discover inheritance when two or more classes have a number of common attributes and operations. Classes that provide no objects are said to be abstract classes. You indicate an abstract class by writing its name in italics. Abstract classes are intended only as bases for inheritance and provide no objects of their own. 32. Consider the animal kingdom. What does the figure below show? 33. How you model the case of a class that consists of a number of component classes? 34. Write true or false a part-whole association is a generalization relationship a part-whole association is an aggregation relationship a part-whole association is an inheritance relationship A composite is a strong type of aggregation Each component in a composite can belong to just one whole. The symbol for a composite is the same as the symbol for an aggregation except the diamond is filled

Software Engineering CSC 342/ Dr Ghazy Assassa Page 15 35. What does the figure below show? 36. What does the class diagram below show? Study pack Course title Number Year Instructor Assignment Credits OHP slides Slides Text Lecture notes Videotape Tape ids. Exercises #Problems Description Solutions Text Diagrams 37. Consider the above class diagram. Assume appropriate multiplicity between classes and show this on the diagram

Software Engineering CSC 342/ Dr Ghazy Assassa Page 16 38. The following figure shows a library class hierarchy. Library item Catalogue number Acquisition date Cost Type Status Number of copies Acquire () Catalogue () Dispose () Issue () Return () Published item Title Publisher Recorded item Title Medium Book Author Edition Publication date ISBN Year Issue Magazine Film Director Date of release Distributor Computer program Version Platform List all attributes and methods of each of the subclasses Book, Magazine, Film, and Computer program.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 17 39. What is the name of the diagram below? 40. Consider the diagram below, how many objects are participation in the interaction? 41. Consider the diagram below, what is the longest active life line. Ecat: Catalog :Library Item Lib1: NetServer :Library User Lookup Display Issue Issue licence Accept licence Compress Deliver

Software Engineering CSC 342/ Dr Ghazy Assassa Page 18 42. Complete: UML means UML is used in In object classes, public level visibility means that usability of attributes and methods extend to In object classes, protected level visibility means that usability of attributes and methods is open only to classes that from original class In object classes, private level visibility means that usability of attributes and methods is open only to the class model shows how classes are composed of other classes

Software Engineering CSC 342/ Dr Ghazy Assassa Page 19 43. Mark T (True) or F (False): a. Object models describe the system in terms of object classes b. Data modelling is described by ER diagrams c. In object classes, public level visibility means that usability of attributes and methods extend to other classes d. In object classes, protected level visibility means that usability of attributes and methods is open only to classes that inherit from original class e. In object classes, private level visibility means that usability of attributes and methods is open only to the original class f. The UML uses an asterisk (*) to represent more and to represent many g. Aggregation model shows how classes are composed of other classes h. In a sequence diagram, message that's closer to the top occurs in time after/before a message that's closer to the bottom 44. Explain what is meant by state. 45. Explain what is meant by stimuli. 46. Give an example of internal stimili 47. Draw a state chart showing the behavioural model of a microwave oven. Complement your drawing with tables describing the states and stimulus of the system. 48. Draw a state chart showing the behavioural model of a coffee machine 49. Draw a state chart showing the behavioural model of soft drink vending machine. 50. Explain what would you do when you have more than 11 states to draw on a state chart.

Software Engineering CSC 342/ Dr Ghazy Assassa Page 20 51. Consider the shown state chart for a microwave oven. Complete the missing stimuli on the chart. Full power Full power do: set power = 600 Waiting do: display time Half power Half power Full power Half power do: set power = 300 Timer Timer Set time do: get number exit: set time Door open Door closed Door closed Number Start Enabled do: display 'Ready' Operation do: operate oven Door open Cancel Waiting do: display time Disabled do: display 'Waiting'