Welcome to my blog

Thursday 21 April 2016

Software Architecture two marks



SOFTWARE ARCHITECTURE

TWO Marks




UNIT I

1. What is Software Architecture?
The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

2. Define Architectural pattern.
An architectural pattern is a description of element and relation types together with a set of constraints on how they may be used. For ex: client-server is a common architectural pattern. Client and server are two element types, and their coordination is described in terms of the protocol that the server uses to communicate with each of its clients.

3. Why is Software Architecture more important?
v  For Communication among stakeholders
v  For Early design decisions
v  For Transferable abstraction of a system

4. What are the common software architecture structures?

  • Module structures
  • Component and Connector structures
  • Allocation Structures

5. Write about allocation structures.
Allocation structures show the relationship between the software elements and the elements in one or more external environments in which the software is created and executed.

6. What is meant by Architecture Business Cycle?
The existence of architecture in turn affects the technical, business and social environments that subsequently influence future architectures. We call this cycle of influences, from environment to the architecture and back to the environment, the Architecture Business Cycle (ABC).

7. What are the major parts of 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

8. List out 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

9. Define Functional requirements
Functional requirements may be calculations, technical details, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish.

10. What is meant by Non-Functional requirements?
Non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. This should be contrasted with functional requirements that define specific behaviour or functions.

11. Define Quality attributes.
Quality attributes are the overall factors that affect run-time behaviour, 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.

12. State Testability.
Testability is a measure of how easy it is to create test criteria for the system and its components, and to execute these tests 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.

UNIT II
1. Define QAW.
The QAW is a facilitated method that engages system stakeholders early in the lifecycle to discover the driving quality attribute requirements of a software-intensive system.

2. Mention the steps involved in QAW.
·         Introductions and QAW presentation
·         Business/ Programmatic Presentation
·         Architecture Plan presentation
·         Identification of architectural Drivers
·         Scenario Brainstorming
·         Scenario Consolidation
·         Scenario Prioritization
·         Scenario Refinement

3. Write the benefits of QAW.

  •           QAW provides for a wide variety of stake holders to gather in one room at one time very early in the development process.
  •           It is often the first time such a meeting takes place and generally leads to the identification of the conflicting assumptions about system requirements.
  •                     In addition to clarifying quality attribute requirements, the QAW provides increased stakeholder communication, an informed basis for architectural decisions, improved architectural documentation and support for analysis and testing throughout the life of the system.

4. Write the problems with system quality attributes.
The problems with system quality attributes are:

  •  The definitions provided for an attribute are not operational.
  •  A focus of discussion is often on which quality a particular aspect belongs to.
  •  Each attribute community has developed its own vocabulary.

5. Mention the need of documenting quality attributes.
The QAW provides an opportunity to gather stakeholders together to provide input about their needs and expectations with respect to key quality attributes that are of particular concern to them.

6. What are the six parts in a quality attribute scenario?
Source – an entity that generates a stimulus
stimulus – a condition that affects the system
artifact – the part of the system that was stimulated by the stimulus.
environment – the condition under which the stimulus occurred
response – the activity that results because of the stimulus
response measure -  the measure by which the systems response will be evaluated.

7. How usability scenario can be divided?
  • Learning system features
  • Using the system efficiently
  • Minimizing the impact of errors
  • Adapting the system to the users needs
  • Increasing confidence and satisfaction

8. How security scenario can be categorized?
Non repudiation, confidentiality, Integrity, Assurance, Availability, Auditing

9. List out the Quality attributes.
  • Availability
  • Modifiability
  • Performance
  • Security
  • Testability
  • Usability

10. What is meant by tactics?
A tactic is a design decision that influences the control of a quality attribute response.

UNIT III
1. What is architectural description?
An Architectural description is a set of artifacts that documents an architecture in a way its stakeholders can understand and demonstrates that the architectures has met their concerns.

2. Define View.
A view is a representation of one or more structural aspects of an architecture that illustrates how the architecture addresses one or more concerns held by one or more of its stakeholders.

3. Mention the differences between a View and a viewpoint.
  • A view is what you see. A viewpoint is where you are looking from – the vantage point or perspective that determines what you see.
  • A view is always specific to the architecture for which it is created. Viewpoints are generic, and can be stored in libraries for reuse.
  • Every view has an associated viewpoint that describes it, at least implicitly.

4. Write the view types.
  • Module viewtype
  • Component and Connector viewtype
  • Allocation viewtype

5. What is meant by module?
A module is a code unit that implements a set of responsibilities. A module can be a class, a collection of classes, or any decomposition of the code unit.

6. What are three major styles in module view type?
  • decomposition style
  • generalization style
  • layered style

7. Write the elements and relations in component & connector view type
In component and connector view type, elements are components(boxes) and connectors (lines). And relations are attachment of component to connectors.

8. Mention the approaches to choose views
v  Produce a candidate view list
v  Combine views
v  Prioritize

9. Define view point.
A viewpoint is a collection of patterns, templates, and conventions for constructing one type of view.

10. How will you represent the views?
ü  Informal notations
ü  Semiformal notations
ü  Formal notations

11. What are the four phases available in 4+1 view of RUP?
RUP organizes the development of software into four phases:
v  Inception
v  Elaboration
v  Construction
v  Transition

12. What are the two strategies available to analyze the level of concurrency in 4+1 view model?
Inside-out: Starting from Logical Structure
Outside-in: Starting from Physical structure

13. How will you represent views?
ü  Informal notations
ü  Semiformal notations
ü  Formal notations

14. List the types of viewpoints
  • Functional viewpoint
  • Information viewpoint
  • Concurrency viewpoint
  • Development viewpoint
  • Deployment viewpoint
  • Operational viewpoint

15. List some architectural perspective
  • Accessibility
  • Availability
  • Development Resource
  • Evolution
  • Internationalization
  • Location
  • Performance and Scalability
  • Regulation
  • Security
  • Usability


UNIT IV
1. What is meant by architectural pattern?
An architectural pattern is a named collection of architectural design decisions that are applicable in a given development context. It constrain architectural design decisions that are specific to a particular system within that context. It is often documented as software design patterns.

2. Differentiate Architectural style vs Architectural Pattern
Architectural Style
Architectural Pattern
Tells about what components are to be used. (What?)
Tells how the components and connectors are to be implemented. (How?)
Less domain specific
More domain specific

3. What is meant by dataflow Style?
Dataflow Style focus on how data moves between processing elements. The data-flow style is characterized by viewing the system as a series of transformations on successive pieces of input data.

4. What are the two styles of Dataflow style?
Batch- Sequential Style
Pipe & Filter Style

5. Write two examples for Batch Sequential style.
  • Payroll computations
  • Tax reports

6. What is meant by Pipe-and Filter Style?
This style provides a single type of component, the filter and a single type of connector, the pipe. A filter is a data transformer that reads streams of data through one or more input ports and writes streams of data to one or more output ports. A pipe is a binary connector that conveys streams of data from the output port of one filter to the input port of another filter.

7. What are called Layered Systems?
Layered Style is an ordered sequence of layers, each layer offer services that can be used by programs residing with the layers above it.

8. What are the three major parts of Blackboard style?
  • Knowledge Sources
  • Blackboard data Structure
  • Control

9. Mention some of the properties of Object oriented architecture.
  • Data hiding
  • It can decompose problems into a sets of interacting agents.
  • It can be multi-threaded or single thread

10. What are the two forms of message filtering in Publish-Subscribe Style?
  • Topic based system
  • Content based system

11. What are the merits and demerits of publish-subscribe style?
Merit:
Subscribers are independent from each other
Very efficient one-way information dissemination
Demerit:
When a number of subscribers is very high, special protocols are needed.

12. What do you mean by match-resolve-act in a rule based system?
Match: The left hand sides of all productions are matched against the contents of working memory.
Conflict-Resolution: One of the production instantiations in the conflict set is chosen for execution. If no productions are satisfied, the interpreter halts.
Act: The actions of the production selected in the conflict-resolution phase are executed.

13. Mention the properties of pipes and filters.
Pure data-driven interaction
Each component has a set of inputs and a set of outputs
Data transmitted as a whole between filters
Filters are independent programs that can be recombined freely to build family of systems.
Each transformation step is completed before the next step starts
Filter ignore identity of other filters

14.  What is meant by KWIC? List the architectural designs for KWIC system.
KWIC (Keyword In Context) index system accepts an ordered set of lines. Each line is an ordered set of words and each word is an ordered set of characters. Any line may be circularly shifted by repeated removing the first word and appending it at the end of  the line. It outputs a listing of all circular shifts of all lines in alphabetical order.
Architectural designs include:
ü  Main program / Subroutine with shared data
ü  Abstract Data types
ü  Implicit Invocation
ü  Pipes and Filters

15. What are the uses of rule-based systems?
Rule-based systems are used as a way to store and manipulate knowledge to interpret information in a useful way. They are often used in artificial intelligence applications and research. It also used to perform lexical analysis to compile or interpret computer programs, or in natural processing.

UNIT V

1. What is the need for documenting architecture?
Architecture documentation is both prescriptive and descriptive. The architecture serves as the blueprint for both the system and the project developing it. It defines work assignments that must be carried out by design and implementation teams. It is the primary carrier of system qualities such as performance, modifiability and security.

2. What is meant by documenting across views?
Cross-view documentation consists of three major aspects




How the documentation is organized:
            View catalog
View template

What the architecture is:
            System Overview
            Mapping between views
            List of elements and where they appear
            Project glossary

Why the architecture is the way it is:

Rationale


3. What is meant by UML?
Unified Modeling Language (UML) is a common language for business analysts, software architects and developers used to describe, specify, design and document existing or new business processes, structure and behaviour of artifacts of software system.

4. What are the three classifications of UML diagrams?
Behavior diagrams
Interaction diagrams
Strucutre diagrams

5. What are the advantages and disadvantages of UML?
Adv:
Capture business process
Enhance communication and ensures the right communication
Enables reuse of design
Disadv:
UML only partially deals with unique identifiers.
Comparing diagram files with each other
UML is just syntax. IT says nothing about how to create a model

6. What is meant by visual language?
A visual language is a system of communication using visual elements. IT manipulates visual information or supports visual interaction, or allows programming with visual expressions.

7. What are the objectives of formal methods?
Formal methods clarify customers requirements. It reveals ambiguity, inconsistency, incompleteness. It decompose structural and behavioural specifications of component relations.

8. Define formal specification.
A formal specification defines
Syntax – signature of the mapping
Semantics – meaning of the mapping
exceptions – Undefined / errorneous mappings

9. What are the challenges in Formalizing architecture?
  • Models must be scalable
  • Multiple formal methods must be supported
  • Incremental formalization must be supported.
  • Analysis results must be transferable to design and implementation.
  • Key challenge is to combine formal, semiformal, and informal specifications

10. Mention some of the benefits and drawbacks of ADL.
Benefits:
Provide flexibility
Provide high level of abstraction
Provide testing and verification ability
Drawbacks:
Limited operability
Lack of automatic extensibility
Do not handle periodic tasks

11. How do ADL differ from programming languages?
ADL differ from programming languages in that programming languages aim to bind specific solutions with the architectural abstractions while ADLs deliberately suppress such binding.

12. What are the requirements for managing self-adaptive software?
Managing self-adaptive software requires a variety of agents such as observers, planners, and deployers.

13. What is meant by Service Oriented Architecture (SOA)?
Service Oriented architecture is essentially collection of services. It is an architectural approach  that aims at developing modular applications consisting of independent services, which fulfil a specific task and communicate with each other in concordance approach.

14. Define service.
A service is a function that is well-defined, self-contained, and does not depend on the context or state of other services.

15. Define cloud computing.
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources. (eg. networks, servers, storage, applications, and services) which can be rapidly provisioned and released with minimal management effort.

16. What are the service models of cloud computing?
Infrastructure as a Service
Platform as a Service
Software as a Service

17. Write the deployments models of cloud.
Public cloud
Private cloud
Community cloud
Hybrid cloud

18. What are the advantages and disadvantages of cloud?
Advantages
Can be less expensive compared to buying software and hardware
Can be used from any computer or device with an internet connection
Compatible with most computers and operating systems
Updates occur across the service
Disadvantages
Control  and reliability
Security and compliance
Unpredicted costs

19. Write about ACME.
ACME is a simple, generic software architecture description language (ADL) that can be used as a common interchange format for architecture design tools and/or as a foundation for developing new architectural design and analysis tools.

20. Write the available ADLs.
Aesop supports the use of architectural styles
Rapide allows architectural designs to be simulated, and has tools for analyzing the results of those simulations
UniCon has a high-level compiler for architectural designs
Wright supports the formal specification and analysis of interactions between architectural components