Week 2.2 Flashcards
What is a Model?
A model is simplification of reality.
A model is a map that guides us in solving wicked software problems
How do models contribute to Software Engineering?
Visualize the system
Specify the structure and behaviour
Guides us in construction of the system
Communicate the decision we make / have made
What is a system in modeling?
A system is a collection of subsystems described by a set of models from different viewpoints?
What is a subsystem?
Is a grouping of elements some of which constitute a specification of behavior
What is a model in modeling concepts?
A model is semantically closed abstraction of a system
What is a view?
A view is a projection into the organization and structure of a system’s model, focused on one aspect of that system
What is a diagram?
A diagram is the graphical presentation of a set of things connected through relationships
What is UML?
Stardardized graphical language for creating software models:
Visualize, specify, construct
What kind of language is UML?
It is a specification language
What is a specification language?
Specifying means building models that are precise, unambiguous and complete
What is a construction language?
Forward engineering - the generation of code from a model
Reverse-Engineering tools can help generate discover and/or update models from code
Levels of Abstraction with UML?
Conceptual Level
Specification Level
Implementation Level
What is Conceptual Level?
Analysis and modeling of the problem domain for the purpose of understanding and defining the problem to be solved.
Used to create domain models that are solution independent
What is Specification Level?
Diagrams describe platform/language independent software abstractions
What is Implementation Level?
Diagrams describe software implementation that are language and platform specific
What are UML building blocks?
Things
Relationships
Diagrams
What are Things?
Structural things are collectively called classifiers
Behavioural things are the dynamic elements of UML
Grouping things organize things and behaviour
Annotational things are explanatory elements of the model
What is a relationship?
Relate things to each other allowing them to communicate and use each other
What are diagrams?
Visualize meaningful groups of things to communicate a modeling intent
Types of UML Diagrams?
Structural Diagrams
Behavioural Diagrams
Structural Diagrams?
Class Diagram Object Diagram Package Diagram Component Diagram Deployment Diagram Composite Structure Diagram Profile Diagram
Behavioural Diagrams?
Use-case diagram Activity diagram State Machine diagram Interaction Diagram Sequence Diagram Communication Diagram Interaction Overview Diagram