Lab Manual of Software Architecture CS701
Lab Manual of Software Architecture CS701
Lab Manual of Software Architecture CS701
TECHNOLOGY &
MANAGEMENT,INDORE(M.P.)
LABORATORY MANUAL
SOFTWARE ARCHITECTURE
(CS 701)
SESSION: JULY-DECEMBER 2022
Consider ABC neighbouring travel agent from whom you can purchase Identify the use cases
flight tickets. To book a ticket you need to provide details about your from a given non-trivial
journey i.e. on which date and at what time you would like to travel. You problem statement
3 Design planning To identify the primary & secondary actor for a system also need to provide your address. The agency has recently been √ √
modernized. So you can pay either by cash or by card. You can also
cancel a booked ticket later if you decide to change your plan. In that
Consider a bulb with a push down switch. The bulb initially remains off. Identify the events
State chart & When the switch is pushed down, the bulb is on. Again when the switch causing transitions
4 Identify the distinct states a system have is pushed up, the bulb turns off. The lifecycle of the bulb continues in √
Activity Model from one state to
this way until it gets damaged another
For a cab amanagement system,if any passenger books a cab , an Identify a list of
available cab is allocated for to the request. A booking receipt is given to potential domain
5 Domain Class Understand the concept of domain classes the passenger. He/She is then dropped to his/her destination. In case classes from a given √
the place is in too interior, the passenger is dropped at the nearest problem statement
landmark.
Consider a trading system, where trading decisions are based on To visualize where
information collected from three different sources: a stock ticker, an two flows of control
6 Architecture View To understand the process & thread view index watcher, and a CNNNewsFeed. Information from the stock ticker might cross paths √
and the index watcher are first analyzed and then forwarded to the
trading manager via an alert manager. The CNNNewsFeed
communicates
directly with the Trading manager. Logical view and
identify and book all at once the best deal in terms of flight, hotel, car dividing the logical
Implementation To understand the concurrency & synchronization rental etc. Model a basic scenario where a customer uses the system entities into actual √
7
View mechamism to book flight and hotel room by highlighting the concurrency and software
synchronization involved.
To identify how to
You are building a quote application, which contains a class that is provide solutions to
responsible for managing all of the quotes in the system. It is important commonly recurring
8 Pattern To understand the Design pattern that all quotes interact with one and only one instance of this class. √
design issues
How do you structure your design so that only one instance of this class
is accessible within the application?
An invoice processing system checks issued invoices against payments
Architecture To understand the component and connector received, and accordingly, issues either receipts or payment
9 Pipes & Filter √
pattern types involved in the system reminders for customers
Outcome of the Mapping with CO
S. No. Title Objective of the Experiment Problem Statement
Experiment CO1 CO2 CO3 CO4 CO5
The stock trading application must allow users to buy and sell stocks, Provides a flexible
watch the activity of stocks. The user is presented with a list of structure for
Model-View- To understand how to developing interactive available stocks identified by their stock symbols. The user can select a developing
10 √
Controller Pattern applications. stock and then press a View stock button. That results in a report about interactive
the stock: a spreadsheet or a graph that shows the stock price over applications
some interval.
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
3. Objectives & Value Addition: Understand the use case view of software architecture.
4. References:
Quiz
a) Product
b) Use case
c) Actor
b) Actors
b) A post condition is an assertion guaranteed to be true when the activity or operation begins
5. What are the methods in which use case descriptions can be written?
Viva
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version
4.5) JAVA
1.The following actors may be identified from the requirements: Instrument, Weather
Instrument, Pollution Instrument, Operator, Digitized map database and Consumer. Actor
documentation: -
Operator: a person who is responsible for the maintenance of the weather mapping system. -
Consumer: a person who uses or needs the weather information produced by the system. -
Weather Instrument: weather sensors related to weather stations used to collect raw weather
data.
- Pollution Instrument: air data sensors used to collect air data for pollution monitoring. -
Instrument: generalization of weather and pollution sensors. - Digitized map database: an
existing database containing mapping information. 2.The following needs must be addressed by
the system: - The Consumer actor needs to use the system to view or print weather maps. -
Weather sources collect weather data and send them on request to the area computer. - The area
computer validates, integrates and archives the weather data collected, and then processes
weather maps. - The digitized map database provides the mapping information needed to process
local weather maps. - The Operator actor manages and maintains the system. - The area
computer monitors the weather sources, for start-up, shutdown, and for instrument testing and
calibration. Needs: Based on these needs, the following use cases may be identified: - Startup -
Shutdown WMS Weather Instrument Operator Consumer Digitized map database Pollution
Instrument - Collect data - Calibrate - Test - Validate - Integrate - Archive - Process map -
Display - Print You may identify different use cases (or the same use cases with different
names).
In all cases the sum of the use cases identified must cover all the key functionalities mentioned in
the needs. That should appear through the documentation that you will provide. Use Case
Documentation: The documentation provided for a use case consists of a brief description of the
purpose of the use case in a few sentences. For instance, a brief description of the Collect data
use case may be: The operator or the system starts this use case. It consists of sending a request
for data collection to the weather sources, which collect and summarize weather data from the
instruments and send them to the area computer.
9.Results
After performing this practical successfully student would understand the use case views and the
various relationships associated with them
1. Use case diagram is UML diagram which shows some business or software system, its
external users (called actors), and a set of actions (called use cases) that users of the system
should or
can perform while using the system. Use case diagrams are used to describe functionality of a
system from the point of view of external users.
2. Each use case describes a unit of complete and useful functionality that business or system
provides to its users, how an external user interacts with a system to achieve a desired
result. Some examples of use cases: Hire employee, Buy ticket, Place order, Deposit funds.
3. Actor represents some group (called "role") of external customers or users of the business
or software system. Actors have some needs and require specific services from the system.
Some examples of actors are: Customer, Student, and Passenger. Actor could be not just
human but also another system, business, or device.
4. What is the difference between Use Cases & Use Case diagrams?
4.Use case diagram shows business or system, its external users, and use cases applicable to the
system. Use case represents one specific goal or need of the user from the system.
Shivajirao Kadam Institute of Technology & Management, Indore
Department of Computer Science and Engineering
Experiment-wise Laboratory Performance Evaluation
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
3. Objectives & Value Addition: Understand the design issues and the risk underlying the construction of
the system.
4. References:
Quiz
a) Different Actors
a) At each iteration, one or more use cases are selected for implementation
c) Iterative development builds system functionality gradually through analysis, design, coding,
testing and evaluation
b) The alternatives are called extension as they extend the activity flow in a different
direction from branch point
Viva
3. What are the different views that have to be considered before the buildup of an object
oriented software system?
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version
4.5) JAVA
8.Theoretical solution of the instant problem
1.The following actors may be identified from the requirements: Instrument, Weather
Instrument, Pollution Instrument, Operator, Digitized map database and Consumer. Actor
documentation: -
Operator: a person who is responsible for the maintenance of the weather mapping system. -
Consumer: a person who uses or needs the weather information produced by the system. -
Weather Instrument: weather sensors related to weather stations used to collect raw weather
data.
- Pollution Instrument: air data sensors used to collect air data for pollution monitoring. -
Instrument: generalization of weather and pollution sensors. - Digitized map database: an
existing database containing mapping information. 2.
The following needs must be addressed by the system: - The Consumer actor needs to use the
system to view or print weather maps. - Weather sources collect weather data and send them on
request to the area computer. - The area computer validates, integrates and archives the weather
data collected, and then processes weather maps. - The digitized map database provides the
mapping information needed to process local weather maps. - The Operator actor manages and
maintains the system. - The area computer monitors the weather sources, for start-up, shutdown,
and for instrument testing and calibration. Needs: Based on these needs, the following use cases
may be identified: - Startup - Shutdown WMS Weather Instrument Operator Consumer Digitized
map database Pollution Instrument - Collect data - Calibrate - Test - Validate - Integrate -
Archive - Process map - Display - Print You may identify different use cases (or the same use
cases with different names). In all cases the sum of the use cases identified must cover all the key
functionalities mentioned in the needs.
That should appear through the documentation that you will provide. Use Case Documentation:
The documentation provided for a use case consists of a brief description of the purpose of the
use case in a few sentences. For instance, a brief description of the Collect data use case may be:
The operator or the system starts this use case. It consists of sending a request for data collection
to the weather sources, which collect and summarize weather data from the instruments and send
them to the area computer.
9.Results
After performing this practical successfully student would understand the use case views and the
various risks associated with them
● Architectural modeling
● Behavioral modeling
● Structural Modeling.
3. What are the different views that have to be considered before the buildup of an
object oriented software system?
3. Before the actual building up of an object-oriented software system, there are generally
5 views-
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
2. Outcome: Identify the use cases from the given nontrivial problem statement.
3. Objectives & Value Addition: To understand the primary & secondary actors for a systems
4. References:
Quiz
a) Design
b) Requirements
3. What would happen if different organization were given same set of requirements?
a) Technical
b) Business
c) Social
Viva
1. What are the modelling diagrams that are most commonly used?
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version
4.5) JAVA
8.Theoretical solution of the instant problem
Use Case View Captures system functionality as seen by users Built in early stages of
development Developed by analysts and domain experts System behavior, that is what
functionality it must provide, is documented in a use case model. Use Case Model illustrates the
system’s intended functions (use cases), its surroundings (actors), and relationships between the
use cases and actors (use case diagrams). ÷provides a vehicle used by the customers or end users
and the developers to discuss the system’s functionality and behavior. ÷starts in the Inception
phase with the identification of actors and principal use cases for the system, and is then matured
in the elaboration phase, by adding more details and additional use cases.
9.Results
After performing this practical successfully student would understand the use case views and the
different actors involved in a system and the relationship associated with them.
10. Solved Tutorial Problems
1. What are the modelling diagrams that are most commonly used?
1. The most frequently used modeling diagrams are 9 in number. These are as:
2. Architecture means with the structural and behavioral aspects of the entire software system. It
significantly monitors over the software usage and the functionality evolving around it. With
architecture, the entire performance is economical and all the technical constants can be well
managed.
3.A use case is a unique functionality of a system which is accomplished by a user. A purpose of
use case diagram is to capture core functionalities of a system and visualize the interactions of
various things called as actors with the use case. This is the general use of a use case
diagram.The use case diagrams represent the core parts of a system and the workflow between
them. In use case, implementation details are hidden from the external use only the event flow is
represented.With the help of use case diagrams, we can find out pre and post conditions after the
interaction with the actor.
4. How do you ensure that your use case model is effective?
4.Many analysts have at least some level of theoretical knowledge on how to properly apply use
case modeling. Unfortunately, key elements are often missed resulting in a use case model
which isn’t effective.Use case models include actors and use cases. An effective model must
identify both comprehensively. Yet, analysts usually fail to identify all of the relevant actors.
Shivajirao Kadam Institute of Technology & Management, Indore
Department of Computer Science and Engineering
Experiment-wise Laboratory Performance Evaluation
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
2. Outcome: Identify the events causing transitions from one state to another.
3. Objectives & Value Addition: Identify the distinct states a system have in the system
4. References:
Quiz
1.Which among these are the notations which are used to represent software architecture?
b) State diagrams
a) Syntax
b) Semantics
c) Pragmatics
a) The syntax of communication specifies the elements of medium and the ways they may be
combined to form legitimate messages
Viva
UML?
diagrams?
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version
4.5) JAVA
type of diagram behavior diagram in UML. In most OO techniques, state diagrams are drawn for
a single class to show the lifetime behavior of a single object. They describe all of the possible
states that a particular object (or even the entire system) can get into. State Machines give us the
means to control decisions and each state is like a 'mode of operation' for the object which
Activity diagrams describe activities which involve concurrency and synchronization, which are
a variation of state diagrams that focuses on the flow of actions and events. They can be used for:
Activity Diagram
In UML semantics, Activity Diagrams are reducible to State Machines with some additional
notations that the vertices represent the carrying out of an activity and the edges represent the
collection of activities. Activity Diagrams capture high level activities aspects. In particular, it is
3. Can you name the different elements with the collaboration diagram?
diagram:
● Object - the interaction in a system always takes place between two objects. An object is
always depicted by a rectangle with the name of the object. This is preceded by a colon
and an underline.
● Relation - it is also known as an association which is always among the objects which
are linked with the connection in a system. They are depicted by placing the qualifiers on
both ends.
● Message - An instance of communication from one point to the other significant point
or destination is a message. It always depicts the interaction that is offering between the
objects in a system. The sequence of this interaction is directly shown by the number.
● Activities - it indicates the action which has to be performed or had been performed in
the system.
● Transitions - they are represented by an arrow and used to indicate the floor that is
occurring among the elements in the diagram.
● Decision points - in the system the logical branching is highlighted by the decision
points.
● States - these are indicated in order to mention the milestones for the processing
of activity diagrams and is shown by a rounded rectangle.
5. Sequence diagrams basically show the way of processing or the execution of the process
with any of the sequences. Sequence diagrams are entirely focused on the representative
interaction among different objects.On the other hand, activity diagrams actually detect the
following phases-
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
2. Outcome: Identify a list of potential domain classes from a given problem statement.
Quiz
1.What does a simple name in UML Class and objects consist of?
a) Letters
b) Digits
c) Punctuation Characters
b) Operations
c) Attributes
a) Class
b) Object
c) All of the mentioned
a) Associations may also correspond to the relation between instances of three or more classes
a) Top compartment
b) Bottom Compartment
Viva
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version 4.5)
JAVA
other processes.
Thread: a lightweight flow that can execute independently and concurrently with other threads
2. Modelling in UML:-
Uml?
4.Modeling is a proven and well-accepted engineering technique which helps build a model.
Model is a simplification of reality; it is a blueprint of the actual system that needs to be
built. Models help to visualize the system. Models help to specify the structural and behavior
of the system. Models help make templates for constructing the system. Models helps
document the system.
Shivajirao Kadam Institute of Technology & Management, Indore
Department of Computer Science and Engineering
Experiment-wise Laboratory Performance Evaluation
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
3. Objectives & Value Addition: Understand the concept of domain classesTo understand the process &
thread view
4. References:
5. Tutorial Problem:-
Consider a trip planning service (e.g., expedia) that is used by travelers to identify and book all
at once the best deal in terms of flight, hotel, car rental etc. Model a basic scenario where a
customer uses the system to book flight and hotel room by highlighting the concurrency and
synchronization involved.
Quiz
1.What does a simple name in UML Class and objects consist of?
a) Letters
b) Digits
c) Punctuation Characters
b) Operations
c) Attributes
b) Object
a) Associations may also correspond to the relation between instances of three or more classes
a) Top compartment
b) Bottom Compartment
Viva
other processes.
Thread: a lightweight flow that can execute independently and concurrently with other threads
2. Modelling in UML:-
Uml?
4.Modeling is a proven and well-accepted engineering technique which helps build a model.
Model is a simplification of reality; it is a blueprint of the actual system that needs to be
built. Models help to visualize the system. Models help to specify the structural and behavior
of the system. Models help make templates for constructing the system. Models helps
document the system.
1.Explain About The Difficulties Of Interchange Format Of Uml?
1. XML standard should allow interchange of UML models but it is not the case scenario
practically. Portability of the language from one format to another format is not possible and
lack of information can be possible in the course. It also lacks sufficient details which make it
impossible for interchange between modeling tools.
2. State Some Benefits Of Iterative Development?
3. This form of relationship exists when a change to a certain element changes the definition
and structure of the other element as well. This is indicated by a pointing arrow from the
dependent
side to the independent side. This form of relationship can exist between classes and
inheritance. 4.Write Down The Main Phases Of Problem Solving Model?
• Data gathering.
• Problem redefining.
• Finding ideas.
• Finding solutions.
• Implementation.
Shivajirao Kadam Institute of Technology & Management, Indore
Department of Computer Science and Engineering
Experiment-wise Laboratory Performance Evaluation
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
2. Outcome: Logical view and dividing the logical entities into actual software components.
3. Objectives & Value Addition: To understand the concurrency & synchronization mechamism
4. References:
Quiz
1.Which among these are the notations which are used to represent software architecture?
b) A unit’s relationships are usually indicated in part by its name and in part by the symbols
used to represent it in various diagrams
5. Which of the following is correct for decisions made at life cycle level?
a) Decisions at all level of like cycle from high level design to coding, implementation
affect system quality
b) Decisions at all level of like cycle from high level design to coding, implementation may or
may not affect system quality
c) Decisions at all level of like cycle from high level design to coding,implementation does not
affect system quality
Viva
documentation etc.) in the development environment in terms of: •Packaging and layering
such as DLLs, executables etc. -Work product components: residue of development processes
such as source code files, data files etc. -Execution components: created as a consequence of an
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
Quiz
a) Module Structure
c) Process structure
a) Conceptual structure
b) Module structure
c) Physical structure
d) Calls structure
a) Module Structure
b) Process Structure
c) Physical Structure
d) Class Structure
a) Calls Structure
b) Uses Structure
c) Data Flow
d) Control Flow
Viva
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version
4.5) JAVA
documentation etc.) in the development environment in terms of: •Packaging and layering
such as DLLs, executables etc. -Work product components: residue of development processes
such as source code files, data files etc. -Execution components: created as a consequence of an
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
Quiz
a) The architecture may not be the product of a single architect or a small group
b) The architect should have the technical requirements for the system and an
articulated and prioritized list of qualitative properties
2. Which among the following are valid questions raised for the top level architectural model?
c) It is standard decomposition of a known problem into parts that cooperatively solve a problem
d) It is a division of functionality together with data flow between the pieces, It is standard
decomposition of a known problem into parts that cooperatively solve a problem
Viva
1. What Is A Pattern?
2. What Is An Antipattern?
3. What Is Meant By A Component?
4.Define Interaction?
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version
4.5) JAVA
1. Capture, general ledger (GL) code, and match supporting documents such as a purchase
order and/or delivery receipt
2. Send invoices to authorized approvers to approve or reject invoices
3. Authorize and submit invoices for payment in a financial system
4. Process invoices for payment via common payment methods such as check, ACH, or
wire transfer
5. Archive invoices and payment information in the GL and for audit purposes
9.Results
After performing this practical successfully students would understand the design of architecture
pattern.
10.Solved Tutorial Problems
1. What Is A Pattern?
1.A pattern is an abstract solution to a commonly occurring problem in a given context. A
pattern describes a problem which occurs over and over again in our environment, and then
describes the core of a solution to that problem, in such a way that we can use this solution a
million times over, without ever doing it the same way twice.
2. What Is An Antipattern?
2. Documents unsuccessful attempts at providing solutions to certain recurring problems but
includes reworked solutions that are effective.
3. What Is Meant By A Component?
3. Component is an executable software module with a well-defined interface and
identity. 4.Define Interaction?
4. An Interaction is defined in the context of Collaboration. It specifies the communication
patterns between the roles in the Collaboration.
Shivajirao Kadam Institute of Technology & Management, Indore
Department of Computer Science and Engineering
Experiment-wise Laboratory Performance Evaluation
*** ***
Grade and remark by the tutor Score (0- 10) Remark / Reason
1. Clarity about the Objective and Outcome of
experiment
2. Submitted the work in desired format
Quiz
b) a design checklist
a) functional
c) permanent
a) The architecture may not be the product of a single architect or a small group
b) The architect should have the technical requirements for the system and an
articulated and prioritized list of qualitative properties
Viva
Software Used:
Turbo C++ IDE (TurboC3)
Borland Turbo C++ (Version
4.5) JAVA
system provides trading signals based on the share price data and the rules you specify in the
system.
9.Results
After performing this practical successfully students would understand how to develop
interactive applications.