Exam Flashcards
What is the mission of Software Engineering?
Planning the construction and maintenance of large-scale and long-living software systems with predictable and adequate quality and cost.
Which are the challenges in Software Engineering?
- Interconnection of systems
- Integration of systems
- Continuous change
- Collaborative development
Which are the 4 inhibitors to scalability of the speed/quality of SW delivery?
- Processes
- Roles
- SW Structure
- Technologies
What is Software Architecture?
- Abstraction
- Conceptual model
- Blueprint
- Represent the set of significant design decisions
What is Software Architecture by Len Bass?
“… the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.”
What is architecturally-significant?
Whatever is:
- Costly to change
- Risky
- New
Which are the 4 classes of architectural drivers?
- Business goals
- Quality attributes (Runtime/Devtime)
- Functional requirements
- Constraints
Which is the difference between runtime and devtime quality attributes?
RT: system in operation
DT: team in operation
How to measure the achievement of a quality attribute?
Scenarios
Which are the 8 fields of a architectural scenario template?
- ID / Scenario title
- Status
- Quality attribute
- Stakeholders
- Environment
- Stimulus
- Team/System Response
- Response measure
Which are the 2 main purposes of architectural scenarios?
- Compensate missing requirements
- Aggregate large amount of repeating requirements
For what are architectural scenarios used for?
- Communicate with stakeholders
- Input to architecture definition process
- Evaluating the architecture
Which are the 6 steps for deriving architectural scenarios?
- Brainstorm scenarios from functional requirements, stakeholders and experience. Formulate questions.
- Classify scenarios: Runtime or Devtime
- Define the environment
- Define response and response measure
- Validate with each stakeholder
- Prioritize
Which are the 4 main characteristics of Agile Development?
- Individual and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Which are the 2 advantages of Agile?
- Produce fast results
- Often leads to high quality products
Which are the 4 disadvantages of Agile?
- Hardly scales to large-scale projects
- Leading to systems hard to maintain
- Does not lead to uniform solutions
- Relies on refactoring
What is the role of the architect and which skills are required?
- Mediator and communication between business level and technology level
- Engineering skills, organizational skills, interpersonal skills, communication skills.
What is the difference between parallel computing and distributed computing?
Parallel: shared memory, same physical location
Distributed: communicate via the network, physically separated
Which are the 2 commonalities between parallel computing and distributed computing?
- Synchronization of resource access and modification
- Subdivision of computational problems
What is a distributed system?
A system that:
- communicate
- coordinate
- by message passing
- over the network
- that appear to the user as a single system
Which are the 11 quality attributes motivating distribution?
MARTISSO PSP:
- Maintainability
- Availability
- Reliability
- Testability
- Integrity
- Safety
- Security
- Openness
- Performance
- Scalability
- Portabilitynote
Which are the 6 challenges of distributed systems?
- Complexity
- Security
- Maintainability
- Determinism, Predictability
- Decomposing of problems
- Data and semantic dependencies (synchronization)
What is a component?
- Logical unit of composition (abstraction)
- Self-contained functional unit
- Deployed independently
What is an interface?
Boundary across two independent components that interact and communicate.
Which are the 2 types of interfaces?
- Provided
- Required
Which are the 3 types of interface ownership?
- Standard
- Component ownership
- Framework style
What are connectors used for?
- enable communication
- enhance communication
- ease communication
- provide transparency
Which are the 4 connector responsibilities?
- Transport
- Transformation, Adaptation
- Security
- Transactions
Which are the 4 ways that connectors can be classified?
- Tight vs. loose coupling
- Direct link vs. intermediary
- Interface vs. payload semantic
- Static vs. dynamic binding
Which are the 4 models of interaction?
- Request-Reply
- Callback
- Anonymous Request-Reply
- Event-based
What is the advantage of event-based interactions?
“Consumers” and “Producers” do not have to know each other. A notification service exists.
What are the definitions of event, notification and messages?
Event: observable happening of interest
Notification: data describing the event
Message: data container that conveys a notification
Which are the 4 types of group message communication?
- One-to-many
- Broadcast
- Multicast
- Subscription/Notification
How are interfaces defined?
Signature of methods.
What is dependability and which 5 quality attributes compose it?
The ability to deliver a service that can justifiably be trusted.
- Availability
- Reliability
- Maintainability
- Safety
- Integrity
Which 3 quality attributes compose security?
- Availability
- Integrity
- Confidentiality
From where comes the prioritization of quality attributes?
From the client. SW engineer and requirement engineer must take this information from him.
How are quality attributes achieved?
Combination of architecture level choices and design & implementation choices.
What is used to achieve quality attributes?
Architectural patterns.
Which are the 3 main types of runtime patterns?
- Detection
- Recovery
- Prevention
Which are 2 main types of devtime patterns?
- Localization (of changes) patterns
- Prevention (of ripple effects) patterns
Which are the 3 types of safety tactics?
- Failure avoidance
- Failure detection
- Failure containment
What is the difference between fault, error and failure?
Fault: the cause of an error
Error: deviation from correct service state
Failure: event that occurs when the delivered service deviates from correct service.
Which are 2 redundancy tactics?
- Homogeneous
- Triple modular redundancy (voter)
Which are 2 error detection tactics?
- Monitor-actuator
- Watchdog
Which are 2 resource related tactics?
- Simultaneous locking (all-or-none)
- Ordering locking (list of locked resources)
What is an architectural style?
Named collection of architectural design decisions that are applicable in a given context.
Definition of component types and connector types that you find in the architecture you want to describe alongside with constraints on how to compose these components types and connector types.
Which are the 3 layers to distribute functionality?
- Presentation
- Application Logic
- Data Management
Which are the 3 types of Client-Server architectural style?
- Thin Client: heavy processing on server and network
- Fat Client: more complex
- Rich Client: web browser with extensions
Which are the elements of the 3-Tier Architecture style?
- Client
- Application Server
- Database Server
What is the difference between layers and tier?
Layer: logical
Tier physical
What is the main advantage of P2P Architecture style?
Take advantage of computational power and storage of a large number of dynamically networked computers.
Which are the 2 types of P2P Architecture?
- Decentralized
- Semi-centralized (discovery server)
Which are the 3 main parts of SOA?
- Service registry
- Service requester
- Service provider
Which are the architectural elements of an SOA?
SOA-Based System: Service: Contract, Interface, Implementation Platform Service Directory Application Connector
What is the difference between Service and Component?
- Services are more loose coupled
- Services include SLA
- Services are easier to deploy (independent of infrastructure)
- Services are exposed to the internet
- Services do not have owners, everybody can use
- Services are designed to be published
What does a service specification describes?
- Externally visible properties of a system (functional requirements and non-functional requirements)
Which are the 2 parts of a service specification?
- Interface: functional requirements
- Contract: non-functional requirements, constraints, usage of service
What is SLA?
Service Level Agreement is a contract between provider and consumer of a service with relation to quality of service (non-functional properties).
Which are the 2 types of service composition?
- Orchestration (central coordination, services don´t know)
- Choreography (no central coordination, services know)
Which are the 2 types of Service Directory?
- Service repository (lifecycle, manage implementations, used at devtime)
- Service registry (interface syntax, QoS, classification, lookup for services).
What is an Architectural Views?
Representation of the whole system from the perspective of a related set of concerns.
Which are the 3 benefits of Architectural Views?
- Separation of concerns
- Reduction of complexity
- Conceptual method for supporting decomposition of software systems
Which are the 2 horizontal dimensions and 5 vertical dimensions of architecture decomposition framework?
Horizontal: Runtime, Devtime
Vertical: Data, Functions, Deployment, Activities, Technologies
Which are the 4 architectural view models?
- SEI
- 4+1
- Siemens 4
- arc42
Which are the 3 goals of software design?
- Decomposition of the problem and smaller pieces
- Control of the complexity
- Prediction of effort, quality, impacts
What is the goal of decomposition?
Reduce coupling of elements.
What is the goal of composition?
Increase semantic cohesion between elements.
Which are the 5 steps of designing a distributed system?
- Examine input.
- Decompose the system into components
- Identify active objects and passive objects
- Define message communication interfaces
- Deployment
Which are the 4 benefits of architecture evaluation?
- Improvements
- Risk mitigation
- Communication
- Sustainability
What is the mission of architecture evaluation?
Determine how:
- well-known the stake holders concerns are
- well-suitable the architecture is
- well-documented the architecture is
- well-realized the architecture is
Which are the 4 steps of RATE?
- Concerns elicitation check
- Solution adequacy assessment
- Documentation assessment
- Compliance/Distance assessment