Section A Answer these questions in this examination paper.

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

CPS122 Lecture: State and Activity Diagrams in UML

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Object Oriented Design

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

System Modeling / Class Diagra Diagr m a Week 6

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Order of Operations More Essential Practice

Scan Physical Inventory

COMP61532 Pattern-based Software Development Liping Zhao John Sargeant Comments. Please see the attached.

Course Registration Case Study

Cash Back FAQs on txu.com

Time needed. Before the lesson Assessment task:

Object-oriented design methodologies

Click DVDs. Just click to pick. CS4125 Systems Analysis and Design Chantelle Geoghegan Danielle Frawley

Time Sheet Instructions

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

Requirements engineering

MATHEMATICS: REPEATING AND GROWING PATTERNS First Grade. Kelsey McMahan. Winter 2012 Creative Learning Experiences

CPS122 - OBJECT-ORIENTED SOFTWARE DEVELOPMENT. Team Project

Application Form & Guidelines 2016/17

Midterm Test Department: Computer Science Instructor: Jennifer Campbell Date and Time: 6:10pm, Thursday March 10, 2005

Software Specification and Architecture 2IW80

SALES DISCLOSURE FORM FREQUENTLY ASKED QUESTIONS UPDATED

Making an application online via the Planning Portal

Modeling a Problem Scenario with UML

PT AVENUE GUIDE OVERVIEW

A UML Introduction Tutorial

THE BCS PROFESSIONAL EXAMINATION Diploma October 2014 EXAMINERS REPORT Systems Analysis and Design

File by OCR Manual. Updated December 9, 2008

CRITICAL PATH ANALYSIS AND GANTT CHARTS

Merced College. Diagnostic Medical Sonography Program. Admission Policies, Procedures & Application Forms

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment Marque Browne Manuel Honegger

Overview. Table of Contents. SA Data Warehouse

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2

Masters of Science in Software & Information Systems

Object Oriented Programming. Risk Management

Overview of the Recruiting and Admissions Options

Object-Oriented Systems Analysis and Design

Preparing for the IELTS test with Holmesglen Institute of TAFE

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. September 2013 EXAMINERS REPORT

Design of Network Educating Information System Based on Use Cases Driven Shenwei Wang 1 & Min Guo 2

New York University Computer Science Department Courant Institute of Mathematical Sciences

Electronics Engineering Technology (EET) Annual Report for Assessment of Outcomes

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

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Processing an Actual Journal Entry UCD Campuses

The SGS Online Admissions Application: A Guide for Graduate Administrators

How to Keep a Laboratory Notebook

einstruction CPS (Clicker) Instructions

Microsoft Office Live Meeting Events User s Guide

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Analysis and Design with UML

Sage 50 Accounts Construction Industry Scheme (CIS)

CSSE 374 Software Architecture and Design I

NechoExpense Frequently Asked Questions Table of Contents

Munis Human Resources/Payroll

Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.

1 SRS Advanced Customer Loyalty

NATIONAL BANK s MasterCard SecureCode / Verified by VISA Service - Questions and Answers

Quiz Examination in Software Engineering Theory

JobReady. E-signatures

UML basics. Part II: The activity diagram. The activity diagram's purpose. by Donald Bell IBM Global Services

MASTER S OPTION GENERAL GUIDELINES Option 4: Comprehensive Examination

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

A Meeting Room Scheduling Problem

BCS HIGHER EDUCATION QUALIFICATIONS. BCS Level 5 Diploma in IT. Software Engineering 1. June 2015 EXAMINERS REPORT

Invoice Cloud Frequently Asked Questions

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Aim To help students prepare for the Academic Reading component of the IELTS exam.

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

1 Descriptions of Function

Relative and Absolute Change Percentages

GUIDE TO USING GRADUATE APPLICANT SELF- SERVICE

AEORION STUDENT MANAGEMENT SYSTEM

SuccessFactors Learning: Scheduling Management

Access ACS 101 Day 2: Online Giving, Event Registration, Serving & Connections

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

ImageNow Document Management Created on Friday, October 01, 2010

MWA Project. Configuration Management Plan

Microsoft Outlook Reference Guide for Lotus Notes Users

Automated Modeling of Legacy Systems Using the UML

Managerial Economics Prof. Trupti Mishra S.J.M. School of Management Indian Institute of Technology, Bombay. Lecture - 13 Consumer Behaviour (Contd )

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Software Engineering. System Modeling

FREQUENTLY ASKED QUESTIONS OF COVERAGE OFFERED BY INSURANCE MADE EASY/CHUBB INSURANCE

Your Options. A simple guide to available debt options

COMPUTER-AIDED DESIGN (CAD) 2D, ARCHITECTURE. RCAD involves two RCAD 2D, OVERVIEW PURPOSE ELIGIBILITY TIME LIMITS ATTIRE PROCEDURE

Sofware Requirements Engineeing

Searching and Applying for Positions

Domestic ELI Application Packet

Frequently Asked Questions on Renting Textbooks

User experience storyboards: Building better UIs with RUP, UML, and use cases

AutoCAD LT Product Portfolio Rebate Promotion Frequently Asked Questions ANZ Final (7 May 2013)

Correction and cancellation after the release of goods for export

Ontario College Application User Guide / ontariocolleges.ca Apply Today. Change Tomorrow.

Object Oriented Software Models

C&A AR Online Credit Card Processor Installation and Setup Instructions with Process Flow

Transcription:

UNIVERSITY OF TORONTO Scarborough College CSCC40 Analysis and Design of Information Systems final test answers Duration: 2 hours. One 8.5 by 11 aid sheet is permitted. INSTRUCTIONS: 1. Check this examination paper. There are 8 pages including this cover page. 2. Print your name and student number on this examination paper and your examination booklet. 3. Answer all section A uestions on this examination paper. 4. Answer all section B and C uestions in the examination booklet. 5. Note that the mark for each uestion is given in the right-hand column. 6. The total number of marks is 87, but this test is worth 25% of your final grade. For many of the uestions, not all possible correct answers are listed the answers given are representative. Section A Answer these uestions in this examination paper. A1 Indicate whether the following statements are or. [10] Provide an explanation if you wish. Generalization can be used for use cases, actors and classes. see pages 140 and 218 of the text Open architecture allows transfer of control only between adjacent partitions. see page 326 Closed architecture is less portable than open architecture. closed architecture affords easier replacement of the layers that are specific to the platform A complete and detailed set of collaboration and seuence diagrams will include all possible operations and mention all attributes for all classes. not all attributes are parameters in operations Activity diagrams can be used to express the logic of an operation. see page 263 In UML, objects are used to model the application domain and can therefore model both the human activity and the application software. modelling may include in a class, objects that are not implemented for reasons such as this happens so seldom, we will handle it manually or this will/may change often A contract is a black box description of a service (of a class or subsystem) that specifies the results of the service and the conditions under which it will be provided. see page 253 The current state of an object is fully described by the instance values of it s attributes. some change events and elapsed-time events won t alter an object s attributes but will cause the object to be in a different state The duration of a state is normally dependent upon external events in the application environment. see pages 274-275 Multiple inheritance means that a super class has more than one subclass. multiple inheritance means that a subclass has more than one super class CSCC40 April 2003 page 1 of 8

A2 Indicate whether or not the diagram displays the information described in the first column. [5] displayed information use case activity class/ object collaboration seuence statechart system users Y Y N Y Y N seuence of operations N Y N Y Y guard conditions Y N Y Y Y logic of operations N Y N N N N static view of the system Y N Y N N Y = info is displayed, N = info in not displayed, blank = could be answered either way A3 Give one specific example where encapsulation is helpful in each of the analysis and design phases. [4] Explain why and how it s helpful. how encapsulation is helpful concentrate on reuirements and ignore implementation details analysis phase design phase define reuirements at the contract level gain better understanding and communication of reuirements and scope of the system draw overview/high level designs to represent the more detailed ones designers (and programmers) can work on sections of the system encourages low coupling and high cohesion, good interfaces final system will be easier to maintain the biggest mistake made in this uestion was to not distinguish between analysis and design activities A4 How can use case diagrams be used in two different phases of a project? [2] project phase how a use case diagram is used analysis record and validate reuirements design remind designers of each actor s total interface reuirements construction programmer is aware of each actor s (user s) boundaries and actions testing test cases must be designed for all use cases and all their options installation be aware of who needs to be trained, who will be involved A5 If you were redesigning the ROSI system, give examples of classes you might define [2] for any two of the following three item types: concept, event, behaviour item type example of a possible class concept e.g. registration, grading, graduate student (these often result in generalizations, compositions, associations...) event e.g. register in a course, graduate (displaying information to users is not an event because nothing changes) behaviour e.g. decline course admission, determine student status (this is something the system (not the user) does) defining the term is not the same as giving an example! check slide # 2 in classes and objects your answers had to be different from what you would have given for the other types CSCC40 April 2003 page 2 of 8

A6 What are the 5 views that UML provides? [4] For three (3) of them, name one diagram type that provides that view. use case design view use case diagram type providing the view class (collaboration, seuence, statechart, activity) process collaboration, seuence, statechart, activity (class) implementation deployment component deployment the diagrams in brackets ( ) are OK, but not uite as accurate other views were also acceptable if they were variations on the above theme views such as programmer user designer etc. were not acceptable A7 System architecture may reuire that a system be divided into subsystems that become layers [6] or partitions. What are three characteristics of good subsystems and how do they help in making the architecture good? Use the model-view-controller (MVC) architecture in your explanation. characteristic of good subsystems clearly defined boundaries fully defined interfaces low coupling and high cohesion how this characteristic helps in the uality of the architecture reduced complexity reusability portability easy to test, maintain (localized changes) good processor allocation your answers had to be specific to subsystems and marks were lost for not using MVC architecture in your explanation A8 Database management systems have many capabilities. If you knew ahead of time [4] that you would be using a powerful database management system (DBMS) with all of the functionality, how does this knowledge help you to simplify your UML diagrams during the design phase? Explain for two of the DBMS functions. DBMS function how this function helps simplify the design see slide #17 in the system architecture lecture any of the supported functions/features could be used the explanation should not hint that any analysis can be skipped, instead they should explain how some detailed design could be omitted because the DBMS handled that aspect CSCC40 April 2003 page 3 of 8

A9 If you were to replace the ROSI system, what implementation method or methods would [5] you use to install the new system? Explain why. Also explain why you would not use each of the others. For most cases, either yes or not could have been defended. The points under the reason column are items that could have been considered. recommend? Y/N reason there are low activity periods in ROSI when a direct installation would be not uite as risky direct (interestingly, some students said ROSI was large and other said small!) parallel phased pilot day-one it s unlikely for all students to bother with entering data in both old and new, thereby making comparison between them problematic ROSI does have subsystems (many of you mentioned them) and these could be installed separately if you consider the ROSI system as occupying one site this is not an option, but if you think of the users (they occupy several campuses, they are undergrads, grads, non-credit students) as occupying different virtual sites, you could argue the pilot method but there are problems with students taking courses on more than one campus, etc. many mentioned that it would take years for a students to graduate and leave, and any one student s records can t easily be on two separate systems anyway you lost up to 2 marks if your explanations were not specific to ROSI (i.e. general features of the method were not adeuate answers) you lost marks if your answers demonstrated that you didn t understand the installation methods. CSCC40 April 2003 page 4 of 8

Section B Answer these uestions in the examination booklet. The next three uestions are related to each other and must be done in order. Depending on how you approach these uestions, you may or may not need to make some assumption if you need more information. Please document any assumption you make. B1 Shown on the previous page is an incomplete class diagram. Use the classes shown plus the [5] additional information below, to draw the class diagram in your examination booklet. Note that it may still be incomplete, but will be sufficient for you to answer uestions B2 and B3. CSCC40 April 2003 page 5 of 8

Add these notations: all classes except one are entity classes Add these associations: when a course is no longer available it is archived (removed from the active system), the course offerings are still kept on file as a record of students who have attended it in the past when student records are archived (removed from the active system), their academic records are also removed students take several course offerings, and a course offering is taken by many students; for each student taking a course offering, a grade is recorded Add these operations: when a student wants to enrol in a course, a check is made to see if the course and at least one course offering is still open before a student can enrol in a course, the student s grades in the prereuisite courses are checked against the reuired grades for the prereuisite courses There are 6 changes but if 5 were correct, you got 5 marks. (Apologies to the two students who got all 6 right.) Then answers are in the accompanying PDF file. B2 Use the class diagram you have drawn in uestion B1, and the use case description below [10] to draw either a collaboration diagram or a seuence diagram (but not both) for this use case. Use case: Enrol a student in a course the student enters his student id, the course code and the semester if the student has not paid his fees, he may not enrol if the student does not have the prereuisite courses, he may not enrol if the course offering is not open he may not enrol if the fees are paid, prereuisites satisfied and the course is being offered, the student is added to the course offering and the course is added to the student s records The diagrams in the accompanying PDF file are possible answers. There were other ways of assigning operations to objects, and the marking was based on correct diagram style, compliance to the class diagram and to the use case description. B3 Draw the CRC card for the Course class, based on your answers to uestions B1 and B2. [5] class name: course responsibilities areyouopen(out c_check) prere(out crs) addstudent(stdoid) collaborating classes :CourseOffering :PrereCourse none The above answer applies to the diagrams in the answers given in the accompanying PDF file. If your diagrams were different, then the CRC card would reflect that difference. CSCC40 April 2003 page 6 of 8

Section C Answer these uestions in the examination booklet. The next four uestions are related to each other and must be done in order because your answers depend on your decisions in previous uestions. Before you start, read all the use cases carefully. Use case #1: apply for a credit card a customer fills out an application form and sends it to a bank the bank completes a credit check and if the customer s credit is not acceptable, returns the application with an explanation if the application is accepted, the bank mails the customer two separate items (in two separate envelopes): o the credit card itself o the customer s personal identification number (PIN) when the customer has received both, he activates the card by making a phone call Use case #2: use a credit card a customer hands the merchant his credit card the merchant scans the card and the merchant s computer sends the card information to the bank the bank checks the customer s card status and responds with either a rejection or an authorization number if the card was rejected by the bank, the merchant just returns the card to the customer if an authorization number is given by the bank, the merchant produces an authorization slip and a receipt and gives both to the customer the customer signs the authorization slip and returns it to the merchant Use case #3: credit card billing the merchant notifies the bank of the purchase the bank produces a statement showing all purchases made and sends the statement to the card holder (customer) if the card holder pays the bank at least the minimum payment amount on time, then the card remains active if the card holder does not pay for 2 months or pays less than the minimum payment amount, the card is put on hold if the card is on hold and the customer pays all outstanding minimum payments, the card is reactivated if the card has been on hold for more than 6 months, the card is cancelled Depending on how you approach these uestions, you may or may not need to make some assumption if you need more information. Please document any assumption you make. C1 Draw an activity diagram for the second use case (use a credit card) described above. [5] Do not draw activity diagrams for the other use cases! The answer diagram in the accompanying PDF file. It was also somewhat reasonable in this situation to include the merchant s computer in a swim lane. But if you did so, you had to make it participate in all control flows between the merchant and the bank! CSCC40 April 2003 page 7 of 8

C2 Draw a use case diagram showing all the above use cases. [5] This uestion was poorly worded. Some answered with a general use case and others with a detailed use case. They were marked as follows... criteria general diagram detailed diagram marks all three actors are shown had to be shown just once could be shown in more 1 mark and correctly labelled than one place or diagram the lines were connected to connected to all the correct most of the connections 1 mark the right use cases use cases were OK use cases were correctly correct wording in all cases most of the wording was 1 mark drawn and labelled OK system boundary was correct and labelled same 1 mark shown diagram easy to read very neat mostly legible 1 mark added value (extends, uses, generalizations etc) used and with few errors up to 2 bonus marks Students who chose to do the detailed diagram could have received up to 2 bonus marks. This is to compensate for the time spent on this uestion that was not spent on other uestions and possibly causing a loss of marks in those other uestions. No marks were deducted if the added value items were incorrect because there is no proof that students who chose the general could have done these items correctly. C3 Draw a statechart diagram for the credit card. Refer to all the above use cases. [10] The answer diagram is in the accompanying PDF file. C4 Document one of the use cases you drew in uestion C2. [5] Select the most complex use case. Use point form text do not write long passages. To document a use case, you supply the following information: name of use case description of purpose (this is purpose for users, in user terminology) trigger pre-conditions post-conditions actors stakeholders relationships to other use cases logic flow alternate flows If a use case has alternate flows, then the post-conditions should also indicate alternates. CSCC40 April 2003 page 8 of 8