Fichas
SCC204 - Software design
Fichas del conjunto (36)
- 1Define functional requirementDescription of what the system under development (SUD) should do and any constraints under which is must do it
e.g. system SHALL have - 2Define non-functional requirementConstraints on how the system should behave
e.g. availability, performance, security, usability - 3What is in a use case?Actor - someone/something that interacts with a system (external)
Use case - sequence of interactions between actors and system
Use case model - collection of use cases - 4What are the sections involved in a use case?Use case name
Scope (context)
Primary actor (person interacting with SUD)
Secondary actors (if p act interacts with act)
Summary (point of use case)
Pre-conditions
Main success story (numbered steps)
Alternatives (no. where could do differently
Exceptions (no. + where things go wrong)
Postconditions (results of use case) - 5What are the key objects of software design?Correctness - clearly conform to spec
Robustness - can handle unusual conditions
Flexibility - user reqs can change
Reusability - engineering/economic motivation
Efficiency - fast as required
Reliability - free from significant defects - 6What is meant by modular decomposition?Each sub-system is decomposed in modules
- 7What are the 3 parts of software architecture?Elements
Form
Rationale - 8What are elements?System building blocks
-provide answers to;
-what are the systems building blocks?
-what is the given elements main purpose in the system?
-what system service does each element provide? - 9What is form?The way in which system elements are organised
-represents the structure of elements
-manner in which they are composed
-characteristics of their interactions & relationships - 10What is rationale?Systems designers' intent, assumptions, subtle changes, external constraints, selected architectural styles and design patterns
- 11What are the basic elements of ADL's?Components
Interfaces
Connectors - 12What are characteristics to consider when choosing an architectural style?Performance
Security
Safety
Availability
Maintainability - 13PerformanceLocalise critical operations and minimise coms
Use large-grain over fine-grain components - 14SecurityUse a layered architecture with critical assets in the inner layers
- 15SafetyLocalise safety-critical features in a small number of sub-systems
- 16AvailabilityInclude redundant components and mechanisms for fault tolerance
- 17MaintainabilityUse fine-grain, replaceable components
- 18What are some architectural conflicts?Using large-grain components improves performance but reduces maintainability
Redundant components improves availability but reduces security
Localising safety-related features usually means more communication = less performance
Small-grain components improve reuse but degrade performance - 19What is the repo architectural style?Shared data is held in a central DB or 'Repo' and may be accessed by all sub-systems
- 20Advantages/disadvantages of the repo architectural style?A;
components can be independent of each other
changes to one component can be made to all
D;
Single point of failure
Inefficient due to organising all communications through repo - 21What is the layered architectural style?Organises the system into a set of layers
Each lower layer provides a set of services to the layer above
Supports incremental development - 22Advantages/disadvantages of the layered architectural style?A;
allows replacement of entire layers as long as interface is maintained
redundant facilities can be provided in each layer to increase dependability of the system
D;
performance - due to multiple levels of interpretation
impractical - 23What is the client-server architectural style?Organises the system into a set of services
consists of;
servers which offer services
clients who use the services
network - connecting the clients and the servers - 24Advantages/disadvantages of the client-server architectural style?A;
Servers can be distributed across a network
general functionality can be available to all clients
D;
each server is a single point of failure
performance is unpredictable as relies on network as well as system
management problems can arise if servers owned by different orgs - 25What are the two types of two-tier client server architectures?Fat client
Thin client - 26What is the thin-client architectural style?Presentation layer implemented on client side
Data management, application processing and DB are implemented on server side - 27What is the fat-client architectural style?Some/all processing implemented on client side
Data management and DB are implemented on server side - 28What is the three-tier architectural style?Each application architecture layer may execute on separate processors
- 29Advantages of the three-tier architectural architectural style?Better performance than thin-client, more manageable than fat-client
More scalable - as demands increase, more servers can be added - 30What is the pipe and filter architectural style?Functional transformations process their inputs to produce outputs
- 31Advantages/disadvantages of the pipe-and-filter architectural style?A;
Easy to understand/supports transformation reuse
workflow style matches many business processes
implemented sequentially/concurrent
D;
Format of data transfer has to be agreed upon
Each transformation must parse/unparse to agreed output - 32What is the service-oriented architectural style?Framework for realizing the notion of software as a service by allowing software systems to be dynamically composed and
reconfigured using services discoverable on the network - 33What is the model view control architectural style?Provides framework for many GUI designs
allows for multiple representations of an object and separate interactions with these representations - 34How does the controller, model and view work?Controller - maps user actions to model updates/ allows selection of views
View - Renders the model, requests model updates and sends user events to controller
Model - encapsulates app state and notifies view of state changes - 35Advantages/disadvantages of the MVC architectural style?A;
allows data to change independently of it's representation and vice versa
supports representation of the same data in different ways
D;
Can involve additional code/code complexity when data model/interactions are simple - 36What are the two models of control?Centralised control - one sub-system has overall responsibility for control and starts and stops other sub-systems
Event-based control - each sub-system can response to event generated from sub-systems outside the systems environment
Información
- Descripción
- Degree Computer Science Fichas sobre SCC204 - Software design, creado por Mac Howarth el 09/05/2017.
- Creado por
- Mac Howarth
- Visitas
- 1
- Valoración