0% found this document useful (0 votes)
37 views15 pages

AIDS

Uploaded by

Dhanraj Deore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views15 pages

AIDS

Uploaded by

Dhanraj Deore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

ASSIGNMENT NO 4 SOFTWARE ARCHITECTURE

Q1. Short Note on Domain Specific Software Architecture (DSSA).


Domain specific software architecture comprises:

 A reference architecture, which describes a general computational framework for a


significant domain of applications.
 A component library, which contains reusable chunks of domain expertise.
 An application configuration method for selecting and configuring components within
the architectural to meet particular application requirements.

DSSAs involve a number of domain engineering activities. The regions of the problem space
(domains) are mapped into domain-specific software architectures (DSSAs) which are
specialized into application-specific architectures and then implemented.
The three key factors of DSSA are:

1. Domain: Must have a domain to constrain the problem space and focus development
2. Technology: Must have a variety of technological solutions like tools, patterns,
architectures & styles, legacy systems to bring to bear on a domain
3. Business: Business goals motivate the use of DSSE Minimizing costs: reuse assets
when possible Maximize market: develop many related applications for different kinds
of end users

These three factors together apply technology to domain-specific goals which is made firm by
business knowledge. The overview of the DSSA process is given below:
Q2. Design a Domain Specific Software Architecture (DSSA) for the Airline Ticket
Management System.
Assume suitable entities, Attributes etc. Domain model must consist of the following:
i. Domain Dictionary and Information Model
ii. Feature Model and Operation Model

ANS)
Information Model:- It is a collection of multiple models which is used in different
organizations.
Context Information Diagram - It captures high level data flow between major entities in the
system, their relationship to the entities outside the system and any data that is assumed to
come from external sources.

Entity-Relationship Diagram - It captures aggregation and generalization relationships among


the entities within the domain.
Object Diagram - It identifies the objects in the application domain i.e. in the problem space.

Feature Model: It results from a feature analysis whose goal is to capture and organize a
customer’s understanding and expectation of over-all capabilities of application in a given
domain.
Use-Case Diagram - It captures the usage scenarios in the system.
Representational Model - It describes how information is made available to a user. It provides
details about the appropriate user interfaces for a particular system.

Operational Model: It is the foundation upon which the software designers begin the process
of understanding. It identifies the key operations that occur within a domain, the data
exchanged among those operations and the commonly occurring sequence of those operations.
The operational model represents how applications work within a domain.
Data-Flow Diagram- It focuses on data exchanged within the system.
Control-Flow Diagram - It focuses on exchange of control within the system.
State-Transition Diagram - It models and relates different states which the entities will enter,
in the domain.

Q3.)
Design a Domain-Specific Software Architecture for the theatre ticket management
system.

Assume suitable entries, attributes etc., Domain model must consist the following:

a) Domain dictionary and information model

b) Feature model and Operational model


SOL)
Domain Model:
It is a conceptual model of all the topics related to a specific problem. It describes the various
entities, their attributes, roles, and relationships, plus the constraints that govern the problem
domain. They are grouped into 4 categories.

1. Domain Dictionary
2. Information Model
3. Feature Model
4. Operational Model

Domain Dictionary: It represents the identification and representation of terms used in domain
model.
We analyze the problem; list the scenarios and events occurring in the scenarios.

 Ticket purchase: Here the customer consults the agent for availability of seats for a
particular movie. The agent checks in his system and notifies the information like
availability of ticket, cost and row number to the customer. The customer decides on
the desirable seats and tells the agent. The customer then pays the amount to the agent
and buys the ticket. Further, the agent records the transactions.
 Ticket Return: The customer gives the movie ticket back to the agent if he no longer
requires it. The agent returns the money back to the customer and records the
transaction.
 Ticket Exchange: The customer checks with the agent for an exchange of ticket. The
agent checks in his system and notifies the customer. The customer checks if the seats
are desirable and tells the agent. The customer returns the old ticket to the agent and
gets new ticket from him. Depending on the cost of new ticket, the agent either collects
money or issues a refund.
 Ticket Sales analysis: Once the sales are done, the issue of ticket is stopped. The sales
manager then checks for the sales of ticket for that particular movie.

Information Model: It is a collection of multiple models which is used in different


organizations. Context Information Diagram- It captures high level data flow between major
entities in the system, their relationship to the entities outside the system and any data that is
assumed to come from external sources.

Entity-Relationship Diagram- It captures aggregation and generalization relationships among


the entities within the domain.

Object Diagram - It identifies the objects in the application domain i.e. in the problem space.
Feature Model:- It results from a feature analysis whose goal is to capture and organize a
customer’s understanding and expectation of over-all capabilities of application in a given
domain.
Use-Case Diagram - It captures the usage scenarios in the system.

Representational Model - It describes how information is made available to a user. It provides


details about the appropriate user interfaces for a particular system.
Operational Model: It is the foundation upon which the software designers begin the process
of understanding. It identifies the key operations that occur within a domain, the data
exchanged among those operations and the commonly occurring sequence of those operations.
The operational model represents how applications work within a domain.
Data-Flow Diagram - It focuses on data exchanged within the system.

Control-Flow Diagram - It focuses on exchange of control within the system.


State-Transition Diagram - It models and relates different states which the entities will enter,
in the domain.
Q4 .Design Domain-Specific Software Architecture (DSSA) for online Admission in First
Year Engineering Colleges website Management System.
Assume suitable entities, attributes etc. Domain Model must consists following: -
a) Domain Dictionary and Information Model.
b) Feature Model and Operational Model.
Q5.Design Domain-Specific Software Architecture (OSSA) for online shopping website
Management System. Assume suitable entities, attributes etc. Domain Model must
consists following :-
a) Domain Dictionary and Information Model.
b) Feature Model and Operational Model.

Q6.Differentiate between Domain-Specific Software Engineering. Domain- Specific


Architecture
Sol )

Domain Specific Software Engineering (DSSE) believes that creating every application from
nothing is not advantageous when existing systems can be leveraged to create the same
application in less time and with less cost. This belief is founded in the idea that forcing
applications to recreate exiting functionality is unnecessary. Why would we build a better wheel
when we already have four really good and proven wheels? DSSE suggest that we take an
existing wheel and just modify it to fit an existing need of a system. This allows developers to
leverage existing codebases so that more time and expense are focused on creating more
usable functionality compared to just creating more functionality. As an example, how many
functions do we need to create to send an email when one can be created and used by all other
applications within the existing domain?
Key Factors of DSSE

 Domain
 Technology
 Business

A Domain in DSSE is used to control the problem space for a project. This control allows for
applications to be developed within specific constrains that focus development is to a specific
direction.
Technology in DSSE offers a variety of technological solutions to be applied within a domain.

Technology Examples:

 Tools
 Patterns
 Architectures & Styles
 Legacy Systems

Business is the motivator for any originations to use DSSE in there software development
process.
Business reason to use DSSE:

 Minimize Costs
 Maximize market and Profits

When these factors are used in combination additional factors and benefits can be found.

Result of combining Key Factors of DSSE

 Domain + Business = Corporate Core Competencies


o Domain expertise improved by market and business expertise
 Domain + Technology = Application Family Architectures
o All possible technological solutions to problems in a domain without any business
constraints.
 Business + Technology = Domain independent infrastructure
o Tools and techniques for building systems independent of all domains
 Domain + Business + Technology = Domain-specific software engineering
o Applies technology to domain related goals in the context of business and market
expertise

Q7.Explain State Logic Display Pattern


Q8. Explain Sense Controller Compute Pattern?
Q9. Explain different Architectural Styles in detail.
OR
Explain the following Architectural Styles

Q10.What is C2 Style. And Explain its Framework ?


Sol)
Heterogeneous styles are the complex styles created through composition of simpler styles. C2
architectural style is a heterogeneous type of style. It is an indirect invocation style in which
independent components communicate exclusively through message routing connectors. Strict
rules on connections between components and connectors induce layering. Thus C2 is a
composition of implicit invocation and layered styles along with some additional constraints.
● Components: Independent, potentially concurrent message generators and/or consumers
● Connectors: Message routers that may filter, translate, and broadcast messages of two kinds:
notifications and requests.
● Data Elements: Messages – data sent as first-class entities over the connectors. Notification
messages announce changes of state. Request messages request performance of an action.
● Topology: Layers of components and connectors, with a defined top and bottom, wherein
notifications flow downwards and requests upwards.
The C2 architecture for Lunar Lander application shown above operates largely like the event-
based style with respect to the use of events. However, both the spacecraft and the clock
components are guaranteed to be completely unaware of the presence of the game logic and
GUI components.
Qualities yielded on using C2 style are:

 Substrate independence: Ease in moving the applications to other new platforms and
Support for product lines
 Ability to program in model-view-controller style but with very strong separation
between the model and user interface elements
 Support for concurrent components
 Support for network distributed applications

Typical uses: Reactive, heterogeneous applications. Applications demanding low-cost


adaptability Cautions: Event routing across multiple layers can be inefficient. Overhead is high
for some simple kinds of component interaction.

Q11. Explain different Strategies in Architectural Conception in absence of Experience.


Ans)
Refined experience has a major focus as they are broadly and commonly useful. Even when
experience has not been codified, it may still be found in preexisting systems. If a designer is
ignorant of experience, a new problem is a novel one for that designer. The designer needs to
adopt a strategy and control it.
Failure to meet the needs of a new design challenge with approaches based upon past
experience demands a rethinking of the problem and approaches to that solution. The following
processes can be followed:

1. Divergence- It is the step taken to shake-off the confines of inadequate prior approaches
and discover, or admit a variety of new ideas, conceptions and approaches that offer the
promise of a workable solution.
2. Transformation- It is a combination of analysis and selection. Based upon the
information from the divergence step, solution possibilities and new understandings of
the problem statement are examined and formulated.
3. Convergence- It is the step of selecting and further refining ideas until a single approach
is selected for further detailed development.

There are both difficulties and risks in the critical first step. One difficulty is breaking free from
prior understanding and approaches to the problem area. Moving into a new territory is viewed
skeptically. Another risk is tunnel vision. This occurs when an approach is explored which
breaks sharply from previous practice but the enthusiasm for that approach inhibits any attempt
to explore other novel alternatives.
Detailed strategies: There exist numerous strategies for helping a designer to tackle novel
problems, most of which are general and are appropriately focused on the divergence step.
They are not specific to software development. Some strategies involve -

 Analogy Searching- here, examination of other fields and disciplines unrelated to the
target problems is done in order to obtain ideas that are analogous to the problem at
hand and formulate a solution strategy based on that analogy. The utility of analogies
is in providing rich sets of initial concepts for developing a solution to a design problem.
 Brain storming- It is the technique of rapidly generating a wide set of ideas and thoughts
pertaining to a design problem without initially assessing the feasibility. The chief value
of brainstorming is in identifying categories of possible designs other than any specific
design solution suggested during a session.
 Literature Searching- It is the process of examining published information to identify
material that can be used to guide or inspire designers. The availability of free and open-
source software adds special value to this technique. Even if a direct solution to the
problem at hand is not freely available, the designer may be able to devise a solution
using pieces of pre-existing software.
 Morphological charts- The idea here is to identify all primary functions to be performed
by desired system, identify a means of performing that function and attempt to chose
one means for each function such that the collection of means performs all the required
functions in a compatible manner. This technique offers help in constructing a variety
of approaches to parts of the overall problem.
 Removing mental Blocks- Many a times it is possible to get stuck on a problem. The
chief strategy to tackle this is transformation. If a problem cannot be solved, change it
to a problem that can be solved. The solution of the revised problem may suggest a new
avenue for attacking the original problem.

Q12. Define : 5 MARKS


a) Meta Models
b) Goals of Analysis
c) Issues in Software Architectural Design
d) Task Structure Matrix
e) Psychology and Philosophy of Design
f) Ambiguity, Accuracy and precision in the characterization of architectural models
g) Software Product Life Cycle.

You might also like