Course Code and Name Year - Semester. Number of marks



Similar documents
Tutorial - Building a Use Case Diagram

Object Oriented Programming. Risk Management

Frequently Asked Questions about the Enterprise Rental Car Contract

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Lab Manual: Using Rational Rose

Completing a travel booking using Amadeus e-travel

PRODUCTS AND SERVICES TO MAKE YOUR TRIP MEMORABLE. European Driving Guide

CHOICES: Insurance Rate Comparison Search Systems. Auto Insurance. Instructions/User Guide

Vehicle Tracking System.

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Object Oriented Software Models

Object Oriented Design

Fuel Usage and Fuel Consumption Monitoring

Online Auto Rental Software for Rent a Car Reservation System & Vehicle leasing Software Programs

Communication Diagrams

Memorial University of Newfoundland Travel Regents Policy

Aurora Web Business to Business - B2B A web booking system for Agent Partners Credit & Pre Pay Quick Start Guide

Distribution (Optional B2B/Fleet Market)

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Penn State University (PSU)

Adding a File Attachment to a CFS Requisition

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Writing Use Case Scenarios for Model Driven Development

Modeling the User Interface of Web Applications with UML

Model Simulation in Rational Software Architect: Business Process Simulation

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)

8 Creating a Workflow

Rent Centric Version 2.4 Complete Feature List True Cross Browser Cloud Computing

Exporting from WebSphere Business Modeler Unit 23

Source Code Translation

Use Case Diagrams. Tutorial

Associate Vice President of Public Safety & Administrative Services

UML-based Test Generation and Execution

Commercial Lines Workflows

Laila TECHNICAL SKILLS

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

How to Create User-Defined Fields and Tables

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

Project Management Guidebook

Europcar.biz Normal User Guide

UML for C# Modeling Basics

Purchasing Car Rental Coverage

HOW TO START WORKING WITH P2WARE PROJECT MANAGER 7?

Using Rational Rose to Create Object-Oriented Diagrams

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Design and UML Class Diagrams

3.1 Use Case Diagrams

TRAVEL POLICY PURPOSE

How to Configure the Workflow Service and Design the Workflow Process Templates

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

Intellect Platform - Tables and Templates Basic Document Management System - A101

Menouer Boubekeur, Gregory Provan

TDDC88 Lab 2 Unified Modeling Language (UML)

As you have reached this stage, we want to thank you for visiting our website and we want to get to know you.

Corporate Account Package and Corporate Credit Card Authorization

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT

QUICK START GUIDE RESOURCE MANAGERS. Last Updated: 04/27/2012

BUSINESS CAR & VAN RENTAL The cost effective rental management solution

Chap 1. Introduction to Software Architecture

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Applying for Membership

Bitrix Site Manager 4.0. The Guide to Managing User Group Permissions

Business Systems Analysis Certificate Program. Millennium Communications & Training Inc. 2013, All rights reserved

UML TUTORIALS THE USE CASE MODEL

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

4217 S. Oak Ave. Brookfield, IL Phone: (800) Fax: (703)

E D M O N T O N ADMINISTRATIVE PROCEDURE

UMBC TRAVEL POLICY AND PROCEDURES

DEVELOPMENT OF A WORKFLOW APPLICATION FOR VEHICLE FLEET MANAGEMENT: A CASE STUDY OF GUINNESS NIGERIA PLC

Car Rental Insurance Provided by Visa. General Information & Terms and Conditions

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler

A GUIDE TO NETWORK ANALYSIS by MICHAEL C GLEN

CMTRAC. Application Overview APPLICATION DATASHEET

PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)

Loan Creation Version-1.0 9NT FCUBS V.UM 11.0.MF [May] [2010] Oracle Part Number E

University of Central Florida Class Specification Administrative and Professional. Web Operations Manager

ivms-4200 Client Software Quick Start Guide V1.02

Create a Job Requisition. Create a Job Requisition. Concept

Rose Data Modeler (logical)

Nexus GPS Tracking. Advanced GPS Monitoring System

Homework #2 solutions

TOP10 AUTO INSURANCE FAQ S

Setting up your Account and Paying Rent Online

Modeling Workflow Patterns

Transcription:

UNIVERSITY NAME Faculty Name Department Name Course Code and Name Year - Semester Course website address Analysis Assignment/Project Car Rental Due: Date & Time Number of marks About the assignment scope and domain This is an assignment in requirements analysis. The scope of it is restricted by the coverage of the material in the first five chapters of the RASD 2ed textbook and by the coverage of software development tools in the practical classes. The application domain is a web-based car rental system. Problem statement for the assignment Car Rental (CR) The purpose of the assignment is to develop a (partial) requirements analysis document for a car rental (CR) application. This is an E-commerce application to enable customers to rent cars over the Internet. The customer can input car hire details and request the quotation for a car. After obtaining the quote, the user can proceed with the car booking by supplying credit card details. These details will then be validated and the application will email the confirmation of the car rental arrangement to the customer s chosen email address and then update the car rental database accordingly. For the purpose of this assignment, the scope of the CR system is limited to the following functionality: 1. Customers should be able to request a quote for renting a car. To facilitate this they should be able to enter the pick-up and drop-off locations they require, the pick-up and drop-off dates and their age in order to obtain a list of available car types based on those search criteria. 2. The search results include details of vehicle types, prices for telephone booking, and prices for online booking. 3. From the displayed search results, the customer should be able to request more detailed information about a particular vehicle type, including vehicle makes and models in the chosen type, the seating capacity, and the luggage capacity. 4. From the displayed search results, the customer should also be able to request the quote for renting a chosen vehicle type to be emailed to him/her. To this end, the customer must provide e-mail address. Sending of email is confirmed to the customer. Course/Year/Semester Page 1 of 14

5. From the displayed search results, the customer should also be able to proceed with booking a car. After selecting this option, the customer will be able to check that the details for the rental transaction are correct. 6. Prior to making the booking, the customer will be able to select from a few options including a request for an excess reduction for an additional fee, a protection waiver against cancellation and entry of a promotional code. Some extras can also be specified, including additional drivers, baby capsules and baby seats. 7. The customer will need to be given other important information such as age restrictions, fuel conditions and any other general restrictions, as well as any information on insurance details and pick-up instructions. 8. Still prior to making the booking, the customer will need to enter personal information (such as name, address, telephone number and e-mail address) as well as payment information (credit card details). 9. When processing the booking request, the system will check the completeness and correctness of the customer s data entry (in particular, the credit card information). After successful validation of entered data, the system will confirm the booking with a rental confirmation number. As an additional confirmation of the booking, an e-mail will be sent to the customer s e-mail address. In general, the CR system would have the functionality similar to other typical online car hire systems, such as http://www3.travel.com.au/cars.html. For reference convenience, please consult screenshots at the end of this document demonstrating the car rental process employed by http://www3.travel.com.au/cars.html. To gain additional domain knowledge, you can study pre-packaged COTS (Commercial-Of-The-Shelf) solutions for car rental software, such as http://www.p-c-s.com.au/ and https://www.rentcentric.com/. Task 1 (? marks) In Rational Rose create a new project (model) file named asg1sol.mdl. Develop a business use case model for the CR system. You may need to customize the Use Case View toolbar to see buttons you will need for drawing business use cases, business actors, both-directional associations, etc. Name the model Task1. Apply an abstraction level such that your model will identify only the main use cases of interest to the customer (i.e. the model should take the actor s (rather than system s) viewpoint on the use cases; this is discussed in RASD 2ed pp.113-114 and in few other places in the book). Use <<extend>> and/or <<include>> relationships to visualize the workflow (time and other processing dependencies) between use cases. Use <<communicate>> relationships between actor and use cases (use both-directional relationships when an actor is engaged in interaction with the system, i.e. both sends and receives events). Task 2 (? marks) Develop a use case model for the CR system. Name the model Task2. Apply an abstraction level such that your model will consist of between ten and fifteen use cases. Model for a happy scenario, i.e. do not be preoccupied with exceptional conditions, error messages, etc. Make sure that the use cases cover the requirements in the problem statement. Show use cases and the <<extend>> and <<include>> relationships between them, so that you express time and conditional dependencies between use cases. Do not show actors. As opposed to Task 1, the use cases in Task 2 should take the internal system s perspective, not the actor s perspective (i.e. use cases should be named to reflect the system s functions, as they need to be implemented Course/Year/Semester Page 2 of 14

eventually). Note that the system s perspective favors <<include>> relationships because the consecutive use cases of a workflow must be provided in the system whether or not the actor will use them (however, don t take this hint literally as there is still a scope for <<extend>> relationships in use cases modeled from the system s perspective). Task 3 (? marks) Develop a business class model for CR. Name the diagram Task3. You may need to customize the Logical View toolbar to see the business entity button. Apply an abstraction level such that your model will identify about five business entities. Show associations between business entities and determine their multiplicities. Ensure a minimal model, i.e. do not show associations that can be derived from the associations already in the model. Explain the meaning of the diagram. Task 4 (? marks) Develop an entity class diagram (i.e. entity classes only) for CR. Name the diagram Task4. Prefix the name of each class with letter E (i.e. ECustomer, not Customer). Apply an abstraction level sufficient to model data structures referred to in the requirements listed in the problem statement (this is likely to result in about ten entity classes) Show main attributes in classes (no need to specify types and visibility). Do not show operations. Specify relationships between classes and their multiplicities. Explain any not obvious modeling decisions. Task 5 (? marks) Using Requisite Pro write a use case document for the use case Accept Search Request and Display Search Results. This use case enables the customer to search for a rental vehicle. Your use case document should be saved as a Requisite Pro document named asg1sol.ucs and it should conform to the Requisite Pro template for.ucs documents. Once completed, copy the main body of the.ucs document and paste it as an answer to this task into your main assignment document asg1sol.doc One way to obtain the.ucs template document is to: (1) create a new project using Composite Template, (2) create a new document and specify its document type as Use Case Specification Document Type and then give it the name asg1sol. Task 6 (? marks) Using Rational Rose, develop a sequence diagram and a corresponding collaboration diagram for the use case Accept Search Request and Display Search Results defined in Task 5. Name both diagrams Task6. Create the diagrams as part of the asg1sol.mdl project. Assume the happy path scenario, i.e. there is no need to account for Alternative Flows. Apply naming convention for classes that uses a single letter prefix to identify presentation (P), control (C), and entity (E) objects. Show interactions from the actor (Customer). Show message arguments (names only, no types). Explain not obvious modeling decisions. For objects instantiated in the sequence diagram, use either the constructor names or new() operations and ensure that instantiation messages go to object boxes, not to object lifelines. Include a CarDatabase object (this could be an actor) to show trips to the database. Allow only control object(s) to communicate with CarDatabase. You can assume that when the use case starts the application has already instantiated at least one control class able to intercept user s events on the car search page. Course/Year/Semester Page 3 of 14

As you (hopefully) know, you can generate the collaboration diagram automatically from the sequence diagram (e.g. by just pressing the F5 key). Rose has a tendency to generate some links between objects in collaboration diagrams even though these links do not exist in the sequence diagram (i.e. there are no messages on these links). For clarity, you can remove such links (if you get them). Because the current version of Rational Rose does not fully support UML 2.0 recommendations for message types, you do not need to be concerned about the kinds of arrows used by Rose on message lines. Also, because Rational Rose does not support alternative execution paths (branching of messages), you can model such alternative executions as if they were executing in sequence. Please use the following options in Task 6. Remember also that the Object Specification window has a check-box to indicate multiple instances (which may be relevant for entity objects). Task 7 (? marks) Using Rational Rose, develop a class diagram corresponding to your sequence and collaboration diagrams from Task 6. Make the diagram a part of the asg1sol.mdl project and name it Task7. Course/Year/Semester Page 4 of 14

Show operations in classes (specify names of operation s arguments and return types). Show constructors for classes instantiated in Task 6. Specify relationships between classes. Use uni-directional associations unless the collaborations in Task 6 entail both-directional communication. Take advantage of instantiates relationship available in Rose (instantiates implies the existence of association). Show visibility. Explain not obvious modeling decisions. Note that CarDatabase in Task 6 does not represent a proper actor. It was only used for modeling convenience and it is not part of the application (it represents a server database that a client application communicates with). On the other hand, Customer is an (external) actor that exists also internally as a class (ECustomer). Task 8 (? marks) Using Rational Rose, develop a class diagram for the following scenario. Make the diagram a part of the asg1sol.mdl project and name it Task8. From the viewpoint of the customer, the quotation and the booking refer to a car type (car category). However, from the system s perspective, the booking is associated with a particular car in the fleet that is available for the rental duration and pickup location. Assume that a car type is characterized by four attributes: cartypeid, description (e.g. luxury 4dr auto a/c), seatingcapacity and luggagecapacity. A car has attributes such as carregnumber, make, model, status and it may have its own values for seatingcapacity and luggagecapacity. Develop a model for inheritance hierarchy such that car objects can access description, seatingcapacity and luggagecapacity of their car type, but cannot access cartypeid. Show attribute names and their visibilities (no need to specify types). Course/Year/Semester Page 5 of 14

Screenshots based on http://www3.travel.com.au/cars.html Course/Year/Semester Page 6 of 14

Course/Year/Semester Page 7 of 14

Course/Year/Semester Page 8 of 14

Course/Year/Semester Page 9 of 14

Course/Year/Semester Page 10 of 14

Course/Year/Semester Page 11 of 14

Course/Year/Semester Page 12 of 14

Course/Year/Semester Page 13 of 14

Course/Year/Semester Page 14 of 14