A large sub discipline that addresses the management and technical issues of the development of software systems.
Software Life Cycle
describes the activities that take place from the initial concept formation for a software system up until its eventual phasing out and replacement.
Fundamental feature
it provides the structure for applying techniques to develop software systems
Software life cycle
is an attempt to identify the activities that occur in software development.
2 main parties of Development of a software product
The Customer
The Designer
Customer
a customer who is the client of the designing company
Customer
who is the eventual user of the system
Waterfall Model:
Requirementspecification
Architectural Design
Detailed Design
Coding and unit testing
Integration and testing
Operationandmaintenance
Requirements specification
Designer and the customer try to capture the description of what the eventual system will be expected to provide
Requirements specification
determining how the system will provide the expected services.
Requirements specification
Involves eliciting information from the customer about the work environment, or domain, in which the final product will function.
Requirements specification
This begins at the start of product development.
Architectural Design
Concentrates on how the system provides the services expected from it.
Architecturaldesign
Firstactivity - high level decomposition of the system info components, architecture design performs this decomposition.
Detailed Design
a refinement of the component description provided by the architectural design
Detailed design
behavior implied by the higher -level description must be preserved in the more detailed description.
Language used for the detailed design must allow some analysis of the design in order to assess its properties.
Detailed design
Keep track of the design options considered.
Coding and Unit testing
after coding, the component can be tested to verify that it performs correctly.
Integration and testing
Once enough components have been implemented and individually tested, they must be integrated as described in the architectural design.
Integration and Testing
further testing is done to ensure correct behavior and acceptable use of any shared resources.
ISO 9241
define usability of the office environment workstations.
Integration and testing provide impetus for designers to take seriously the HCI implications of their design.
Maintenance
after the product release, all work on the system is considered under the category of maintenance.
Majority of the lifetime of a product is spent in the maintenance activity.
Maintenance
Involves correction of errors in the system which are discovered after the release and the revision of the system to satisfy requirements that were not realized during previous development.
Maintenance
Provides feedback to all the other activities in the life cycle.
Waterfall Model
What model is this?
Interactive System
are designed to enable communication between the system and the user.
Interactive system concerned with:
Designing interactive systems to support human activities
Applying usability engineeringtechniques to evaluate the effectiveness and appropriateness of the design.
Goals of Interactive design:
Develop usable products
Involve users in the design process
Usability
means easy to learn, effective to use and provide an enjoyable experience.
Usability Engineering
the ultimate test of usability based on measurement of user experience.
Usability Engineering
demands that specific usability measures be made explicit as requirements.
Usability specification:
usabilityattribute/principle
measuringconcept
measuringmethod
nowlevel/worstcase/plannedlevel/bestcase
Usability Engineering Problems:
Usabilityspecification requires level of detail that maynotbe
possibleearly in design satisfying a usability specification
doesnot necessarily satisfy usability
Part of usability specification for a VCR
Attribute: Backward recoverability
Part of usability specification for a VCR
Measuring concept: Undo and erroneous programming sequence
Part of usability specification for a VCR
Measuringmethod: Number of explicit user actions to undo current program