8.1 lecture 8 finalising design specifications; quality in systems development ims2805 - systems...

43
8.1 Lecture 8 Finalising Design Specifications; Quality in Systems Development IMS2805 - Systems Design and Implementation

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

8.1

Lecture 8

Finalising Design Specifications;Quality in Systems Development

IMS2805 - Systems Design and Implementation

8.2

References

HOFFER, J.A., GEORGE, J.F. and VALACICH (2002) 3rd ed., Modern Systems Analysis and Design, Prentice-Hall, New Jersey, Chap 5, 8, 15, 16

HOFFER, J.A., GEORGE, J.F. and VALACICH (2005) 4th ed., Modern Systems Analysis and Design, Prentice-Hall, New Jersey, Chap 13

WHITTEN, J.L., BENTLEY, L.D. and DITTMAN, K.C. (2001) 5th ed., Systems Analysis and Design Methods, Irwin/McGraw-Hill, New York, NY. Chapter 11, 17

8.3

References

ANDERSON, P.V. (1995). Technical writing: A reader-centred approach, 3rd ed. Harcourt, Brace & Co., Fort Worth.

BROCKMAN, J. R. (1990). Writing better computer user documentation - From paper to hypertext. John Wiley and Sons, Inc., New York.

Abel, D.E. and Rout, T.P. (1993) Defining and Specifying the Quality Attributes of Software Products The Australian Computer Journal 25:3 pp 105 - 112 (particularly pp 105 - 108)

Dahlbom, B. and Mathiassen, L.(1993). Computers in Context: The Philosophy and Practice of Systems Design. Cambridge, Mass.: NCC Blackwell. (particularly pp 135 - 157)

Elliot, S. (1993) Management of Quality in Computing Systems Education, Journal of Systems Management, September 1993 pp 6-11, 41-42 (particularly pp 6-8)

8.4

References

Perry, W.E. (1992) Quality Concerns in Software Development. The Challenge is Consistency. Information Systems Journal 9:2 pp 48 - 52

Standards Association of Australia (1991). Australian Standard 3563.1 -1991: Software Quality Management System. Part 1 Requirements

Standards Association of Australia (1991). Australian Standard 3563.2 -1991: Software Quality Management System. Part 2 Implementation Guide

8.5

Need for systems to be developed more quickly today

The lines between analysis and design and design and implementation are blurring

Traditional approaches allowed for a break between design and implementation

Other approaches, such as CASE and prototyping, have caused overlap between the two phases

Finalising Design Specifications

from Hoffer, J.A., et al. (2002). Modern Systems Analysis and Design, (3rd edition) Addison-Wesley, Reading MA, USA, Chap 15.

8.6

The Process of Finalizing Design Specifications

Less costly to correct and detect errors during the design phase

Two sets of guidelines Writing quality specification statements The quality of the specifications themselves

Quality requirement statements Correct Feasible Necessary Prioritized Unambiguous Verifiable

from Hoffer, J.A., et al. (2002). Modern Systems Analysis and Design, (3rd edition) Addison-Wesley, Reading MA, USA, Chap 15.

8.7

The Process of Finalizing Design Specifications

Quality requirements Completely described Do not conflict with other requirements Easily changed without adversely

affecting other requirements Traceable back to origin

from Hoffer, J.A., et al. (2002). Modern Systems Analysis and Design,

(3rd edition) Addison-Wesley, Reading MA, USA, Chap 15.

8.8

Finalising design specifications

Key deliverable:A set of physical design specifications

Sample contents: Overall system description Interface requirements System features Non-functional requirements Other requirements Supporting diagrams and models

see Hoffer et al (2002) p 502

8.9

Finalising design specifications

Overall system description: Functions Operating environment Types of users Constraints Assumptions and dependencies

Interface requirements User interfaces Hardware interfaces Software interfaces Communication interfaces

8.10

Finalising design specifications

System features Feature 1 description…. Feature n description

Non-functional requirements Performance Safety Security Software quality Business rules

Other requirements

Supporting diagrams and models

8.11

Finalising design specifications

Representing design specifications: Written document with diagrams and

models – traditional approach uses structure charts

Computer-based requirements/CASE tool to input and manage specifications

Working prototype to capture specifications

Combinations of the above

8.12

Finalising design specifications

Structure Charts Shows how an information system is

organized in hierarchical models Shows how parts of a system are

related to one another Shows breakdown of a system into

programs and internal structures of programs written in third and fourth generation languages

8.13

Finalising design specifications

Structure Charts Module

A self-contained component of a system, defined by a function

One single coordinating module at the root of structure chart

Single point of entry and exit Communicate with each other by passing parameters

Data couple A diagrammatic representation of the data exchanged

between two modules in a structure chart Flag

A diagrammatic representation of a message passed between two modules

8.14

Finalising design specifications

Structure Charts Pseudocode

Method used for representing the instructions inside a module

Language similar to computer programming code

Two functions Helps analyst think in a structured way about the

task a module is designed to perform Acts as a communication tool between analyst and

programmer

8.15

Prototyping Construction of the model of a system Allows developers and users to

Test aspects of the overall design Check for functionality and usability

Iterative process Two types

Evolutionary Prototyping Throwaway Prototyping

Finalising design specifications

8.16

Evolutionary Prototyping Begin by modeling parts of the target system If successful, evolve rest of the system from the prototype Prototype becomes actual production system Often, difficult parts of the system are prototyped first Exception handling must be added to prototype

Throwaway Prototyping Prototype is not preserved Developed quickly to demonstrate unclear aspect of

system design Fast, easy to use development environment aids this

approach

Finalising design specifications

8.17

Finalising design specifications: data design

Physical file and database design requires: Normalised relations Attribute definitions Where and when data is entered, retrieved,

updated and deleted Response time and data integrity needs Implementation technologies to be used

Design physical tables and file structures according to performance factors and constraints of the particular application

8.18

Quality in Systems Development(must be embedded in the process)

Initiation

Analysis

Design

Implementation

Review

MaintenanceQuality

Documentation

Ethics

ProjectManagement

Analysts Role

8.19

Definitions of Quality

Degree of excellence (Oxford) Fitness for purpose (AS1057)

includes quality of design, the degree of conformance to design, and it may include such factors as economic or perceived values

Ability to satisfy stated/implied needs (ISO8402)

Conformance to requirements (Crosby, Horch)

8.20

Determining Quality ..

when having a meal in a restaurant when purchasing a car when buying a computer

The requirements vary immensely, and some of the success measures are very hard to quantify...

Quality means different things to different people .. and it varies in different situations

8.21

Information systems: quality issuesThe system: does not meet the client’s business or

processing needs does not support the client’s working

methods is unstable and unreliable does not improve productivity is difficult to use or requires excessive

training to use is expensive to maintain

8.22

The system: is incomplete is expensive to operate has a short life span is delivered late costs more than budget cannot grow with the organisation does not produce a return on investment

Information systems: quality issues

8.23

“Effort spent on software maintenance is greater than that spent on software development.”

“An error is typically 100 times more expensive to correct in the maintenance phase on large projects, than in the requirements phase.”

Boehm, B. (1981) Software Engineering Economics

Error detection in systems

8.24

Error Detection

* The cost of detecting and correcting errors rises greatly during

the systems development cycle.

In addition to this is the cost to the organisation of having an incorrect system

Initiation Analysis Design Implementation

$

8.25

Quality Costs

Review,Inspection,

Re-do,

User complaints, Downtime,Loss of sales, Re-testing,

Re-documenting, Re-training,Overtime, Customer complaints,

Financial losses, Employee turnover

The tip of the Iceberg

The hidden costsof not having quality

systems

Obvious upfront coststo the organisation

8.26

Quality dimensions

Correctness - Does it accurately do what is intended?

Reliability - Does it do it right every time?

Efficiency- Does it run as well as it could?

Integrity - Is it precise and unambiguous?

Usability - Is it easy to use?

8.27

Quality dimensions

Maintainability - Is it easy to fix? Testability - Is correctness easy to

check and verify? Flexibility - Is it easy to adapt and

extend? Portability - Can it be easily converted? Reusability - Does it consist of general

purpose modules? Interoperability - Will it integrate easily with

other systems?

8.28

The Quality Process

The quality process involves the functions of: Quality control - monitoring a process and

eliminating causes of unsatisfactory performance

Quality assurance - planning and controlling functions required to ensure a quality product or process

8.29

Implementing a Quality System

Quality must start at the top - Executive sponsorship is vital.

Everyone must be involved and motivated to realise that they have a responsibility towards the final product, its use, and its quality.

Improve job processes by using standards, and preparing better documentation (using project control methodologies).

Use a Quality Assurance group. Use technical reviews.

8.30

Standards

Levels of standards Industry / National / International Organisational

Industry Capability Maturity Model (Humphrey 1989)

See Whittten et al (2001) pp 76-77 National / International

Standards Australia (AS 3563) International Standards Organisation (ISO 9000)

Organisational The organisation may adopt or tailor industry, national

or international standards.

8.31

Standards

Standards can be of varying levels of enforcement and types which will depend on the organisation and project variables. For example : mandatory practice: must be adhered to advisable practice: can be breached with

good reason in the form of a checklist, template, or

form.

8.32

Standards - Examples

• Document template (form, e.g. template for these slides)

• Acceptance test sign off form (form)• Screen standards (standard - mandatory practice)• Unit test process (standard - mandatory practice)• COBOL II standards (standard - mandatory practice)• Post implementation review procedure (advisory

practice)Note: different organisations and projects will have different views about whether a standard is mandatory or advisable.

8.33

Quality reviews

Reviews are used in the quality control and quality assurance functions. There are two main forms of review:

Quality Assurance: management reviews

Quality Control technical reviews

8.34

Management or Project Review

Management must check the baseline for a deliverable to see that it meets the quality assurance requirements.

This may involve simply noting that a technical review has passed a particular deliverable. The manager can then be assured of quality(given that the manager has actively taken part in the development of the quality system)

The manager can then alter the project plan if necessary to allow for delays or early completion.

8.35

Technical Reviews

A technical review is a structured meeting where a piece of work, which has previously been distributed to participants, is checked for errors, omissions, and conformance to standards.

All deliverables need review, otherwise how do you control quality?

The review is part of quality control and must produce a report so that the quality assurance function can be satisfied.

The report may be a checklist which indicates that the deliverable passes/fails the quality requirements for that type of deliverable.

This report is part of the baseline for the deliverable.

8.36

Technical Reviews

A technical review: is a formal meeting of a project team which is

guided by an agenda and standards allows input from many people produces a report which is made public requires committed participants to be responsible

and accountable for their work is educational as it clarifies standards, and

highlights strengths and weaknesses of the team’s skills and knowledge

expects all participants to be responsible for the resulting quality of the artefact

8.37

Technical Review Roles

review member Know the review process Be positive and supportive Interested in improving the quality of the deliverable and

the review process review leader

Secure agreement on objectives and standards Encourage input from all participants, and politely silence

overly talkative participants Facilitate agreement to ensure action on the deliverable

scribe Record all issues clearly, accurately, and unambiguously.

If not sure of a particular issue, seek clarification

8.38

Review Member

Pre-requisites for review member: Know the review process Be positive and supportive Interested in improving the quality of the

deliverable and the review process

Preparation for review: Read and annotate material before review (be

prepared)

8.39

Review Leader

Pre-requisites for review leader: Know the review process Know the objectives & standards for the review Be objective & aware of the implications the review

may have for certain participants

Prepare: Agenda Organise venue & any ancillary materials necessary Notify participants & ensure they have review

deliverable, agenda, & standards in advance.

8.40

Review Leader

During the review: Were preparations suitable ? - if not you may have

to re-schedule Secure agreement on objectives and standards Encourage input from all participants, and politely

silence overly talkative participants Facilitate agreement to ensure action on the

deliverable Ensure participants understand he ramifications of

these actions Ensure scribe has accurately documented review

8.41

Review Leader

After the review: Was the review successful? Is the outcome likely to produce a better quality

product? Can the review process be improved? Can the

quality of the quality system be improved ? - this is continuous improvement.

Do the objectives and standards for the type of deliverable need review

Is the presenter of the deliverable capable of improving the quality of the item

When will the deliverable be reviewed again? Who is responsible? (Are they aware of the responsibility?)

8.42

Scribe

Pre-requisites for the scribe: Know the review process Know the objectives and standards for

the current review Be objective and aware of the

implications the review may have for certain participants

8.43

Scribe

During the review: Record all issues clearly, accurately, and unambiguously.

If not sure on a particular issue, seek clarification Be sure to use clear reference pointers between the review

action list (report) and the review deliverable. Gather copies of any materials introduced by participants to

support an issue.

After the review: Check the review action list is accurate and promptly

distributed to relevant people (who may not have been in the review)