software-modelling-design-flashcards
(79 cards)
Software Modelling
Creation of tangible, but abstract, representations of system so that you can communicate your design ideas, critique them and explore viable alternatives. Helps communication and can be used as a shared artifact to share understanding about the system.
Software Design
Purposefully choosing the behaviour and structure of your software system. Should improve simplicity and effectiveness of a software system as well as ease its maintainability.
System Behaviour
How your systems responds to inputs and events.
System Structure
How parts of the system collaborate to achieve the goals of the system.
Object Oriented Design Method
The design method that this subject will focus on.
UML
The primary modelling notation that will be used.
Java
The programming language that will serve to explore and validate important design ideas.
Use Cases
Text stories of some actor using a system to meet goals. Widely used to discover and record requirements. Emphasise the user goals and perspective. Influence design, implementation, and project management.
Actor (Use Cases)
Someone using a system to meet goals.
Use Case Model
A model of the system’s functionality and environment. Primarily includes the set of all written use cases, optionally includes a UML use case diagram.
UML Use Case Diagram
A context diagram of a system and its environment. Shows the names of use cases, actors and their relationships.
Elementary Business Process (EBP) Test
A task performed by one person in one place at one time, in response to a business event, which adds measurable business value and leaves the data in a consistent state. Used to find useful use cases.
Boss Test
Asking if your boss would be happy if a specific task was all you did all day. Used to find useful use cases.
Size Test
Checking if a task is typically many steps (fully dressed often requires 3-10 pages of text) rather than a single action/step. Used to find useful use cases.
Analysis
Investigation of the problem and requirements.
Object Oriented Analysis
A process of creating a description of the domain from the perspective of the object. Includes an identification of the concepts, attributes and associations that are considered noteworthy in the problem domain.
Domain Model
A representation of real situation conceptual classes. A visual dictionary of the noteworthy abstractions, domain vocabulary and information content of the domain. Uses UML class diagram to illustrate. Focuses on explaining things and products important to a business domain. No operations are defined in the class diagram.
UML Class Diagram (Domain Model)
Visual representation used to illustrate a domain model. Provides a conceptual perspective to show conceptual class, their attributes and associations with other classes. No operations (method signatures) are defined.
Conceptual Class
Informal: an idea, thing or object. More formal: may be considered in terms of its symbol, intension and extension. Can have a purely behavioural role in the domain instead of an information role.
Symbol (Conceptual Class)
Words or images representing a conceptual class.
Intension (Conceptual Class)
The definition of a conceptual class.
Extension (Conceptual Class)
The set of example to which the conceptual class applies.
Association (Conceptual Classes)
A relationship between classes that indicate some meaningful and interesting connection. Significant associations should be included.
Generalisation-Specialisation Class Hierarchy
When concepts are very similar, it is valuable to organise them. Generalisation is the activity of identifying commonality. Defines superclass and subclasses related in terms of set membership. Provides economy of expression, reduction in repeated information, improved comprehension.