2 AgendaSoftware engineering and the design process for interactive systemsIterative design and prototypingWhen is each best?Self study – read and take your own notesUsability engineeringDesign rationale
3 The software lifecycle Software engineering is the discipline for understanding the software design process, or life cycleDesigning for usability occurs at all stages of the life cycle, not as a single isolated activityThere are many models of the software life cycle we will look at the 2 main ones.Waterfall, which assumes all the requirements can be predefinedPrototyping, which assumes the system must be build for the requirements to emerge.In reality most software development is somewhere between these two extremes
4 The waterfall model Requirements specification Architectural design Detailed designCoding and unit testingIntegration and testingOperation and maintenance
5 Activities in the life cycle Requirements specificationdesigner and customer try capture what the system is expected to provide can be expressed in natural language or more precise languages, such as a task analysis would provideInformal design and scenario based design will result in better requirements analysis
6 Detailed design Separation of layers Detailed design of the interface Move from informal to formal specificationSeparation of layersA layered approach to software development will provide for more flexibilityDataLogicInterface
7 Testing Testing is not only about functionality of code Usability testingThere are some basics that are nearly always importantLayoutLanguageNumber of click/steps to perform taskChoose rather than rememberMore detail in weeks 7 & 8
8 The life cycle for interactive systems cannot assume a linear sequence of activities as in the waterfall modellots of feedback!Requirements specificationArchitectural designDetailed designCoding and unit testingIntegration and testingOperation and maintenance
9 Iterative design and prototyping Iterative design overcomes inherent problems of incomplete requirementsRequirementsReviewDesignImplement
10 Prototypes simulate or animate some features of intended system different types of prototypespaperthrow-awayincrementalEvolutionaryWhen do you move from paper prototype to a functional prototype?What are the consequences of moving too early or too late?
11 Research exampleWe wanted to build a paperless assignment grading product with pen annotation of assignments.New paradigmFew studiesTechnical challengesBuild a prototype
12 Waterfall or Prototype Interaction paradigm ‘standard’ and well understood?The problem is well understood?Data centric systemsInformation systemsData warehousePrototypeThe interaction paradigm new or poorly understood?The problem definition is incomplete or poorly defined?Interface centric systemsgamesModellingDesign tools
13 Waterfall or prototype It doesn’t have to be a one or the other decisionMany systems are a blendWith some parts are prototyped to elicit requirementsThere isn’t one ‘best way’Nor is there a ‘silver bullet’
Your consent to our cookies if you continue to use this website.