28
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Embed Size (px)

Citation preview

Page 1: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Tietojärjestelmien peruskurssiSysteemisuunnittelu japrototyyppimenetelmä

Malin Brännback

Page 2: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Software Development Process

Idea Requirements (feasibility study) Plan schedule Architecture Construction Inspection

Page 3: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

I

R

A

C

I

Plan&schedule

Page 4: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Idea

From observation, inspiration, experience, or a business problem

This idea is the concept or primary goal for the application

to build a computer game for your children this Saturday afternoon

whether to develop a new contact management system; cost/benefit analysis for why this is a better aid for the sales force

– The idea is approved

Page 5: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Requirements (part of feasibility study)

A project team is generated from the examination of the idea

set up the scope of the project define a feature list specify the limitations and constraints prioritise the requirements

Page 6: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Requirements (part of feasibility study)

The game: rules of the game; how many players

Contact management system; interviewing users, perform a complete task analysis, develop a detailed document of precise requirements

Page 7: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Planning and Scheduling

The project plan defines how the project will be accomplished

A rough, high-level schedule and a time line can be estimated

This schedule is based on guesses and not on details because they are developed at a later stage

Page 8: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

The examples

The game: to do it now and finish before dinner

The contact management system: a strategy for completing the system a high-level schedule will be estimated based on

that plan

Page 9: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Developing the architecture

There is no one right way to design software There are some requirements and basic laws of

physics and engineering, but much latitude with those restrictions

Therefore you need a methodology, which is not a cookbook but a path, as you walk down the path, you use experience and knowledge to create a design

Page 10: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Starting construction

Use the architectural design just developed For the game: you just sit down and start

coding For the contact management system if OO

design: each programmer on the team is assigned a set of

classes based on the architectural design and can begin

Page 11: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Construction

Initiating the inspection: code walk through unit testing integration testing systems testing

– purpose is to inspect bugs and other errors as early as possible

Page 12: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Inspection

For the game: you pound out some code and give it a quick

inspection pull apart and fix it

For the contact management system: more intense build/inspect cycle

Page 13: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Basis for a methodology

An analysis phase, design to understand the present system and suggest the functional requirements of an alternative system

A prototype phase to construct a prototype for evaluation by users

A set of evaluation and prototype modification stages

A phase to design and develop the target system using the prototype as part of the specification

Page 14: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Prototyping

Step-by-step development validation an approximation of a type that exhibits the

essential features of the final version The design needs to be tested thoroughly

first (mass production; Mercedes) one-off final versions (bridge building) IS are also one-off

Page 15: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

IS prototyping

One-off designs; the cost of building a prototype has been a major proportion therefore rarely included

addresses problems in traditional systems analysis

the user sees the final version - too late user rejection

response to user dissatisfaction

Page 16: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

IS prototyping

Improved form of systems investigation and analysis aid to design Useful when:

application area is not well defined the organisation is not familiar with the technology

(hardware, software, communications, designs, etc.) communication between analyst and users is poor rejection costs are high assess the impact of the IS

Page 17: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Prototyping vs. iterative design

Prototyping used to mean quick and dirty recently the same as iterative design two types (Turban)

throwaway evolutionary

Page 18: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Throwaway

Traditional prototyping make a pilot which is then thrown away and

preliminary design takes place

Page 19: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Evolutionary

Mini-system that is refined iteratively over a long trial period

Iterative prototyping is sometimes called participatory design

Page 20: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Primary features of prototyping

Learning is explicitly integrated into the design process

short intervals between iteration, fast feedback involvment of users low cost requirements are allowed to evolve ( prototype

surprise!

Page 21: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

prototyping

Special tools report generators hypertext

systems prototyping interface design (horizontal and vertical

prototpying iteration becomes a practical possibility developed in a few days Drawback; system requirements may change

Page 22: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Other intentions

Discard because: inefficient incomplete - performing only some tasks poorly documented unsuitable for integration incapable of holding the number of records

necessary inadequate - designed only for one type of users

Page 23: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Usability engineering and prototyping user interface designs

Early usability evaluation can be based on prototypes of the final system.

Faster cheaper better understanding of the user interface design

Problems with the waterfall model is that there is no user interface to test until last possible moment.

Page 24: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Usability engineering and prototyping user interface designs

It is not possible to involve the users in the design process by showing them abstract specifications document, since they will not understand them as well as a prototype

cost and time savings can only be achieved by reducing the prototype compared with the full system

Page 25: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Reducing prototypes

Vertical prototyping; Cut down the number of features

Horizontal prototyping; reducing the level of functionality of the features so that they seem to work - but do not

Page 26: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Vertical prototyping

Narrow system which includes in-depth functionality with few selected features

tested under realistic cisrcumstances videotex system - user can access a

database with real data

Page 27: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Horizontal prototyping

Full-features system entire user interface No underlying functionality simulation of interface where no real work

can be done Videotex: execute all navigation and search

commands but without retrieving any real information

Page 28: Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback

Scenarios

Ultimate minimalist prototype in that they describe a single interaction session without any flexibility for the user

A scenario is a word with many meanings. It is a description of

an individual user using a specific set of computer facilities to achieve a specific outcome under specific circumstances over a certain time interval