Project Advice

advertisement
The Projects
The Customer-Supplier Dance
PROJECT 1

Write a specification for a hotel
booking system which keeps
track of current guests, available
rooms, future bookings and
payment of accounts. Include a
part for room service orders
which keeps track of the orders,
bills them to the appropriate
room, and will show the total
sales for a given period.
TEAM 1

Team:
CHARKHAND,
BEHTASH
CHAU, JOHNSON OAI KIEN
FATTAHI,
NAVID
GLOD, EWA JOLANTA
KOCIUBA,
STEVEN MICHAEL
LUU, ANDREW
PEARSON,
MARYELLEN MARIE
PHONE,
CHRISTOPHER
SCHWIEDER,
CAMERON ROBERT
SERAFIN,
LUKASZ
STENNING,
BRADLEY DAVID
STEVENS,
MICHAEL SHAUN
SUGNANAM,
KIRTHI KUMAR NAIDU
THIRSK,
JARED SEAN
VERDONE,
MICHAEL ROBERT
TRAN, D QUE

MO/WED: ICT 221
















PROJECT 2

Write a specification for a system to
manage a real estate catalogue. It
should keep track of properties with
their amenities, selling price or rental
etc, and be able to be queried by
potential customers with different
priorities. Take into account
constraints on the property such as
offers made, terms and conditions
etc.
TEAM 2

BATUWANTUDAWE,
JAMIE SAMAN
CHARKHANDEH,
SHAHIN
DOCKSTEADER,
RYAN
FOX, MICHAEL COREY
HO, VIVIAN WING KEI
LI,
GARY ANTHONY
MAXWELL,
TAMARA ELIZABETH
NELSON,
ROGER ODIN
ROGAN,
BRADLEY PHILLIP
SANDEN,
ANDREW CHARLES
STORBAKKEN, DEREK JAMES
TEMPRO,
CHRISTIAN MARC
TUNUGUNTLA, JAYA DEEP
YIP, KENNETH CHUN MING
CYPRIAN,
NGOLAH

MO: ICT116; WED: ENA 235














MORE…

http://isg.enme.ucalgary.ca/Peo
ple/Ulieru/SENG411-Outline.htm
THE DEVELOPMENT
PHASES





Software Development Process method to organize the activities
related to Creation, Delivery and
Maintenance of software systems
Preliminary Study & Requirement
Analysis
Problem Domain Analysis (coarse
design and component creation)
Iterative Incremental Development
System Test and Introduction
THE CUSTOMER


1) Informal specification of
requirements:
This should outline the project and
customer requirements. Make sure the
project is suitable for completion in one
term. Remember that it is not a
competition; do not aim to destroy the
supplier but give an honest set of
requirements. (Marks will be deducted for a
project considered too easy or too difficult.)
No more than 5 pages (if it were printed),
including the title page.(2%).
TASK DESCRIPTION


THE TASK: “Develop an
information system to support all
customer-related business
processes in a car rental
company”
INITIAL CONDITIONS:
- some business processes are
not at all supported by electronic
data processing;
- the ones supported have very
specialized systems
TASK DESCRIPTION

REQUIREMENTS:
- the system should provide all
functions directly related to handling
customers and other business
partners (e.g. suppliers.)
- remote areas that do not affect
business partners directly (e.g. tariff
planning, internal accounting, vehicle
transfer/status) shall not be part of
the system.
THE SUPPLIER


(1) Functional specification and
management plan (about 15-20
pages):
This should explain what you are
going to do for your project as
opposed to how you will accomplish
it. When writing this, do not assume
that your customer has any deep
knowledge of computer science.
REQUIREMENT ANALYSIS






Needed because the software
developers are not usually
specialists in the application domain
Put themselves in the users’ skin
Users should be actively involved!
WHAT (and WHY) the developed
software system is supposed to do
NOT ‘how’!
Communication developer-user is
essential
WAYS TO DOCUMENT THE
INFOrmation








Use Case Models
Activity Models
Specialized Dictionary
CRC cards
Mind Maps
Materials Collection
Dialog Blueprints
Business Class Models
ANALYSIS...



TECHNICAL DICTIONARY - enables
identification of business classes (
and of domain classes in the
DESIGN stage);
EXPLORATIVE PROTOTYPES
(dialog designs - first ‘view’ of the
system to be delivered + glimpse on
architecture);
CRC CARDS - identify
responsibilities and collaborators
(useful in the design of BUSINESS
class diagrams)
ANALYSIS - OVERVIEW



Analysis - maps from a
perception of the real world into
a representation;
Design - maps from an analysis
representation to an expression
of implementation, that is, from
a problem to a solution
ANALYSIS - states the problem
in terms that enable the
implementation.
RESPONSIBILITIES



THE MOST SINGLE IMPORTANT
ABILITY IN OOAD IS TO SKILFULLY
ASSIGN RESPONSIBILITIES TO
SOFTWARE COMPONENTS!
ANALYSIS - in it essence is all about
identifying CONCEPTS and
suggesting a logical solution
DESIGN - identifies OBJECTS from
the most relevant CONCEPTS (for
the application)
CLASS OR CONCEPT?




There is no universal agreement
on the meaning of class or
concept/entity/type
However they model different
perspectives:
Domain ANALYST - looks at the
real-world CONCEPTS (vehicle,
customer)
Software DESIGNER - specifies
software CLASSES
CONCEPT OR CLASS in
UML



The term ‘concept’ is not defined in
UML - so we will refer to Larman
(1998):
CONCEPT - is an idea, thing or
object. Has a symbol (words or
images), Definition and examples
(suggested by the Use Cases).
CLASS - description of a set of
objects that share the same
attributes, operations, methods,
relationships annd semantics
CONCEPT OR CLASS?...




For US:
the terms ‘concept’ (entity/type) is
used to refer to real-world things
the term ‘class’ is used to refer to
software specifications and
implementations
CONCEPTUAL MODEL (Analysis
Model, ‘Business Class Model’) representation of concepts in a
problem domain
CONCEPTUAL MODEL



In UML is illustrated with
STATIC Diagrams in which NO
OPERATIONS are defined.
Focus is on Domain Concepts,
NOT on software entities.
Consists of: CONCEPTS
(‘Business Class’),
ASSOCIATIONS between them
and ATTRIBUTES of concepts
NO OPERATIONS!!!
CUSTOMER


(2) Evaluate the Functional
specification and
management plan:
This is to be assessed and
evaluated against actual
requirements. Make sure that
you are satisfied at this stage
that your supplier is aiming to
meet your requirements
SUPPLIER


(2a) Overall design document:
Based on the examination of the
module interactions, you should
prepare a set of interface definitions.
For the overall design document,
(about 40-50 pages) you should
define your major data abstractions
and modules, focusing on the
design, submodules, error-handling,
exports and imports of the major
modules.
ANALYSIS - OVERVIEW
(cont...)





USE CASE ANALYSIS:
Identify Use Cases (Business and
System) and Actors;
Group them into packages (useful to
identify components…);
Use Case Description helps to
identify: Activities and their
Sequence; Dialogs
ARCHITECTURE SPECIFICATION
INTERFACES




Concerned with Processes and
Behavior (e.g. SelectCustomer);
Between Domain Classes (e.g.
Customer-Contract: ‘customer
has n contracts’);
At dialog level (association of
dialog components to use cases
helps to identify them!);
Specify the interfaces in detail
(using the interface classes!)
USE CASE ANALYSIS






Serve to analyze the BEHAVIOR
CRC cards - clarify the structure
Use all possible sources of info.
(documentation, special literature,
interviews with domain experts,
etc.)
Ask all possible questions about:
Objects (forms, persons, contracts,
places..)
Properties (of the objects)
ANALYSIS …



BUSINESS CLASSES - ANALYSIS
MODEL (from Use Cases; Dialog
Designs; CRC Cards; Technical
Dictionary;);
ACTIVITY MODELING (from Use
Case descriptions) - result in
operation at Design;
COMPONENT IDENTIFICATION
(Maps Activities to Business
Classes) - behavioral
CUSTOMER


(3) EVALUATE THE Overall design
document:
The functional specification and the overall
design together describe the proposal from
your supplier. When accepted, these
documents are a contract between you and
your supplier about what they intend to
deliver. Changes can be negotiated later
and should be recorded as an appendix.
Mark clearly, in italic or bold type, any
comments or amendments on the
supplier's overall design document. You
may add up to 2 additional pages
SUPPLIER and CUSTOMER


2b) Presentation:
A preliminary review of about 5
minutes will be presented in
class, with up to 5 minutes of
questions and discussion from
the customer
SUPPLIER

The detailed design document
(about 80-100 pages, built on top of
the overall design document) should
include answers to all the questions
for as many levels as possible. Write
pseudocode or code outline for all
modules (this should be in terms of
calls to other high-level functions and
be easy to read). Include test
schedules as part of this document.
Update the sections describing
coding responsibilities.
SUPPLIER


3) User manual (about 20-25
pages):
This should be a self contained
description of how to use your
system. It should have a clear
structure, a table of contents,
and an index. Do not discuss
any implementation.
CUSTOMER

EVALUATE USER’S MANUAL.
Mark clearly, in italic or bold
type, any comments or
amendments on the supplier's
user manual.
SUPPLIER


(4) Demonstration:
This should exhibit the best
features of your system. It will
be followed by questions from
your customer, with suggestions
of input to try, and discussion.
CUSTOMER

EVALUATE DEMO. Use the
demo time to assess the system
and the (possibly revised) user
manual. Everyone should attend
and take part. You should
ensure that the demo relates
closely to what has been
negotiated and agreed in the
contract.
CUSTOMER


7) PROJECT Evaluation:
Write a project evaluation (4-5
pages) which should include a
discussion of how well the project
satisfies your original requirements
or what has been added or
subtracted; how useful the design
process was and what differences (if
any) you propose for the design
assignment.
SUPPLIER


(5) PROJECT Evaluation:
Discussion of how well your project
satisfies your original functional
specifications or what has been
added or subtracted; how useful the
design process was and what
differences (if any) you propose for
the design assignment; how the test
plan worked, how the real
management structure resembled
the planned one
Download