click below
click below
Normal Size Small Size show me how
CEN4020Exam2
Flashcards for 2nd CEN Exam
Term | Definition |
---|---|
analysis | focus is on the application domain |
design | focus on the solution domain |
design window | time in which design decisions have to be made |
Identify Design Goals Additional NFRs, Trade-offs | non-functional requirements |
Subsystem Decomposition Layers vs Partitions Coherence & Coupling | Functional Model |
Identify Concurrency Identification of Parallelism (processes, threads) | Dynamic Model |
Hardware / Software Mapping Identification of NOdes, Special Purpose Systems, Buy vs Build | Object Model |
Persistent Data Management Storing Persistent Objets, Filesystem vs database | Object Model |
Global Resource Handling Access Control, ACL vs Capabilities Security | Object Model |
Software Control monolithic, event driven, concurrent processes | Functional Model |
Boundary Conditions Initialization, Termination, Failure | Non-Functional Requirements |
Design Trade offs: Functionality vs Cost vs Efficiency vs Rapid Development v Cost v Backward Compatibility vs | Functionality vs Usability Cost vs Robustness Efficiency vs Portability Rapid Development vs Functionality Cost vs Reusability Backward Compatibility vs Readability |
Subsystem | Collection of classes, associations, operations, events and constraints that are closely interrelated with each other |
Service | Set of named operations that share a common purpose. (Their origin are use cases from functional model) |
Subsystem Interface | Set of fully typed UML operations; defined during object design |
Application programmer's interface API | specification of the subsystem interface in a specific programming language. Should only be used during implementation. |
layer | subsystem that provides a service to another subsystem with the following restrictions: only depends on services from lower layers; has no knowledge of higher layers. |
partition | horizontal division of layer into several independent subsystems; weakly coupled subsystem |
virtual machine | subsystem connected to higher and lower level virtual machines by "provides services for" associations. Abstraction that provides a set of attributes and operations. |
High Coherence | classes in subsystem perform similar tasks and are related to each other via many associations (good design) |
Low coherence | lots of miscellaneous and auxiliary classes, almost no associations |
High Coupling | Changes to one subsystem will have high impact on the other subsystem |
Low coupling | A change in one subsystem does not affect any other subsystem (good design) |
Client / Server | one or more servers produce services to instances of subsystems, called clients; End users interact with client. |
Peer to Peer | "Clients can be servers and servers can be clients." |
Repository | Subsystems access and modify data from a single data structure. |
Model-view-controller | model: responsible for application domain knowledge view: responsible for displaying application domain objects to the user controller: responsible for sequence of interactions with the user and notifying views of changes in the model |
pipeline | chain of processing elements arranged so that the output of one element is the input to the next element |
system design | activity that reduces the gap between the problem and an existing (virtual) machine |
design goals | describes the importnat system qualities defines the values against which options are evaluated |
subsystem decomposition | break down the overall system into manageable parts by using the principles of cohesion and coherence |
architectural style | pattern of a typical subsystem decomposition |
software architecture | instance of an architectural style |