TWO MARKS QUESTION BANK
UNIT-I
1. What is Software Architecture?
The Software Architecture of a program or computing system is the structure of the system,
which comprise software elements, the externally visible properties of those elements, and the
relationship among them.
2. Why is Software Architecture Important?
Communication among stakeholders.
Early design decisions
Transferable abstraction of a system
3. Differentiate Software Architecture and Software Design
Software Architecture
Define Guidelines
Fundamental Properties
Cross-cutting concerns
High impact
Communicate with business stakeholders
Manage uncertainity
Conceptual Integrity
Software Design
Communicate with developers
Detailed Properties
Details
Individual Components
Use guidelines
Avoid uncertainity
Completeness
4. How Architectural Structures have been divided?
Module Structures
Component and Connector Structures
Allocation Structures
5. List out the components of module based structure
Decomposition
Uses
Layered
Class of Generalization
6. What are the components included in allocation structures?
Deployment: This view allows an engineer to reason about performance, data integrity,
availability and security.
Implementation: This is critical for the management of development activities and builds
processes.
Work-Assignment: This structure assigns responsibility for implementing and integrating
the modules to the appropriate development teams.
7. Write the nature of development of organization
There are three classes of influence that come from the developing organizations:
a) Immediate business b) Long-term business c) Organizational structure
An organization may have an immediate business investment in certain assets, such as
existing architectures and the product based on them.
An organization may wish to make a long term business investment in an infrastructure to
pursue strategic goals and may review the proposed system as one means of financing
and extending that infrastructure.
The organizational structure can shape the software architecture
8. How architectures are influenced by the technical environment?
A special case of the architects background and experience is
reflected by the technical environment
The environment that is current when architecture is designed will
influence that architecture.
It might include standard industry practices or software engineering
prevalent in the architects professional community.
9. What is architecture business cycle?
It is a description of a system, used to represent relationship among
structures/components of the system to the environment in which the system is
developed and implemented.
10. List out major part of the ABC
How organizational goals influence requirements and development
strategy
How requirements lead to architecture
How architectures are analyzed
How architectures yield systems that suggest new organizational
capabilities and requirements
11. List the activities in ABC
Creating the business case for the system
Understanding the requirements
Creating or Selecting the architecture
Documenting and Communicating the architecture
Analyzing or evaluating the architecture
Implementing the system based on the architecture
Ensuring that the implementation conforms to the architecture
12. Define Functional Requirements
Functional requirements may be calculations , technical details, data
manipulation and processing other specific functionality that define what a system
is supposed to accomplish. Behavioral requirements describing all the cases where
the system uses the functional requirements are captured in use cases.
13. State Non-Functional Requirements
Non-Functional Requirements is a Requirement that specifies criteria that can
be used to judge the operation of a system, rather than specific behaviors. This
should be contrasted with functional requirements that define specific behavior or
functions.
14. Describe the technical constraints for programming language
A specific programming language will be required for various reasons. For
example, the customer may have a Java or Ruby or Microsoft shop. You might simply
prefer a certain language over another, or have specific expertise that dictate using
a particular programming language.
15. Define Quality Attributes
Quality attributes are the overall factors that affect runtime behavior , system
design and user experience. They represent areas of concern that have the
potential for application, wide impact across layers and tiers. Some of these
attributes are related to the overall system design,while others are specific to run
time,design time, or user centric issues.
16. List out Run time qualities
Availability
Interoperability
Manageability
Performance
Reliability
Scalability
Security
17. What do you mean by Supportability?
Supportability is the ability of the system to provide information helpful for
identifying and resolving issues when it fails to work correctly.
18. State Testability
Testability is a measure of how easy to create the test criteria for the system
and its components, and to execute these test in order to determine if the criteria
are met. Good testability makes it more likely that faults in a system can be isolated
in a timely and effective manner.
19. Define User quality attributes
Usability defines how well the application meets the requirements of the user
and consumer by being intuitive, easy to localize and globalize by providing good
access for disabled users and resulting in a good overall user experience.
20. What is the design of Quality Attributes?
Conceptual Integrity
Maintainability
Reusability
21. Differentiate Functional and Non-Functional Requirements
Non-Functional Requirements describe how the system works, while
functional requirements describe what the system should do
Part-B
1.Explain influence of architecture in various field
2. Differentiate functional and non functional requirements
3. Explain the activities of ABC
4. Explain in detail about module structure
5. Explain common quality attributes in software architecture