The Software Development Process A*D*I*T*D*E*M All Day I Try to Defy Evil Milligan
Aspects of good software Good ReliablePortableHCI GoodS/W RobustMain- tainable CorrectEfficient Consistency Good error messages Unambiguous clear interface
Analysis (of ADITDEM) Client Requirements Specification +Produce Devel- opment Team Systems Specification
Analysis Techniques used Interviews;Observations Fill in Forms; and Visits; Questionaires; native wit & experience
Design (of ADITDEM) Three consideration HCI data structures Main program Graphical design techniques flowcharts block diagrams structure charts Top down methods Step wise refinement using pseudocode
Design (ctd.) HCI there are recognised rules of HCI design Consistent visual appeal Good error prompts On line help Data Structures Arrays, lists, records, user defined – which is best for the job? The main program May take years System specification will determine H/W, OS, choice of HLL
Implementation ( of ADITDEM) The program is actually keyed in in the language chosen –Standard algorithms are used –Pre-written modules are used A choice of language environments is made at Design stage Various HLLs have their purposes –VB is versatile –C+ gives efficient code –Prolog is suited to knowledge based systems –Perhaps there already is an advanced package with scripting which can do the job
Implementation ( of ADITDEM) Factor affecting the HLL chosen the type of problems the language is styled to solve The data structures available Control structures available (loops, branching etc) What platform is to be used (OS & H/W) Scripting v. HLL Both have readable sets of keywords Both have environments with software tools Scripting is specific to the package
Testing ( of ADITDEM) Sets of data are created to check if the program works Properly, test data is created at the design stage Alpha testing is ‘in the lab’ Types of tests (conditions) –NORMAL, with normal data –BOUNDARY, with possible but extreme data –EXCEPTIONAL, trying unsusual or illegal input Beta (acceptance) testing is ‘live’
Documentation ( of ADITDEM) Documentation is paperwork There are several items –At the A&D stage, requirements specification & system specification –In the hard copy program Internal Documentation –After the software is produced (you see these when you buy programs – wee booklets User guide Technical guide
Evaluation ( of ADITDEM) The software engineering team have to reflect on the job done They will have a systematic approach to gather evidence They will measure their success against pre-decided criteria For example feedback interviews, surveys, questionnaires, etc., trying to be objective at all times
Maintenance ( of ADITDEM) There exists THREE types of maintenance –Corrective: to fix shortcomings or even errors –Adaptive: can we take the S/W to another setup? To another operating system? –Perfective: ‘now that we think of it, we want the S/W to do some extra bits; can it be upgraded?