Software Design & Evaluation Jim Diamond Medical Informatics 28 th February 2001
Who is Afraid of the System? Knowledge
Communication! The sponsor (Client) has a general idea of what he or she wants the program to do, but may not really understand how computers work or what is involved in programming. The Developer (Systems Analyst), on the other hand, knows a lot about computers and programming, but typically does not know very much about the task from the sponsors point of view.
DesignEvaluation Feedback Software Design/Evaluation Environment DesignEvaluation
Software Life Cycle
Who will use it, how experienced? Will the product be used often by experts? Computers type? Functionality? Compatibility policy? RequirementsAnalysis Requirements Analysis Requirements are a description of what you actually want Background information for the non-specialist
Specification A description of what the program does The specification describes one particular way of solving the problem Not how it does it Formal document for project specification
Development Structure Division of the program into modules and procedures Design of the data structures and algorithms Plans for producing documentation and test cases Configuration management Produce the actual code for the program
Evaluation How do we know when a program is correct? Ensure confidence Black box testing White box testing Module test Integration testing
Deployment
Maintenance Bug reporting FixingDistribution Version control
Retirement The period of time in the software lifecycle during which support for a software product is terminated De-commission
ISO 9126 is the software product evaluation standard from the International Organisation for Standardisation. This international standard defines six characteristics that describe, with minimal overlap, software quality. ISO 9126 FunctionalityReliabilityUsabilityEfficiencyMaintainabilityPortability Software Evaluation
Functionality SuitabilityAccuratenessInter-operabilityComplianceSecurity
Reliability Maturity Fault tolerance Recoverability
Usability UnderstandableLearnableOperability
Efficiency Time behaviour Resource behaviour
Maintainability AnalysableChangeableStabilityTestable
Portability AdaptabilityInstallableReplaceableConformance
Pathological Interface Design (1)
Pathological Interface Design (2) Breast Fine Needle Aspiration Cytology
Pathological Interface Design (3) EXPERT SYSTEMS
What should be the characteristic features of the interface design? Pathological Interface Design (4) “Users don't have the manual, and if they did, they wouldn't read it.” “In fact, users can't read anything, and if they could, they wouldn't want to.”
Pathological Interface Design (5) SimpleAppropriateFunctional