Design and Implementation (WK5) Flashcards
What is a context model?
Models which illustrate the operational context of a system. Shows the boundaries!
Example of the mentcare system: all the sub systems in the mentcare system being connected
What is an activity diagram? (Still a context model)
May be used to define business process models. Has start and end points, questions represented by bars, includes systems (squares) and actions (circles)
Use case modelling
Each use case represents a discrete task that involves external interaction with a system. Actors may be people or other systems. Use case diagram may be made into a written format to go alongside the diagram version.
Sequence diagrams
Shows the sequence of interactions that take place in a particular use case . Models interactions with actors and objects in system. Interactions are indicated by annotated arrows
Class diagrams
Show the classes in a system and the associations between these classes. Association is a link that indicates relationship (1 to 1..*).
Class uml diagram has: class name, attributes, operations/methods.
Class diagrams
Show the classes in a system and the associations between these classes. Association is a link that indicates relationship (1 to 1..*).
Class uml diagram has: class name, attributes, operations/methods.
Generalisation and aggregation (class diagrams)
Generalisation: Representing inheritance/shared elements in classes. Subclasses and superclasses. Model this in a generalisation hierarchy.
Aggregation: objects often composed of different parts. So you can make a aggregation model to show these parts.
Behavioural models
Model the dynamic behaviour of a system as it executes. Two stimuli types: data and events.
Represented using: activity models, sequence diagrams, state diagrams.
State machine models
model the behaviour of the system in response to internal and external events.
Shows states as nodes and events as arcs between the nodes
Object class identification
- Grammatical approach: nouns are objects/attributes, verbs are behaviours.
- Base it on tangible things in the application domain
- use scenario-based analysis
Use a state diagram to model how one object works (but you don’t have to do this for all the objects!)
Interface specification
Interfaces are definition of the way an object can be interacted with, and object may have several interfaces
Design patterns
A way of reusing abstract knowledge about a problem and its solution. A description of the problem and essence of its solution - but should be abstract enough to be reused in different contexts.
Elements: Name, problem description, solution description (a template for a solution), consequences
Implementation issues
Reuse: want to make use of as much pre-existing code as possible
Configuration management: you have to keep track of the different versions during development
Host-target development: being aware of the fact that your software will execute on a different computer to the one you wrote it on. The platforms may have different architecture
Open source development
Approach where source code of software system is published and volunteers are invited to work on it. Things like: Linux, Java, Apache, mySQL.
This business model is reliant on selling support, not selling a product. Restrictions can be placed on how the code is used by people