Upload
eustacia-emmeline-baldwin
View
217
Download
0
Embed Size (px)
Citation preview
Tietojärjestelmien peruskurssiSysteemisuunnittelu japrototyyppimenetelmä
Malin Brännback
Software Development Process
Idea Requirements (feasibility study) Plan schedule Architecture Construction Inspection
I
R
A
C
I
Plan&schedule
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
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
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
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
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
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
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
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
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
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
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
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
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
Prototyping vs. iterative design
Prototyping used to mean quick and dirty recently the same as iterative design two types (Turban)
throwaway evolutionary
Throwaway
Traditional prototyping make a pilot which is then thrown away and
preliminary design takes place
Evolutionary
Mini-system that is refined iteratively over a long trial period
Iterative prototyping is sometimes called participatory design
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!
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
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
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.
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
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
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
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
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