MATRIC NO:PN/CS/23/1960
LAB EXERCISE 1
1. What are the types of system models?
a. Physical Models
b. Mathematical Models
c. Conceptual Models
d. Simulation Models
e. Computational Models
f. Abstract Models
g. System Dynamics Models
h. Structural Models
i. State-Space Models
j. Agent-Based Models (ABM)
k. Control Models
l. Network Models
m. Stochastic Models
2. Explain System Modeling and list examples of modeling tools?
System modeling is the process of creating a simplified representation (model) of a complex system
to better understand, analyze, predict, and control its behavior. This representation can help in
visualizing, simulating, and studying various aspects of the system in a structured way. System
models are valuable for designing, testing, and optimizing systems before they are physically
implemented or fully operational. Modeling is essential in numerous fields, including engineering,
computer science, economics, biology, and more.
Examples of System Modeling Tools:
1. MATLAB/Simulink
2. SysML (Systems Modeling Language)
3. UML (Unified Modeling Language)
4. Ptolemy II
5. VISSIM
6. Arena Simulation Software
3. Why is system modeling important in software process?
Importance of System Modeling in Software Process
System modeling plays a critical role in the software development process. It is essential for
designing, analyzing, and documenting software systems effectively. By creating models of a system,
developers and stakeholders can better understand the system's structure, behavior, and
interactions before actual implementation begins. Here's why system modeling is important in the
software process:
1. Clear Visualization of System Requirements
2. Improved Communication Among Stakeholders
3. Early Detection of Problems
4. Better Documentation and Traceability
5. Support for System Design and Architecture
MATRIC NO:PN/CS/23/1960
LAB EXERCISE 2
1. State any 6 types of UML Software and briefly describe them
1. Enterprise Architect – A full-featured UML modeling tool used for designing software architecture.
2. Visual Paradigm – A powerful UML tool with support for various design patterns and software modeling.
3. Lucidchart – A web-based UML diagramming tool that allows collaborative modeling.
4. StarUML – An open-source UML modeling tool that supports UML 2.x diagrams.
5. IBM Rational Rose – A commercial UML modeling tool widely used in enterprise applications.
6. Microsoft Visio – A diagramming tool that supports UML modeling, often used for business and IT workflows.
2. What are the types of UML diagrams and symbol sets?
Types of UML Diagrams:
UML diagrams are classified into two main categories:
1. Structural Diagrams (describe system components and relationships)
I. Class Diagram
II. Object Diagram
III. Component Diagram
IV. Deployment Diagram
V. Package Diagram
VI. Composite Structure Diagram
2. Behavioral Diagrams (describe system behavior and interactions)
i. Use Case Diagram
ii. Sequence Diagram
iii. Activity Diagram
iv. State Machine Diagram
v. Communication Diagram
vi. Interaction Overview Diagram
vii. Timing DiagramUML Symbol Sets:
a. Class Diagram Symbols (e.g., class, attributes, methods)
b. Use Case Symbols (e.g., actor, system boundary, use case)
c. Activity Diagram Symbols (e.g., action, decision, fork/join)
d. State Machine Symbols (e.g., initial state, final state, transition)
3. Describe the functions of the following symbols.
i. Package & Component Diagram
a. The Package groups related components together for better organization.
b. The Component represents a modular part of the system (e.g., software libraries or modules).
c. Additional components can be used for clarification in complex systems.
ii. Deployment Diagram (Node & Server)
a. A Node represents a physical device or hardware (e.g., a server or client machine).
b. The Server is a specific type of node that hosts services or applications.
c. The Name label identifies the specific node in the system architecture.
MATRIC NO:PN/CS/23/1960
LAB EXERCISE 3
1. What are the benefits of Object-oriented modeling?
Object-oriented modeling (OOM) offers several benefits, making it a widely used approach in software
design and system development. Here are some of the key advantages:
1. Modularity
2. Reusability
3. Maintainability
4. Scalability and Flexibility
5. Abstraction
6. Inheritance
7. Polymorphism
8. Improved Communication
9. Reduced Complexity
10. Support for Design Patterns
2. Distinguish between object, Class, Component, polymorphism, encapsulation, and Inheritance?
Term Definition Key Features Examples
Object An instance of a class that - Created from a class Car myCar = new Car(); (Here, myCar
has state (attributes) and - Has unique values stored in is an object of class Car.)
behavior (methods). attributes
Class A blueprint/template for - Defines properties and A Login Component in a web app
creating objects. It defines behavior that handles authentication
attributes and methods. - Does not hold data itself (only
objects do)
Component A modular and replaceable - Used in Component-based A Login Component in a web app
part of a system that Development (CBD) that handles authentication
encapsulates functionality - Interacts with other
and exposes an interface. components via interfaces
Polymorphism The ability of a method or - Method overloading (same void draw(Circle c)
function to take multiple method name, different void draw(Rectangle r) (Same
forms. parameters) method name, different
- Method overriding (subclass behaviors)
redefines superclass method)
Encapsulation The concept of hiding data - Uses private variables and private int age; public void
and restricting direct access public getter/setter methods setAge(int a) { age = a; }
to it. - Protects object integrity
Inheritance The process where one class - Promotes code reusability class Car extends Vehicle {} (Car
derives properties and - Uses extends keyword in Java inherits from Vehicle)
behaviors from another
class.
MATRIC NO:PN/CS/23/1960
LAB EXERCISE 4
1. Scenario: Online Store An online store sells products to customers. Customers can browse products, add them to
their cart, and checkout. The store keeps track of customer information and order history.
a. Draw a UML class diagram for the online store scenario.
Customer
name
location
sendOrder()
receiveOrder()
(association)
Order
Date
Number
Confirm()
Close()
(inheritance
) SpecialOrder()
Dispatch()
NormalOrder
Dispatch()
Receive()
MATRIC NO:PN/CS/23/1960
b. Create an object diagram to represent a customer adding a product to their cart.
Customer1
name :John Doe
location:Nyc
Product1
name:Laptop
price:$1000
Cart
Contains:
Product1
Order
Status:Pending
Checkout
c. Draw a sequence diagram to represent a customer checking out.
Customer Card System Payment System Order System
Initiates Checkout
Retrieves Items
Process Payment
Confirms Order
Sends Confirmation
MATRIC NO:PN/CS/23/1960
LAB EXERCISE 5
1. Presentation Tier (Client-side):
a. Client (Web Browser): This is where users interact with the system. They could use a web browser or
a mobile app to interact with the online shopping platform.
b. The web browser or mobile app communicates with the application server (in the next tier) through
HTTP/HTTPS.
2. Application Tier (Business Logic):
a. Web Server: This is where the presentation tier sends HTTP requests. The web server handles user
requests (such as viewing products, making a purchase, etc.) and forwards them to the application
logic.
b. Application Server: This is where the core logic of the online shopping system resides, such as
handling user authentication, processing transactions, and managing shopping cart data. The
application server is responsible for querying the database, processing business rules, and
responding to the presentation layer.
c. Load Balancer: If the application is highly available and requires scaling, a load balancer might be
used to distribute incoming traffic among multiple application servers.
3. Database Tier (Data Storage):
a. Database Server: This is where all the persistent data is stored, including user information, product
data, order history, etc. The application server communicates with the database server to store and
retrieve data.
b. Database Cluster: If high availability and redundancy are needed, multiple database servers may be
used to ensure the system can withstand hardware failure.
User Client
(Web Browser / Mobile App)
Web Server
(Handles requests, serves static content)
Load Balancer (Optional)
(Distributes requests across App Servers)
Application Server(s)
(Business logic: cart, authentication,
orders, etc.)
Database Server (Stores user
info, products, orders, inventory, etc.)
MATRIC NO:PN/CS/23/1960
LAB EXERCISE 6
ONLINE EDUCATION PLATFORM
STUDENT INSTRUCTOR ADMINISTRATOR
Register/Login Manage Users
Create Course
Browse Course Generate Results
Upload Content
Enroll in Course Approve Courses
Grade Assignment
Talk Quiz/Exam Handle Support
View Analytics
Submit Assignment
Participate in Forum
MATRIC NO:PN/CS/23/1960
LAB EXERCISE 7
CUSTOMER SYSTEM ADMIN
System provides
suggestion for
room details
Inquires about Input room
reservation details
Check
registered
customer or
Enters required not
room details
Assign room
to customer
Enter customer
details & create
customer record
Guest receive
confirmation
invoice
MATRIC NO:PN/CS/23/1960
LAB EXERCISE 8
Primary States
1. Red Light – Vehicles must stop.
2. Green Light – Vehicles can proceed.
3. Yellow Light – Vehicles should prepare to stop.
Intermediate & Special States
4. Flashing Yellow – Caution (e.g., during night hours or malfunction).
5. Flashing Red – Treat as a stop sign (e.g., power failure mode).
6. All Lights Off – System failure or power outage.
Transitions & Conditions
a. Red → Green (Timer expires for red light)
b. Green → Yellow (Timer expires for green light)
c. Yellow → Red (Short delay before switching to red)
d. Flashing Modes (Triggered by system override or emergency conditions)