the projects the customer-supplier dance. project 1 write a specification for a hotel booking system...

35
The Projects The Projects The Customer-Supplier The Customer-Supplier Dance Dance

Upload: susan-tate

Post on 24-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

The ProjectsThe Projects

The Customer-Supplier DanceThe Customer-Supplier Dance

PROJECT 1PROJECT 1

Write a specification for a hotel Write a specification for a hotel booking system which keeps booking system which keeps track of current guests, available track of current guests, available rooms, future bookings and rooms, future bookings and payment of accounts. Include a payment of accounts. Include a part for room service orders part for room service orders which keeps track of the orders, which keeps track of the orders, bills them to the appropriate bills them to the appropriate room, and will show the total room, and will show the total sales for a given period. sales for a given period.

TEAM 1TEAM 1

Team:Team: CHARKHAND,CHARKHAND, BEHTASH BEHTASH CHAU,CHAU, JOHNSON OAI KIENJOHNSON OAI KIEN FATTAHI,FATTAHI, NAVID NAVID GLOD,GLOD, EWA JOLANTA EWA JOLANTA KOCIUBA,KOCIUBA, STEVEN MICHAEL STEVEN MICHAEL LUU,LUU, ANDREW ANDREW PEARSON,PEARSON, MARYELLEN MARIE MARYELLEN MARIE PHONE,PHONE, CHRISTOPHER CHRISTOPHER SCHWIEDER,SCHWIEDER, CAMERON ROBERT CAMERON ROBERT SERAFIN,SERAFIN, LUKASZ LUKASZ STENNING,STENNING, BRADLEY DAVID BRADLEY DAVID STEVENS,STEVENS, MICHAEL SHAUN MICHAEL SHAUN SUGNANAM,SUGNANAM, KIRTHI KUMAR NAIDUKIRTHI KUMAR NAIDU THIRSK,THIRSK, JARED SEAN JARED SEAN VERDONE,VERDONE, MICHAEL ROBERT MICHAEL ROBERT TRAN,TRAN, D QUED QUE

MO/WED: ICT 221MO/WED: ICT 221

PROJECT 2PROJECT 2

Write a specification for a system to Write a specification for a system to manage a real estate catalogue. It manage a real estate catalogue. It should keep track of properties with should keep track of properties with their amenities, selling price or rental their amenities, selling price or rental etc, and be able to be queried by etc, and be able to be queried by potential customers with different potential customers with different priorities. Take into account priorities. Take into account constraints on the property such as constraints on the property such as offers made, terms and conditions offers made, terms and conditions etc. etc.

TEAM 2TEAM 2

BATUWANTUDAWE,BATUWANTUDAWE, JAMIE SAMAN JAMIE SAMAN CHARKHANDEH,CHARKHANDEH, SHAHIN SHAHIN DOCKSTEADER,DOCKSTEADER, RYAN RYAN FOX,FOX, MICHAEL COREY MICHAEL COREY HO,HO, VIVIAN WING KEIVIVIAN WING KEI LI,LI, GARY ANTHONY GARY ANTHONY MAXWELL,MAXWELL, TAMARA ELIZABETH TAMARA ELIZABETH NELSON,NELSON, ROGER ODIN ROGER ODIN ROGAN,ROGAN, BRADLEY PHILLIP BRADLEY PHILLIP SANDEN,SANDEN,ANDREW CHARLES ANDREW CHARLES STORBAKKEN,STORBAKKEN, DEREK JAMES DEREK JAMES TEMPRO,TEMPRO, CHRISTIAN MARC CHRISTIAN MARC TUNUGUNTLA,TUNUGUNTLA, JAYA DEEP JAYA DEEP YIP,YIP, KENNETH CHUN MINGKENNETH CHUN MING CYPRIAN,CYPRIAN, NGOLAHNGOLAH

MO: ICT116; WED: ENA 235MO: ICT116; WED: ENA 235

MORE…MORE…

http://isg.enme.ucalgary.ca/http://isg.enme.ucalgary.ca/People/Ulieru/SENG411-People/Ulieru/SENG411-Outline.htmOutline.htm

THE DEVELOPMENT THE DEVELOPMENT PHASESPHASES Software Development Process - Software Development Process -

method to organize the activities method to organize the activities related to Creation, Delivery and related to Creation, Delivery and Maintenance of software systemsMaintenance of software systems

Preliminary Study & Requirement Preliminary Study & Requirement AnalysisAnalysis

Problem Domain Analysis (coarse Problem Domain Analysis (coarse design and component creation)design and component creation)

Iterative Incremental DevelopmentIterative Incremental Development System Test and IntroductionSystem Test and Introduction

THE CUSTOMERTHE CUSTOMER

1) Informal specification of 1) Informal specification of requirements: requirements: 

  This should outline the project and This should outline the project and customer requirements. Make sure the customer requirements. Make sure the project is suitable for completion in one project is suitable for completion in one term. Remember that it is not a term. Remember that it is not a competition; do not aim to destroy the competition; do not aim to destroy the supplier but give an honest set of supplier but give an honest set of requirements. (Marks will be deducted for a requirements. (Marks will be deducted for a project considered too easy or too difficult.) project considered too easy or too difficult.) No more than 5 pages (if it were printed), No more than 5 pages (if it were printed), including the title page.including the title page.(2%).(2%).

TASK DESCRIPTIONTASK DESCRIPTION THE TASK: “Develop an information THE TASK: “Develop an information

system to support all customer-system to support all customer-related business processes in a car related business processes in a car rental company”rental company”

INITIAL CONDITIONS: INITIAL CONDITIONS: - some business processes are - some business processes are not at all supported by electronic not at all supported by electronic data processing; - data processing; - the ones supported have very the ones supported have very specialized systemsspecialized systems

TASK DESCRIPTIONTASK DESCRIPTION

REQUIREMENTS: REQUIREMENTS:

- - the system should provide all the system should provide all functions directly related to handling functions directly related to handling customers and other business customers and other business partners (e.g. suppliers.) partners (e.g. suppliers.)

- remote areas that do not affect - remote areas that do not affect business partners directly (e.g. tariff business partners directly (e.g. tariff planning, internal accounting, vehicle planning, internal accounting, vehicle transfer/status) shall not be part of the transfer/status) shall not be part of the systemsystem..

THE SUPPLIERTHE SUPPLIER

(1) Functional specification and (1) Functional specification and management plan (about 15-20 management plan (about 15-20 pages):pages):

This should explain This should explain whatwhat you are you are going to do for your project as going to do for your project as opposed to how you will accomplish opposed to how you will accomplish it. When writing this, do not assume it. When writing this, do not assume that your customer has any deep that your customer has any deep knowledge of computer science. knowledge of computer science.

REQUIREMENT ANALYSISREQUIREMENT ANALYSIS

Needed because the software Needed because the software developers are not usually specialists developers are not usually specialists in the application domainin the application domain

Put themselves in the users’ skin Put themselves in the users’ skin Users should be actively involved!Users should be actively involved! WHAT (and WHY) the developed WHAT (and WHY) the developed

software system is supposed to dosoftware system is supposed to do NOT ‘how’!NOT ‘how’! Communication developer-user is Communication developer-user is

essentialessential

WAYS TO DOCUMENT THE WAYS TO DOCUMENT THE INFOrmationINFOrmation

Use Case ModelsUse Case Models Activity ModelsActivity Models Specialized DictionarySpecialized Dictionary CRC cardsCRC cards Mind MapsMind Maps Materials CollectionMaterials Collection Dialog BlueprintsDialog Blueprints Business Class ModelsBusiness Class Models

ANALYSIS...ANALYSIS... TECHNICAL DICTIONARY - enables TECHNICAL DICTIONARY - enables

identification of business classes ( and of identification of business classes ( and of domain classes in the DESIGN stage);domain classes in the DESIGN stage);

EXPLORATIVE PROTOTYPES (dialog EXPLORATIVE PROTOTYPES (dialog designs - first ‘view’ of the system to be designs - first ‘view’ of the system to be delivered + glimpse on architecture);delivered + glimpse on architecture);

CRC CARDS - identify responsibilities CRC CARDS - identify responsibilities and collaborators (useful in the design of and collaborators (useful in the design of BUSINESS class diagrams)BUSINESS class diagrams)

ANALYSIS - OVERVIEWANALYSIS - OVERVIEW

Analysis - maps from a perception Analysis - maps from a perception of the real world into a of the real world into a representation;representation;

Design - maps from an analysis Design - maps from an analysis representation to an expression of representation to an expression of implementation, that is, from a implementation, that is, from a problem to a solutionproblem to a solution

ANALYSIS - states the problem in ANALYSIS - states the problem in terms that enable the terms that enable the implementation. implementation.

RESPONSIBILITIESRESPONSIBILITIES

THE MOST SINGLE IMPORTANT THE MOST SINGLE IMPORTANT ABILITY IN OOAD IS TO SKILFULLY ABILITY IN OOAD IS TO SKILFULLY ASSIGN RESPONSIBILITIES TO ASSIGN RESPONSIBILITIES TO SOFTWARE COMPONENTS!SOFTWARE COMPONENTS!

ANALYSIS - in it essence is all about ANALYSIS - in it essence is all about identifying CONCEPTS and identifying CONCEPTS and suggesting a logical solutionsuggesting a logical solution

DESIGN - identifies OBJECTS from DESIGN - identifies OBJECTS from the most relevant CONCEPTS (for the most relevant CONCEPTS (for the application)the application)

CLASS OR CONCEPT?CLASS OR CONCEPT?

There is no universal agreement on the There is no universal agreement on the meaning of class or concept/entity/typemeaning of class or concept/entity/type

However they model different However they model different perspectives:perspectives:

Domain ANALYST - looks at the real-Domain ANALYST - looks at the real-world CONCEPTS (vehicle, customer)world CONCEPTS (vehicle, customer)

Software DESIGNER - specifies Software DESIGNER - specifies software CLASSESsoftware CLASSES

UML - uses BOTH with similar notations!UML - uses BOTH with similar notations!

CONCEPT OR CLASS in CONCEPT OR CLASS in UMLUML The term ‘concept’ is not defined in The term ‘concept’ is not defined in

UML - so we will refer to Larman (1998):UML - so we will refer to Larman (1998): CONCEPT - is an idea, thing or object. CONCEPT - is an idea, thing or object.

Has a symbol (words or images), Has a symbol (words or images), Definition and examples (suggested by Definition and examples (suggested by the Use Cases).the Use Cases).

CLASS - description of a set of objects CLASS - description of a set of objects that share the same attributes, that share the same attributes, operations, methods, relationships annd operations, methods, relationships annd semanticssemantics

CONCEPT OR CLASS?...CONCEPT OR CLASS?...

For US: For US: the terms ‘concept’ (entity/type) is the terms ‘concept’ (entity/type) is

used to refer to real-world thingsused to refer to real-world things the term ‘class’ is used to refer to the term ‘class’ is used to refer to

software specifications and software specifications and implementationsimplementations

CONCEPTUAL MODEL (Analysis CONCEPTUAL MODEL (Analysis Model, ‘Business Class Model’) - Model, ‘Business Class Model’) - representation of concepts in a representation of concepts in a problem domainproblem domain

CONCEPTUAL MODELCONCEPTUAL MODEL

In UML is illustrated with STATIC In UML is illustrated with STATIC Diagrams in which NO Diagrams in which NO OPERATIONS are defined. Focus is OPERATIONS are defined. Focus is on Domain Concepts, NOT on on Domain Concepts, NOT on software entities.software entities.

Consists of: CONCEPTS (‘Business Consists of: CONCEPTS (‘Business Class’), ASSOCIATIONS between Class’), ASSOCIATIONS between them and ATTRIBUTES of conceptsthem and ATTRIBUTES of concepts

NO OPERATIONS!!!NO OPERATIONS!!!

CUSTOMERCUSTOMER

(2) Evaluate the Functional (2) Evaluate the Functional specification and specification and management plan:management plan:

This is to be assessed and This is to be assessed and evaluated against actual evaluated against actual requirements. Make sure that requirements. Make sure that you are satisfied at this stage you are satisfied at this stage that your supplier is aiming to that your supplier is aiming to meet your requirementsmeet your requirements

SUPPLIERSUPPLIER

(2a) Overall design document:(2a) Overall design document: Based on the examination of the Based on the examination of the

module interactions, you should module interactions, you should prepare a set of interface definitions. prepare a set of interface definitions. For the For the overall design documentoverall design document, , (about 40-50 pages) you should (about 40-50 pages) you should define your major data abstractions define your major data abstractions and modules, focusing on the and modules, focusing on the design, submodules, error-handling, design, submodules, error-handling, exports and imports of the major exports and imports of the major modules. modules.

ANALYSIS - OVERVIEW ANALYSIS - OVERVIEW (cont...)(cont...) USE CASE ANALYSIS:USE CASE ANALYSIS: Identify Use Cases (Business and Identify Use Cases (Business and

System) and Actors;System) and Actors; Group them into packages (useful to Group them into packages (useful to

identify components…);identify components…); Use Case Description helps to Use Case Description helps to

identify: Activities and their identify: Activities and their Sequence; DialogsSequence; Dialogs

ARCHITECTURE SPECIFICATIONARCHITECTURE SPECIFICATION

INTERFACESINTERFACES

Concerned with Processes and Concerned with Processes and Behavior (e.g. SelectCustomer);Behavior (e.g. SelectCustomer);

Between Domain Classes (e.g. Between Domain Classes (e.g. Customer-Contract: ‘customer has n Customer-Contract: ‘customer has n contracts’);contracts’);

At dialog level (association of dialog At dialog level (association of dialog components to use cases helps to components to use cases helps to identify them!);identify them!);

Specify the interfaces in detail (using Specify the interfaces in detail (using the interface classes!) the interface classes!)

USE CASE ANALYSISUSE CASE ANALYSIS

Serve to analyze the BEHAVIORServe to analyze the BEHAVIOR CRC cards - clarify the structureCRC cards - clarify the structure Use all possible sources of info. Use all possible sources of info.

(documentation, special literature, (documentation, special literature, interviews with domain experts, etc.)interviews with domain experts, etc.)

Ask all possible questions about:Ask all possible questions about: Objects (forms, persons, contracts, Objects (forms, persons, contracts,

places..)places..) Properties (of the objects)Properties (of the objects)

ANALYSIS … ANALYSIS …

BUSINESS CLASSES - ANALYSIS BUSINESS CLASSES - ANALYSIS MODEL (from Use Cases; Dialog MODEL (from Use Cases; Dialog Designs; CRC Cards; Technical Designs; CRC Cards; Technical Dictionary;);Dictionary;);

ACTIVITY MODELING (from Use ACTIVITY MODELING (from Use Case descriptions) - result in Case descriptions) - result in operation at Design;operation at Design;

COMPONENT IDENTIFICATION COMPONENT IDENTIFICATION (Maps Activities to Business (Maps Activities to Business Classes) - behavioralClasses) - behavioral

CUSTOMERCUSTOMER

(3) EVALUATE THE Overall design (3) EVALUATE THE Overall design document:document:

The functional specification and the overall The functional specification and the overall design together describe the proposal from design together describe the proposal from your supplier. When accepted, these your supplier. When accepted, these documents are a contract between you and documents are a contract between you and your supplier about what they intend to your supplier about what they intend to deliver. Changes can be negotiated later deliver. Changes can be negotiated later and should be recorded as an appendix. and should be recorded as an appendix. Mark clearly, in italic or bold type, any Mark clearly, in italic or bold type, any comments or amendments on the comments or amendments on the supplier's overall design documentsupplier's overall design document. You . You may add up to 2 additional pagesmay add up to 2 additional pages

SUPPLIER and CUSTOMERSUPPLIER and CUSTOMER

2b) Presentation:2b) Presentation: A preliminary review of about 5 A preliminary review of about 5

minutes will be presented in minutes will be presented in class, with up to 5 minutes of class, with up to 5 minutes of questions and discussion from questions and discussion from the customer the customer

SUPPLIERSUPPLIER

The The detailed design documentdetailed design document (about 80-100 pages, built on top of (about 80-100 pages, built on top of the overall design document) should the overall design document) should include answers to all the questions include answers to all the questions for as many levels as possible. Write for as many levels as possible. Write pseudocode or code outline for all pseudocode or code outline for all modules (this should be in terms of modules (this should be in terms of calls to other high-level functions and calls to other high-level functions and be easy to read). Include test be easy to read). Include test schedules as part of this document. schedules as part of this document. Update the sections describing Update the sections describing coding responsibilities. coding responsibilities.

SUPPLIERSUPPLIER

3) User manual (about 20-25 3) User manual (about 20-25 pages):pages):

  This should be a self contained This should be a self contained description of how to use your description of how to use your system. It should have a clear system. It should have a clear structure, a table of contents, structure, a table of contents, and an index. Do not discuss and an index. Do not discuss any implementation.any implementation.

CUSTOMERCUSTOMER

EVALUATE USER’S MANUAL. EVALUATE USER’S MANUAL. Mark clearly, in italic or bold Mark clearly, in italic or bold type, any comments or type, any comments or amendments amendments onon the supplier's the supplier's user manual. user manual.

SUPPLIERSUPPLIER

(4) Demonstration:(4) Demonstration: This should exhibit the best This should exhibit the best

features of your system. It will features of your system. It will be followed by questions from be followed by questions from your customer, with suggestions your customer, with suggestions of input to try, and discussion. of input to try, and discussion.

CUSTOMERCUSTOMER

EVALUATE DEMO. Use the EVALUATE DEMO. Use the demo time to assess the system demo time to assess the system and the (possibly revised) user and the (possibly revised) user manual. Everyone should attend manual. Everyone should attend and take part. You should and take part. You should ensure that the demo relates ensure that the demo relates closely to what has been closely to what has been negotiated and agreed in the negotiated and agreed in the contract. contract.

CUSTOMERCUSTOMER

7) PROJECT Evaluation:7) PROJECT Evaluation: Write a Write a project evaluationproject evaluation (4-5 (4-5

pages) which should include a pages) which should include a discussion of how well the project discussion of how well the project satisfies your original requirements satisfies your original requirements or what has been added or or what has been added or subtracted; how useful the design subtracted; how useful the design process was and what differences (if process was and what differences (if any) you propose for the design any) you propose for the design assignment.  assignment. 

SUPPLIERSUPPLIER

(5) PROJECT Evaluation:(5) PROJECT Evaluation: Discussion of how well your project Discussion of how well your project

satisfies your original functional satisfies your original functional specifications or what has been specifications or what has been added or subtracted; how useful the added or subtracted; how useful the design process was and what design process was and what differences (if any) you propose for differences (if any) you propose for the design assignment; how the test the design assignment; how the test plan worked, how the real plan worked, how the real management structure resembled management structure resembled the planned onethe planned one