comp1007 introduction to requirements analysis © copyright de montfort university 2002 all rights...

23
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis Moving to Design

Upload: layla-copsey

Post on 01-Apr-2015

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

COMP1007 Introduction to Requirements Analysis

Moving to Design

Page 2: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Learning Objectives

Examine the issues that have to be addressed during design

Distinguish between System and Object Design

Consider the impact of implementation technology

Page 3: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Analysis vs Design

Why separate analysis and design Project Management, Staff Skills and Experience, Client Decisions Choice of Development Environment.

Page 4: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

What makes a good analysis To provide a sound foundation for

design, analysis should meet the following four criteria:– correct scope,– completeness,– correct content, – consistency.

Page 5: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

What makes a good design

Functional BuildableManageable

MaintainableUsable ReusableEfficient EconomicalReliable SecureFlexible General

Page 6: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Measurable Objectives

Information systems are built to satisfy an organisational need such as– provide better response to customers– but this is difficult to measure and thus determine

success Measurable objectives might include

– reduce invoice errors by a third– process 50% more orders

However not all objectives are quantifiable

Page 7: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Logical vs Physical Design

One way of separating design by splitting it into – Logical design - implementation

independent– Physical design - implementation

dependent

Page 8: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Logical vs Physical Design

Physical design is affected by– Hardware and its location e.g.

Large central computer Network of PCs

– Operating System– Development Language and

Environment– Database Management System used

Page 9: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Logical vs Physical Design

Logical design is concerned – how objects interact determining

message signatures attribute type attribute and operation visibility operation design

Page 10: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Logical vs Physical Design

The distinction permitted in theory one logical design leading various physical designs and thus implementations.

However the distinction is made much less these days

The choice of system architecture is used to enable different styles of implementation

Page 11: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

System and Object Design

System Design is concerned with system wide issues that affect the whole system including the software architecture

Object Design is detailed design of the system and is performed within the context of the systems design decisions.

Page 12: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

System Design

Sub-systems and major components are identified.

Any inherent concurrency is identified.

Sub-systems are allocated to processors.

Page 13: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

System Design

A data management strategy is selected.

A strategy and standards for human-computer interaction are chosen.

Code development standards are specified.

Page 14: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

System Design

The control aspects of the application are planned.

Test plans are produced. Priorities are set for design trade-offs. Implementation requirements are

identified (for example, data conversion).

Architectural patterns may be used.

Page 15: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

System Design

Campaign Database

Campaign Domain

Advert Sub-system

Advert HCI Sub-system

Campaign Costs Sub-system

Campaign Costs HCI Sub-system

A single domain layer supports two application sub-systems.

Application layer

Presentation layer

A typical software architecture

Bennett, McRobb, Farmer, 1999

Page 16: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

User Interface Package

Business Objects Package

JDBC

Java SQL

Java AWT Application Windows

Database Package Business Objects

Control Objects

Object to Relational

UML packages representing layers in the three-tier architecture

Bennett, McRobb, Farmer, 1999

Page 17: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Detailed or Object Design

This involves making decisions regarding– attribute data type– operation signatures– attribute and operation visibility– association design– use of design patterns

Page 18: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Object Design

BankAccount

-nextAccountNumber:Integer -accountNumber:Integer -accountName:String {not null} -balance:Money = 0 -overdraftLimit:Money

+open(accountName:String):Boolean +close():Boolean +credit(amount:Money):Boolean +debit(amount:Money):Boolean +viewBalance():Money #getBalance():Money -setBalance(newBalance:Money) #getAccountName():String #setAccountName(newName:String)

Bennett,McRobb,Farmer, 1999

Page 19: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

RUP Phases

Inception– business case– plan

Elaboration– use cases– baseline architecture

Construction– product is built

Transition– beta release/testing/training

Rational Unified Process

Page 20: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Design Activities

Centred around the software architecture– early iterations focus on its production/validation– represented by a number of architectural views

Production of the Design Model– classes structured into design packages with well

defined interfaces– how objects collaborate to perform the use cases

– check completeness and consistency of the design

Page 21: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Implementation & UP

The purpose of implementation is: – to define the organization of the code, in terms of

implementation subsystems organized in layers, – to implement classes and objects in terms of

components (source files, binaries, executables, and others),

– to test the developed components as units, and – to integrate the results produced by individual

implementers (or teams), into an executable system.

Page 22: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

Summary

Examine the issues that have to be addressed during design

Distinguish between System and Object Design

Consider the impact of implementation technology

Page 23: COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis

COMP1007 Introduction toRequirements Analysis

© Copyright De Montfort University 2002 All Rights Reserved

References Bennett, S. et. al. “Object-Oriented

Systems Analysis & Design using UML” McGraw-Hill 1999

Jacobson, I., Booch, G. & Rumbaugh, J. (1999) “The Unified Software Development Process” Addison-Wesley

Rational Unified Process Best Practices for Software Development Teams White Paper, 1998 www.rational.com

Rational Unified Process 2000