Understanding the Motivation and Techniques of Modeling in Software Development
This text explores the fundamental motivations behind modeling, emphasizing its role in communication, abstraction, and complexity management across various scenarios. It highlights the importance of reviewing models for completeness and validity, ensuring they meet expression goals and user requirements. Key modeling techniques discussed include hierarchical task analysis and cognitive models like GOMS. The usability of models for communication within the software development process is examined, alongside their extensibility to accommodate new requirements or technologies.
Understanding the Motivation and Techniques of Modeling in Software Development
E N D
Presentation Transcript
Modelling Ebba Thora Hvannberg
Motivation of modelling • As with all descriptions, it is tocommunicate • Abstractionthroughstructureacrossmanyscenarios • Managingcomplexity and scale • Review for completeness – does it include all therequirements • Review for validity – is it correct and consistent? • Implement in programs
Power of modellingtechnique (Balbo et al. 2004) • Does it meet thegoals of expression • Modelsarecreatedtoexpressdifferentviews, e.g. User, machine, behavioural, static etc. • Is it usable for communication, i.e. easytoread • Does it fit intothesoftwaredevelopmentprocess • Is it extensible, i.e. tonewrequirements or newtechnologies
Example task analysis • Hierarchical task analysis • GOMS: a cognitivemodel of proceduralknowledge • Goals, Operators, Methods, Selectionrules • Structuralknowledge • Entityrelationshipsmodelling (ERMIA) • Cognitiveworkanalysis (Rasmussen, Vicente)
Exercise • Whichmodelingtechniques and languages do youknow? • In themodellinglanguage of yourchoice, draw a model for thetwoconcretescenariosyoudid in Module 1 for the small project.