0% found this document useful (0 votes)
23 views65 pages

SEPM

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

SEPM

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

BTCS402 Software Engineering and Project Management

SHRI VAISHNAV VIDYAPEETH VISHWAVIDYALAYA


Shri Vaishnav Institute of Information Technology
Department of Computer Science and Engineering

2022-2023

2nd Year 4rd Semester

SUBJECT: SOFTWARE ENGINEERING AND PROJECT MANAGEMENT


COURSE CODE: BTCS402N
ENROLLMENT NO.: 21100BTCSE09952

SUBMITTED TO: SUBMITTED BY:


Prof. Sunny Bagga Saiyam Kumawat

21100BTCSE09952 1 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

SHRI VAISHNAV VIDYAPEETH VISHWAVIDYALAYA


Shri Vaishnav Institute of Information Technology
Department of Computer Science & Engineering
Software Engineering And Project Management
[BTCS402N]

LIST OF EXPERIMENT
S.N NAME OF PA DATE OF DATE OF SIGN/REMAR
o. EXPERIME GE EXPERIME SUBMISSIO K
NT No. NT N
1. Study and compare the
SDLC models.
2. Prepare a SRS
document in line with
the IEEE
recommended
standards.
3. Study requirement
engineering of project.
4. Study the UML drawing
tools.
5. Draw the entity
relationship[ diagram of
a project
6. Draw the data flow
diagram at level 0 and
level 1.
7. Draw use case
diagram in star
UML.
8. Draw activity diagram in
star UML.
9. Draw class diagram
in star UML.
10. Draw component
diagram in star UML.

11. Draw sequence diagram


in star UML.
12. Draw collaboration
diagram in star UML.

21100BTCSE09952 2 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Experiment 1

1. Title: Study and compare the SDLC models

2. Objective: The purpose of understanding the differences between SDLC models is


to choose the most appropriate model for your software development project, based
on its unique requirements, goals, budget, timeline, and team size. This ensures
efficient and effective project completion while meeting stakeholder expectations.

3. Solution:
Q. Difference between Waterfall Model and Agile Model?

Criteria Waterfall Model Agile Model

Approach Sequential Iterative and Incremental

Flexibility Rigid and less flexible Highly flexible

Customer involvement Limited customer involvement Active customer involvement

Requirements Documented in detail upfront Requirements are gathered iteratively

Difficult to make changes once Changes can be made at any time during
Changes development starts the development process

Testing is done at the end of the Testing is done continuously throughout


Testing development process the development process

Timeframe Longer timeframes with a fixed end date Shorter timeframes with frequent releases

Collaborative teams with overlapping


Team structure Siloed teams with defined roles roles

Continuous risk management throughout


Risk management Risks are identified and managed upfront the project

Deliverables are constantly refined based


Deliverables Deliverables are defined upfront on customer feedback

Documentation is essential for Direct communication and collaboration


Communication communication among team members and stakeholders

21100BTCSE09952 3 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Criteria Waterfall Model Agile Model

Customer satisfaction is measured at the Customer satisfaction is measured


Customer Satisfaction end of the project continuously throughout the project

Only necessary documentation is


Documentation Extensive documentation is required produced

Changes are difficult to implement once Changes can be easily implemented due
Change Management a phase is completed to the iterative nature of the process

Quality control is done at the end of each Quality control is done continuously
Quality Control phase throughout the development process

Feedback Feedback is minimal and infrequent Feedback is continuous and frequent

Q. Difference between Incremental and Spiral Model?

Criteria Incremental Model Spiral Model

Software development is divided into Software development is divided into


smaller, independent modules that are smaller, iterative cycles that are repeated
Definition developed and delivered incrementally until the final product is completed

The software is developed and delivered The software is developed in a series of


incrementally, with each module being iterations, with each iteration involving
tested before being integrated with the planning, risk analysis, development,
Process existing system testing, and evaluation

Highly flexible, with the ability to adapt to Moderately flexible, with the ability to
Flexibility changes as the project progresses incorporate changes in subsequent iterations

Risk Risks are managed continuously throughout


Management Risks are managed during each iteration the development process

Customer Customer feedback is sought after each Customer involvement is high throughout
Involvement iteration the development process

Longer timeframes due to the iterative


Timeframe Shorter timeframes with frequent releases nature of the model

21100BTCSE09952 4 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Criteria Incremental Model Spiral Model

Teams are structured around individual Teams are cross-functional and work
modules, with each team working collaboratively throughout the development
Team Structure independently process

Communication is frequent and ongoing Communication is frequent and ongoing


Communication throughout the development process throughout the development process

Testing is done throughout the development


Testing is done after each module is process, with each iteration being
developed and integrated with the existing thoroughly tested before moving on to the
Testing system next iteration

Requirements are gathered upfront and Requirements are gathered and refined
Requirements prioritized by module throughout the development process

Deliverables are produced incrementally Deliverables are produced iteratively and


Deliverables and delivered to the customer refined based on customer feedback

Change Changes can be easily incorporated in Changes can be easily incorporated in


Management subsequent modules subsequent iterations

Documentation is produced throughout the


Documentation is produced for each development process, with each iteration
Documentation module as it is developed and delivered being documented

Q. Difference between Prototype Model and RAD Model?

 The Prototype Model and Rapid Application Development (RAD) Model are two popular
software development methodologies that share some similarities but also have distinct
differences.

 The Prototype Model focuses on creating a working prototype of the software early on in the
development process. This prototype is then tested and refined until it meets the needs of the
customer. This process allows for early feedback and can help identify potential issues before
they become bigger problems. The focus of this model is on ensuring that the end product
meets the requirements of the customer. In contrast, the RAD model focuses on speed and
efficiency, with the aim of delivering a working product in a short timeframe. The model
achieves this by breaking down the development process into smaller, more manageable
components, which are then developed and tested in parallel. The focus is on delivering
a

21100BTCSE09952 5 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

functional product quickly, rather than on ensuring that the end product meets all of the
customer's requirements.

 In terms of flexibility, the Prototype Model is highly flexible as it allows for changes to be
made throughout the development process based on feedback from the customer. In contrast,
the RAD model is less flexible, as it is designed to deliver a product quickly within a fixed
timeframe.

 Customer involvement is also different between the two models. In the Prototype Model,
customer involvement is high throughout the development process, as feedback is required to
refine the prototype. In contrast, customer involvement in the RAD model is limited, as the
focus is on delivering a product quickly.

 The testing approach is also different between the two models. In the Prototype Model,
testing is done throughout the development process, with each iteration being thoroughly
tested before moving on to the next iteration. In contrast, testing in the RAD model is done at
the end of each component, with each component being tested and integrated into the system
as it is completed.

 In terms of documentation, the Prototype Model requires more documentation as each


iteration produces a working prototype that must be documented. In contrast, the RAD model
requires less documentation, as the focus is on delivering a working product quickly.

 In conclusion, while the Prototype Model and RAD Model share some similarities, they have
distinct differences in terms of their approach, flexibility, customer involvement, testing, and
documentation requirements. Choosing between the two models depends on the specific
needs of the project, including the timeframe, level of customer involvement, and emphasis
on delivering a functional product versus ensuring that the end product meets all of the
customer's requirements.

4. Quiz & Viva Questions


4.1 Quiz
1. Which SDLC model is best suited for large and complex software
development projects?
A. Waterfall Model
B. Agile Model
C. Spiral Model
D. Prototype Model
Answer: C. Spiral
Model

2. Which SDLC model requires a high level of customer involvement?


A. Waterfall Model
B. Agile Model
C. Spiral Model
D. V-Model
Answer: B. Agile Model

21100BTCSE09952 6 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3. Which SDLC model focuses on building a prototype of the software product?


A. Waterfall Model
B. Agile Model
C. Spiral Model
D. Prototype Model
Answer: D. Prototype Model
4. Which SDLC model provides a clear and structured approach to testing?
A. Waterfall Model
B. Agile Model
C. Spiral Model
D. V-Model
Answer: D. V-Model
5. Which SDLC model is inflexible and not suitable for large and complex projects?
A. Waterfall Model
B. Agile Model
C. Spiral Model
D. Prototype Model
Answer: A. Waterfall
Model

4.2 Viva Questions


1. What is an SDLC model?
 An SDLC model is a methodology used to guide the development of software,
typically involving a set of phases or stages through which the software passes
from initiation to completion.

2. What are the different phases of the Waterfall Model?


 The Waterfall Model typically consists of the following phases: requirements
gathering and analysis, design, implementation, testing, deployment, and
maintenance.

3. How is the Agile Model different from the Waterfall Model?


 The Agile Model is different from the Waterfall Model in that it is an iterative
and incremental approach, with a focus on delivering working software in small
increments. Agile also emphasizes collaboration and responsiveness to change,
whereas Waterfall is a linear and sequential approach.

4. What are the advantages of using an Agile Model?


 Some advantages of using an Agile Model include the ability to respond to changes
and feedback quickly, the ability to deliver a working product in small increments,
and a focus on collaboration and communication between team members.

21100BTCSE09952 7 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 2
1. Title: Prepare a SRS document in line with the IEEE recommended standards.

2. Objective: The objective of writing an SRS (Software Requirements Specification)


is to clearly define and communicate the requirements of a software system to
stakeholders and the development team.

3. Solution:

Software Requirements
Specification
for

Online Food Ordering System


Version 1.0 approved

Prepared by

Saiyam Kumawat

Shri Vaishnav Vidyapeeth Vishwavidyalaya

3 March 2023

21100BTCSE09952 8 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Table of Contents
Table of Contents......................................................................................................................7
Revision History........................................................................................................................7
1. Introduction...........................................................................Error! Bookmark not defined.
1.1 Purpose..........................................................................Error! Bookmark not defined.
1.2 Document Conventions.................................................Error! Bookmark not defined.
1.3 Intended Audience and Reading Suggestions...............Error! Bookmark not defined.
1.4 Product Scope...............................................................Error! Bookmark not defined.
1.5 References.....................................................................Error! Bookmark not defined.
2. Overall Description...............................................................Error! Bookmark not defined.
2.1 Product Perspective.......................................................Error! Bookmark not defined.
2.2 Product Functions.........................................................Error! Bookmark not defined.
2.3 User Classes and Characteristics...................................Error! Bookmark not defined.
2.4 Operating Environment.................................................Error! Bookmark not defined.
2.5 Design and Implementation Constraints.......................Error! Bookmark not defined.
2.6 User Documentation.....................................................Error! Bookmark not defined.
2.7 Assumptions and Dependencies...................................Error! Bookmark not defined.
3. External Interface Requirements........................................Error! Bookmark not defined.
3.1 User Interfaces..............................................................Error! Bookmark not defined.
3.2 Hardware Interfaces......................................................Error! Bookmark not defined.
3.3 Software Interfaces.......................................................Error! Bookmark not defined.
3.4 Communications Interfaces..........................................Error! Bookmark not defined.
4. Functionl Requirement.........................................................Error! Bookmark not defined.
4.1 User Registartion..........................................................Error! Bookmark not defined.
4.2 ProductListing and management...................................Error! Bookmark not defined.
4.3 Login and RetrievePassword........................................Error! Bookmark not defined.
4.4 Payment processing......................................................Error! Bookmark not defined.
4.5 Shipping and Delivering management..........................Error! Bookmark not defined.
4.6 Monitoring Report........................................................Error! Bookmark not defined.
5. Other Nonfunctional Requirements....................................Error! Bookmark not defined.
5.1 Performance Requirements...........................................Error! Bookmark not defined.
5.2 Safety Requirements.....................................................Error! Bookmark not defined.
5.3 Security Requirements..................................................Error! Bookmark not defined.
5.4 Software Quality Attributes..........................................Error! Bookmark not defined.
5.5 Business Rules..............................................................Error! Bookmark not defined.
6. Other Requirements.............................................................Error! Bookmark not defined.
Appendix A: Glossary................................................................Error! Bookmark not defined.
Appendix B: Analysis Models....................................................Error! Bookmark not defined.
Appendix C: To Be Determined List.........................................Error! Bookmark not defined.

7. Conclusion

21100BTCSE09952 9 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Introduction:

1.1 Purpose:

This Software Requirements Specification (SRS) document is for the Online Food Ordering Services
project, revision/release number 1.0. Defining and describing the functions and specifications of the Online
Food Ordering System (OFO) is the primary goal of this Software Requirements Specification (SRS). This
Software Requirements Specification illustrates, in clearterms, the system’s primary functionality is collected
from general people and specified by our customer requirements.

1.2 Document Conventions:


Main Section Titles
Font: Times New Roman Face: Bold Size:14.
Sub Section Titles
Font: Times New Roman Face: Bold Size:12.
Other text Explanation
Font: Times New Roman Face: Normal Size:12

1.3 Intended Audience and Reading Suggestions:


This document is intended for developers, project managers, marketing staff, users, testers, and
documentation writers. It is organized into several sections, including an overview, functional
requirements, non-functional requirements, user interface requirements, and system requirements. The
document is designed to be read in sequence, beginning with the overview section and proceeding
through the sections most relevant to each reader type.

1.4 Product Scope:


The software system being produced is called Online Food Ordering System (OFO). It is being
produced for a customer interested in Buying Food items via theInternet. This system is largely
available for anyone who have the Internet connection. The system will be run on a central server
and distribute the remote user interface through a web browser to all the devices.

1.5 References:
This SRS refers to the following documents and web addresses:
 User interface style guides
 Contracts
 Standards
 System requirements specifications
 Use case documents

21100BTCSE09952 10 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Vision and scope document


These references provide additional information that is pertinent to the development
andimplementation of the Online Food Ordering Services system. The document title, author, version
number, date, and source/location are provided for each reference to facilitate access.

1. OVERALL DESCRIPTION

1.1 Product Perspective:

OFO is an online food ordering and selling website which supports a number of functions for both the
customer and admin. The website must be available to anyone using a computer or a smart phone with
internet connection.

The purpose of this document is to describe all the requirements for the targeted project the Online Food
Ordering System (OFO) for all the restaurant and hotels. The intended audience includes all stakeholders
in the potential system.

1.2 Product Functions:


The major functions that the Online Food Ordering Services system must perform include:
• Login/Logout
• Activate/Deactivate user
• Accept Order
• Deliver Item
• Place Order
• Pay Bill
• Process Bankcard Payment
• Process Cash Payment
• Abort Meal
• Abort Account
• Issue Refund
• Accept/Reject Item

1.3 User Classes and Characteristics:


The following user classes are anticipated to use the Online Food Ordering Services system:

 Administrator
In the OFO the major and sensitive role is played by the admin, to illustrate, he willdefine the food items,
whit quantity, price, data entry of the food item and controlthe users and customers.

 Customer
Customer are the only users who have chance to add food items in to the cart as aninput on OFO system.
Customer can only see his/her massages and order details on his/her dashboard Here, s/he will have the
option of seeing full Order or cart information sheet.
 User
21100BTCSE09952 11 Saiyam Kumawat
BTCS402 Software Engineering and Project Management

In the OFO the users only use the system and can browse all the items but cannot make order or add to cart
without login. They will give their basic information untilthe system is approved the correctness of their
information and freeze it.

1.4 Operating Environment:


The OFO for the food industry will be web-based system. Thus, anyone having a browser can hit the
specific link and can get access to it. Thus, it will ensure its bestusage and will ease the means of getting access
to the system. Moreover, it will remove the complexities of running the system in multiple platforms as it will be
deployed in a web server and platform independent.

1.5 Design and Implementation Constraints:


The following design and implementation constraints will be imposed on the Online Food Ordering
Servicessystem:
 The system must be developed using Java and the Spring Framework.
 The system must use a MySQL database.
 The system must be designed to be scalable to handle a large number of users and transactions.
 The system must comply with all relevant data privacy and security regulations.

1.6 User Documentation


The following user documentation components will be delivered with the software:
 User manual: a detailed guide on how to use the online Food Ordering services,
including how toregister, browse and bid on items, and make payments.

 On-line help: a searchable help system that provides assistance on specific features
and functions of the software.

 Tutorials: step-by-step guides on how to use specific features of the software.


 The user documentation will be delivered in digital format and will be accessible from
the online Food Ordering services website.

1.7 Assumptions and Dependencies


The following assumptions and dependencies have been identified for the project:
 It is assumed that the users have a basic understanding of how to use a web browser
and navigate websites.
 The online Food Ordering services will be developed using standard web
technologies, such asHTML, CSS, and JavaScript.
 The software will be deployed on a web server running the Apache web server software and
a MySQL database management system.
 The online Food Ordering services will depend on a secure payment gateway to process
paymentsmade by users. The payment gateway provider has not been selected yet, and the
selectionwill be made during the development phase.
 The online Food Ordering services will be integrated with a shipping and delivery service to
handle the shipping of items sold on the platform. The shipping and delivery service
provider has notbeen selected yet, and the selection will be made during the development
phase.

Any changes to these assumptions or dependencies may impact the project's timeline, budget,
or functionality and will be communicated to the project stakeholders in a timely

21100BTCSE09952 12 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

External Interface Requirements:


2.8 User Interfaces:
In the OFO there should be different portal for each type of users. To illustrate, theadmin has a
lot of functionalities to be done. So, the functionalities are grouped and thus used in the navigation
bar.The user: admin can expand or shrink the navigation bar. Next, there will be almost same functional
between Customersand Users as a non-customer must be a customer to order the food items. So, whilea
user is registered as a customer s/he will see an extra tab regarding the functionalities of a customer.

2.9 Software Interfaces:


To the end-user there is no need of any extra software to be installed. It is to be mentioned that, the
user need JavaScript enabled browsers to run the system. For OS, there has no boundary or strict rules,
it is platform independent and can run smoothly in any OS like Windows, MacOS, Linux, Android
etc. However, throughthe channel the cryptography should be maintained through the whole system as
the user can access it through internet also from anywhere.

2.10 Communications Interfaces:


All sorts of communications between server and client programs will be using Hyper Text
Transmission Protocol (HTTP) and the messaging will be done. As a result, any user using standard
communication protocols can communicate with the OFOwithout any protocol conversion or any other .

Functional Requirements
Before identification of the requirements we needed the comprehensive engagement and lighting
quick coordination with the stakeholders. So, the listed requirements go with all the previous processes

3.1 User Registration and Authentication:

Feature Description: This feature enables users to register an account with the system by providing
their personal details and creating login credentials. It includes secure authentication mechanisms,
such as username/password authentication or two-factor authentication, to ensure the security of user
accounts.

1.8 Product Listing and Management:


Feature Description: This feature allows sellers to create product listings with relevant details, such
as menu, description, images, and price. It supports different types of Food Orderings, including
standard Food Orderings, reserve Food Orderings, and buy now options. Sellers can manage their
listings by editing, deleting,or relisting items as needed.

Login & Retrieve Password:

Here, the requirements are based on the task of login system and password retrievalby the users including
teachers, students and coordinators. While login match the username with user type.

1.9 Payment Processing:


Feature Description: This feature facilitates secure payment processing for successful Food
Ordering transactions. It integrates with a payment gateway to securely handle payment
transactions, ensuring confidentiality and data integrity. Users can make payments using various
payment methods, and the system validates and processes payments accordingly.

21100BTCSE09952 13 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

1.10 Shipping and Delivery Management:


Here, the requirements are based on the task of Order system and getting the foodby the delivery
guy. And delivery guy will be responsible for .It includes functionality for sellers to specify shipping
options and costs, generate shipping labels, and track package delivery. Users can receive updates
on the shipping status of their purchased items.

1.11 Food Ordering Monitoring and Reporting:


Feature Description: This feature provides monitoring and reporting capabilities for Food
Orderings. It allowsadministrators to monitor ongoing Food Orderings, view statistical data,
generate reports on Food Orderin performance, and identify popular categories or items. These
insights can help in makinginformedbusiness decisions and optimizing the Food Ordering
platform .

3.Other Non-functional Requirements


1.12 Performance Requirements
Two server grade processors with clock speed core i3, 2.3 GHz, at least 4GB RAMand 500
GB hard disk is recommended for the server. Client machine withrecommended hardware
required for desktop operating system and web browser (with open JavaScript enable).

1.13 Safety Requirements


The system should comply with all relevant safety regulations and standards. The system should
prevent unauthorized access and ensure that user data is protected. The system should have a backup
and recovery mechanism to ensure that data is not lost in case of a system failure.

1.14 Security Requirements

The system should implement secure authentication mechanisms to ensure that only authorized users
can access the system. The system should have measures in place to prevent data breaches and
ensure data privacy. The system should comply with all relevant security regulations and standards.
1.15 Software Quality Attributes
The system should be highly reliable and available, with an uptime of at least 99%. The system
should be easy to use and provide a user-friendly interface. The system should be easy to maintain
and should allow for easy integration with other systems. The system should be scalable to
accommodate future growth.

1.16 Device capacity Requirement:


Server software does not require any special hardware other than the minimum hardware required
for running enterprise OS. Extra disk storage will be required for archives and electronic
documents. Increases of memory enables efficient queryprocessing, which is required for quick
bibliographic search. Two server grade processors with clock speed core i3, 2.3 GHz, at least 4GB
RAM and 1TB hard disk is recommended for the server. Client machine with recommended
hardware required for desktop operating system and web browser (with open JavaScript enable).

2. Other Requirements
2.1 Database Requirements:
- Specify the required database management system (e.g., MySQL, PostgreSQL).
- Define data storage and retrieval requirements.

21100BTCSE09952 14 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

- Specify backup and recovery mechanisms for the database.

2.2 Internationalization Requirements:


- Specify language support for the user interface.
- Define currency support for international transactions.
- Consider cultural differences in the design of the user interface.
2.3 Legal Requirements:
- Specify any legal compliance requirements, such as regulatory compliance for online Food Orderings.
- Consider intellectual property rights and protection.
- Address data privacy laws and ensure compliance with applicable regulations.

2.4 Reuse Objectives:


- Define objectives related to the reuse of components or code.
- Specify modular design principles for easy component reuse.
- Consider the use of open-source libraries and adherence to industry standards.

2.5 Other Requirements:


- Include any additional requirements that are not covered in the previous sections of the SRS.

Appendix A: Glossary
User Interface (UI): The visual and interactive part of the software that allows users to interact with
the system.
API: Application Programming Interface, a set of rules and protocols that allows different software
applications to communicate with each other.
MySQL: An open-source relational database management system.
HTML: Hypertext Markup Language, a standard markup language used for creating web pages.
CSS: Cascading Style Sheets, a style sheet language used for describing the presentation of a
document written in HTML.
JavaScript: A programming language that adds interactivity and dynamic elements to websites.
HTTP: Hypertext Transfer Protocol, an application protocol for transmitting hypermedia documents,
such as HTML.
SMTP: Simple Mail Transfer Protocol, a standard protocol for sending emails.
SSL: Secure Sockets Layer, a cryptographic protocol that provides secure communication over the
internet.
TLS: Transport Layer Security, a successor to SSL that provides secure communication over the
internet.
Microsoft SQL Server: A relational database management system developed by Microsoft.

21100BTCSE09952 15 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Appendix B: Analysis Models


The following analysis models are used to aid in understanding the system:
 Data Flow Diagram (DFD): A graphical representation of the flow of data within
the system, showing how data moves from one process to another.
 Class Diagram: A visual representation of the classes and their relationships in the
system, illustrating the structure of the software.
 State-Transition Diagram: A diagram that shows the different states a system or
component can be in and how it transitions between those states.
 Entity-Relationship Diagram (ERD): A diagram that represents the entities, attributes,
and relationships between entities in a database.

Appendix C: To Be Determined List


The following items or requirements are yet to be determined and will be further discussed and
clarified during the development process:
 Selection of a secure payment gateway provider for payment processing.
 Selection of a shipping and delivery service provider for handling item shipments.
 Specific hardware and operating system requirements for the hosting environment.
 Backup and recovery mechanisms for the database.
 Language support for the user interface.
 Currency support for international transactions.

Conclusion
This OFO will help all the restaurant to achieve more customer to serve their foodusing online. Many
customers can order easily using computer and internet. So, I believe, this system will help us for future
evolution of food industry. Any food industry can hire delivery boy and I will create new job for them.
Which is most dangerous problem in our country. Many jobs less people will get the job in this system that
will increase our GDP.

21100BTCSE09952 16 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3. Quiz & Viva Questions

3.1 Quiz

1. Which of the following is NOT a key feature of an online Food Ordering system?
a. User registration
b. Item listing
c. Inventory management
d. Bidding and Food Ordering management
→ c. Inventory management

2. Who are the main stakeholders involved in an online Food Ordering system?
a. Sellers and buyers only
b. Sellers, buyers, and administrators only
c. Sellers, buyers, administrators, and Food Orderingeers
d. Sellers, buyers, administrators, Food Orderingeers, and developers
→ c. Sellers, buyers, administrators, and Food Orderingeers

3. How can security and authentication be ensured in an online Food Ordering system? a.
Through secure user authentication mechanisms
b. By implementing bid increments
c. By enabling item categorization
d. Through payment processing integration
→ Through secure user authentication mechanisms

4. Which measure helps ensure scalability and performance in an online Food Ordering system?
a. Load balancing and caching
b. User registration and authentication
c. Payment processing integration
d. Item categorization and management
→ a. Load balancing and caching

3.2 Viva Questions

Q Explain the purpose of an online Food Ordering system and its key features.
→ The purpose of an online Food Ordering system is to provide a platform where users
can buyand sell items through an Food Ordering process conducted online. Key
features typically include user registration, item listing, bidding, Food Ordering
management, payment processing, and dispute resolution.

Q Describe the functional requirements that should be included in the SRS for an online
Food Ordering system.
→ Functional requirements in the SRS for an online Food Ordering system would
include user registration, item listing, bidding, Food Ordering management, payment
processing, accountmanagement, and reporting.

Q How would you handle security and authentication in the online Food Ordering system?
→ Security and authentication in the online Food Ordering system can be implemented
through secure user authentication mechanisms such as username/password, two-
factor authentication, and encryption. Additionally, measures like HTTPS encryption,
21100BTCSE09952 17 Saiyam Kumawat
BTCS402 Software Engineering and Project Management

securedatabase storage, and protection against common security threats should be


implemented.

21100BTCSE09952 18 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 3
1. Title: Study Requirement Engineering of project

2. Objective: The objective of studying requirement engineering is to develop a


systematic approach to capturing, analysing, documenting, and managing software
requirements. It aims to understand user needs, define clear requirements, and
effectively manage changes and scope throughout the software development
process.

3. Solution:

Requirement Engineering is a crucial part of the software development life cycle (SDLC). It
is the process of gathering, analysing, documenting, and verifying the requirements of a
software system. The goal of Requirement Engineering is to ensure that the software system
being developed meets the needs and expectations of the stakeholders.

Here are the key steps involved in Requirement Engineering:

1. Requirements Elicitation: This step involves gathering information about the


system from the stakeholders. Different techniques such as interviews, questionnaires,
and brainstorming sessions are used to collect the requirements.

2. Requirements Analysis: Once the requirements are collected, they need to be


analyzed to ensure that they are complete, consistent, and unambiguous. The
analyst needs to identify the stakeholders' goals and objectives and translate them
into functional and non-functional requirements.

3. Requirements Specification: The requirements need to be documented in a clear


and concise manner so that all stakeholders can understand them. The requirements
specification document should include functional and non-functional requirements,
constraints, assumptions, and any other relevant information.

4. Requirements Validation: The requirements specification needs to be validated to


ensure that it accurately represents the stakeholders' needs. Different techniques
such as reviews, walkthroughs, and prototyping can be used to validate the
requirements.

5. Requirements Management: Requirements are subject to change throughout the


SDLC. It is essential to manage requirements throughout the development process
to ensure that they are up-to-date and reflect the stakeholders' current needs.

Best practices for Requirement Engineering


1. Involve all stakeholders in the process: All stakeholders, including users,
customers, developers, testers, and project managers, should be involved in
the

21100BTCSE09952 19 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Requirement Engineering process. This helps ensure that the requirements are
comprehensive, accurate, and representative of the stakeholders' needs.

2. Use multiple techniques for requirements elicitation: Different techniques such


as interviews, surveys, focus groups, and workshops can be used to elicit
requirements. Using multiple techniques helps ensure that all stakeholders' needs are
captured and that the requirements are complete and accurate.

3. Clearly define the scope of the project: It is essential to define the scope of the
project and communicate it to all stakeholders. This helps ensure that all
stakeholders have a clear understanding of what the project will deliver and what it
will not.

4. Use a requirements traceability matrix: A requirements traceability matrix (RTM)


is a document that links the requirements to their origin, justification, and
verification. It helps ensure that all requirements are adequately tested and that any
changes to requirements are properly documented.

5. Prioritize requirements: Prioritizing requirements helps ensure that the most


important requirements are addressed first. This helps ensure that the software
system delivers maximum value to the stakeholders.

6. Ensure requirements are testable: All requirements should be testable, meaning


that they can be validated to ensure that they have been properly implemented.
This helps ensure that the software system meets the stakeholders' needs.

7. Continuously review and update requirements: Requirements are subject to


change throughout the SDLC. It is essential to continuously review and update
requirements to ensure that they accurately reflect the stakeholders' current
needs.

4. Quiz & Viva Questions

21100BTCSE09952 20 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

4.1 Quiz
1. Which of the following is not a primary goal of requirement engineering?
a) Understanding user needs
b) Documenting software requirements
c) Managing project schedule
d) Ensuring requirements are clear and
complete Answer: c) Managing project schedule

2. What is the purpose of requirement elicitation?


a) To manage project scope
b) To define non-functional requirements
c) To gather information about user needs
d) To validate software requirements
Answer: c) To gather information about user
needs

3. Which type of requirement describes the behaviour and functionality of a


software system?
a) Functional requirements
b) Non-functional requirements
c) User requirements
d) System requirements
Answer: a) Functional
requirements

4. What is the main purpose of requirement validation?


a) To ensure that requirements are complete and consistent.
b) To prioritize requirements based on importance.
c) To track and manage requirement changes.
d) To document user needs and expectations
Answer: a) To ensure that requirements are complete and consistent

5. What is the benefit of using a requirement management tool?


a) Efficient requirement prioritization and tracking
b) Generating user documentation automatically
c) Validating software requirements automatically
d) Eliminating the need for requirement elicitation
Answer: a) Efficient requirement prioritization and
tracking

4.2 Viva Questions

1. What is the importance of requirement elicitation in Requirement Engineering?

21100BTCSE09952 21 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Answer: Requirement elicitation is crucial because it involves gathering information about user
needs and system constraints. It helps in identifying and understanding thesoftware requirements,
ensuring that they are accurately captured and documented.
Effective requirement elicitation ensures that the final software product meets theexpectations and
goals of the stakeholders.

2. How does requirement prioritization help in managing project scope?


Answer: Requirement prioritization involves ranking requirements based on their importance and
urgency. It helps in managing project scope by allowing the development team to focus on the most
critical requirements first. This ensures thatthe essential functionalities are delivered within the
available time and resources.
Prioritization also helps in managing changes by providing a clear understanding ofwhich
requirements can be deferred or modified if necessary.

3. What is the difference between functional and non-functional requirements? Answer:


Functional requirements describe what the software system should do or thespecific actions it
should perform. They focus on the behaviour, features, and functionalities of the system. On the
other hand, non- functional requirements specify the quality attributes or characteristics of the system,
such as performance, reliability, usability, security, and scalability. Non-functional requirements define the
constraints,standards, and expectations for the system's overall performance and user experience.

4. How does requirement validation ensure the quality of the software requirements?
Answer: Requirement validation is a process of reviewing, analyzing, and evaluating the requirements
to ensure their quality and accuracy. It helps in identifying and resolving any inconsistencies,
ambiguities, or gaps in the requirements. By validatingthe requirements, potential issues and
misunderstandings are discovered early, reducing the likelihood of costly errors during development.
This process ensures thatthe requirements are complete, consistent, feasible, and align with the
stakeholders' expectations.

5. What are the benefits of using a requirement management tool?


Answer: A requirement management tool provides a centralized platform forcapturing,
organizing, and tracking requirements throughout the software development lifecycle. It
offers benefits such as:
Improved collaboration and communication among stakeholders. Traceability of
requirements from their origins to implementation and testing.Version control and change
management, ensuring a transparent record of requirement modifications.

21100BTCSE09952 22 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 4

1. Title: Study the UML drawing tools

2. Objective: The purpose of understanding and learning UML tools in SEPM is


important for effective communication of software designs and requirements,
visualizing complex systems, generating code and documentation, creating project
plans, managing development processes, and testing and maintaining software
systems. It leads to more efficient and successful software development and
project management.

3. SOLUTION:

3.1 INTRODUCTION
One of the most popular languages that is used to represent software design is the UML. The
Unified Modelling Language (UML) is used to spell out, visualize, modify, construct and
document the artifacts of an object-oriented software system that is under development.
Those who want work on software design they have to know the importance of UML. It is by
far the standardized general-purpose modelling language in the field of software engineering.
UML combines the best practice from data modelling concepts such as entity relationship
diagrams, business modelling (work flow), object modelling and component modelling. It can
be used with all processes, throughout the software development life cycle, and across
different implementation technologies.

OPEN-SOURCE SOFTWARE: Open-Source Software as software that comes under an


open source license. This implies that every recipient of the software can freely study its
source code, modify it, and distribute it. This software typically does not require a license fee.
There are open source software applications for a variety of different uses such as office
automation, web design, content management, operating systems, and communications.
Future uses of open source where could open source be used and how could its development
processes help technology projects be more productive OSS is unique in that it is always
released under a license that has been certified to meet the criteria of the Open Source
Definition. Advantages of Open Source Software Costs(little or no-charges), Flexibility,
Reliability and Quality, Reduces “Vendor Lock-in”, Availability of External Support, Every
one find bugs, cons of open source technology is Lack of Personalized Support
(Documentation).

3.2 STAR UML


STAR UML is an open source project to develop fast, flexible, extensible, featureful,
and freely-available UML/MDA platform running on Win32 platform. Star UML
modelling application licensed under a modified version of GNU GPL. Star UML is
based on UML

21100BTCSE09952 23 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

version 1.4 and provides UML version 2.0 notations and eleven different types of diagram. It
actively supports the MDA (Model Driven Architecture) approach by supporting the UML
profile concept. It provides maximize the productivity and quality because of generating
numerous results automatically from it. Use of Star UML help to easily and quickly design
exact software models which is based on UML standard. The goal of the Star UML project is
to build software modelling tool and also platform that is a compelling replacement of
commercial UML tools such as Rational Rose, Together and so on. Star UML boasts a
complete set of UML modelling features.

Architecture of Star UML

Approach: Approach defines the model of the project and basic organization of the
diagrams.
UML Profile & Notation Extension: UML Profile allows extension of expression for the
software model through the extension mechanism of UML.
Model Framework: Model Framework makes software models reusable and allows them to
be used when defining other software models.
Add-In COM Object: Add-In COM allows addition of new functionality to Star UML.
Menu Extension: The Star UML application menu (main menu and pop-up menu) can be
added by the user.
Option Extension: The Star UML option items can be added by the user.
Event Subscription: Various events occurring in Star UML can be subscribed to.
External API: The external API from Star UML allows access to various functionalities and
information. Details on API are discussed throughout this developer guide, and the example
included in Star UML installation 'STAR UML Application Model. UML provides a good
illustration.

21100BTCSE09952 24 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.3 KEY FEATURES OF Star UML


UML Tool that Adapts to the User: Star UML provides maximum customization to the
user's environment by offering customizing variables that can be applied in the user's
software development methodology, project platform, and language.
True MDA Support: Software architecture is a critical process that can reach 10 years or
more into the future. The intention of the OMG (Object Management Group) is to use MDA
(Model Driven Architecture) technology to create platform independent models and allow
automatic acquisition of platform dependent models or codes from platform independent
models. This maximizes extensibility of UML, making modelling of applications possible
even in areas like finance, defence, e-business, insurance, and aeronautics. Truly Platform
Independent Models (PIM) can be created, and Platform Specific Model (PSM) and
executable codes can be automatically generated in any way.
Excellent Extensibility and Flexibility: Star UML provides excellent extensibility and
flexibility. It provides Add-In frameworks for extending the functionality of the tool. It is
designed to allow access to all functions of the model/meta- model and tool through COM
(Visual Basic Script, Java Script, VB, Delphi, C++, C#, VB.NET, Python, etc.) Automation
and it provides extension of menu and option items. Also, users can create their own
approaches and frameworks according to their methodologies. The tool can also be integrated
with any external tools.
Accurate UML standard model: Star UML™ strictly adheres to the UML standard
specification specified by the OMG for software modelling. Because the results of design
information can reach 10 years or more into the future, dependence on vendor-specific
irregular UML syntax and semantics can be quite risky. Star UML™ maximizes itself to
order UML 1.4 standard and meaning, and it accepts UML 2.0 notation on the basis of
robust Meta model.
Open software model format: Unlike many existing products that manage their own legacy
format models inefficiently, Star UML™ manages all files in the standard XML format.
Codes written in easy-to-read structures and their formats can be changed conveniently by
using the XML parser. Given the fact that XML is a world standard, this is certainly a great
advantage, ensuring that the software models remain useful for more than a decade.
Applicability of methodologies and platforms: Star UML manipulates the approach
concept, creating environments that adapt to any methodologies/processes. Not only the
application framework models for platforms like .NET and J2EE, but also basic structures
of software models (e.g. 4+1 view-model, etc.) can be defined easily.
Software model verification function: Users can make many mistakes during software
modelling. Such mistakes can be very costly if left uncorrected until the final coding stage. In
order to prevent this problem, Star UML automatically verifies the software model developed
by the user, facilitating early discovery of errors, and allowing more faultless and complete
software development.
Useful Add-Ins: Star UML includes many useful Add-INS with various functionalities: it
generates source codes in programming languages and converts source codes into models,
imports Rational Rose files, exchanges modelling information with other tools using XMI,

21100BTCSE09952 25 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

and supports design patterns. These Add-Ins offer additional reusability, productivity,
flexibility and interoperability for the modelling information.
System Requirement: The following are the minimum system requirements for running Star
UML. Intel(R) Pentium(R) 233MHz or higher, Windows(R) 2000, Windows XP, or higher
Microsoft(R) Internet Explorer 5.0 or higher , 128 MB RAM (256MB recommended) , 110
MB hard disc space (150MB space recommended) , CD-ROM drive , SVGA or higher
resolution monitors (1024x768 recommended) , Mouse or other pointing device [8].

3.4 SOME OTHER FEATURES


 STAR UML is mostly written in Delphi. However, Star UML is multi-lingual project
and not tied to specific programming language, so any programming languages can
be used to develop Star UML.
 STAR UML supports the following UML diagrams
 Use Case Diagram
 Class Diagram
 Sequence Diagram
 Collaboration Diagram
 State chart Diagram
 Activity Diagram
 Component Diagram
 Deployment Diagram
 Composite Structure Diagram (UML 2.0)
 Code generation can be done for Java, C++ and C# as well as Reverse Engineering
Documentation can be generated for all of the Microsoft Office suite
programssuch as Word, Excel and PowerPoint.

3.5 PROS OF STAR UML


 Supports most of the diagrams specified in UML 2.0.
 Very rich feature set and formatting options.
 Ability to generate source code from the UML diagram.
 Reverse engineer the existing code into UML diagrams.
 Supported languages: C, C# and Java.
 Fast load time/execution time compared with other UML tools.
 Familiar Visual Studio like user interface.
 Supports exporting diagrams into JPG / XMI formats.
 Supports plug-ins for both importing and exporting.
 Code and documentation plug-ins provided with package.
 Useable.
 Free.

21100BTCSE09952 26 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

As basic comparison to other open source UML tool like agro UML with Star UML have
some limitation are as follows
 Not fully supports UML 2.0.
 Can’t Undo! Developers of Star UML must be so optimistic that people
(especially Software Developers) never do mistakes.
 Written in Java, so run comparatively slower than Star UML.
 Lack of formatting options.

3.6 CONS OF STAR UML


 Complex for the beginner.
 No longer on a release cycle.
 Not cross platform. (only Windows)
 Does not support exporting diagrams into SVG format.

Star UML Effective GUI.

21100BTCSE09952 27 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

Different types Diagram generation by Star UML.

Table content of generated document of Online Food


Ordering.

21100BTCSE09952 28 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.7 CONCLUSION
In this paper we have described some of the cognitive features of Star UML and key parts of
the system’s design. These features are inspired by published theories of human cognition
during design tasks. We have discussed the Key features, pros and cons of Star UML. After
this study on Star UML modelling tool and basic comparison to some other open source tools
like Agro UML it looks much better than others. So we recommend Star UML for any
developer for modelling of software models and prepare the document.

4. Quiz & Viva Questions


4.1 Quiz
1. What is the main purpose of StarUML in software development?
a. Testing the software system
b. Writing code and programming
c. Modeling and designing software systems
d. Project management and scheduling
→ c. Modeling and designing software systems

2. Which of the following diagram types is NOT supported by StarUML?


a. Class diagram
b. Use case diagram
c. Sequence diagram
d. Spreadsheet diagram
→ d. Spreadsheet diagram

3. How does StarUML support collaboration in software development teams?


a. By automatically generating code from diagrams
b. By providing a code editor with syntax highlighting
c. By allowing multiple team members to work on the same project simultaneously
d. By conducting automated testing and bug tracking
→ c. By allowing multiple team members to work on the same project simultaneously

4. What is the benefit of version control integration in StarUML?


a. It enables code generation from UML diagrams.
b. It helps with project scheduling and resource management.
c. It allows multiple team members to track and manage changes to the project
over time.
d. It provides automated documentation generation for the software system.
→ c. It allows multiple team members to track and manage changes to the project over
time.

5. Which of the following is a feature of StarUML?


a. Project budget estimation
b. Data analysis and reporting
c. Graphical user interface testing
d. Reverse engineering of code from existing systems
→ d. Reverse engineering of code from existing system

21100BTCSE09952 29 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

4.2Viva Questions

1. What is StarUML and what is its purpose in software development?


→ StarUML is a software modelling and design tool used in software development projects.
Its purpose is to provide a visual representation of the system being developed, helping to
analyse, design, and communicate the structure and behaviourof the software.

2. Describe the main features and functionalities of StarUML.


→ StarUML offers a range of features, including support for various modelling notations (e.g.,
UML, BPMN), diagram creation (e.g., class diagrams, sequencediagrams), code generation,
reverse engineering, collaboration and teamwork, documentation generation, and integration
with other tools and frameworks.

3. How does StarUML support modelling and design activities in software developmentprojects?
→ StarUML provides a graphical interface where developers can create and edit varioustypes of
diagrams, such as class diagrams, activity diagrams, and use case diagrams. These diagrams help
model and visualize the structure, behaviour, and relationships of the software components, aiding in
the analysis, design, and documentation of the system.

4. Explain the process of creating and organizing diagrams in StarUML.


→ In StarUML, diagrams can be created by selecting the desired diagram type from thetoolbar or
menu. Users can then add elements (e.g., classes, actors, activities) to the diagram and define
relationships between them. Diagrams can be organized into packages, which provide a hierarchical
structure to manage and group related diagrams and elements.

5. Discuss the collaboration and version control capabilities offered by StarUML.


→ StarUML supports collaboration and teamwork through features such as concurrent modelling,
model merging, and version control integration. Multiple team members can work on the same
project simultaneously, and changes made by different team members can be merged together.
Additionally, StarUML can integrate with versioncontrol systems (e.g., Git) to manage and track
changes to the project over time, enabling better collaboration and version control within the
development team.

21100BTCSE09952 30 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 5
1. Title: Draw the Entity relationship diagram of a project.

2. Objective: The objective of drawing an ER diagram for a project is to visually


represent the structure and relationships of the entities involved in a system or
database. It helps in understanding the system, analysing requirements,
communicating ideas, designing databases, and documenting the system design.

3. Solution:

3.1 Introduction of Entity-Relationship (ER) diagram


An Entity-Relationship (ER) diagram is a visual representation or a graphical tool
used to model the entities (objects or concepts), attributes (properties), and
relationships between entities in a system or database. It is commonly used in
software engineering and database design.

In an ER diagram, entities are represented as rectangles or boxes, attributes are


depicted as ovals or ellipses, and relationships are indicated by lines connecting
the entities. The diagram illustrates how different entities are related to each other
and how they interact within the system.

The ER diagram uses various symbols and notation to represent the cardinality
(the number of instances involved in a relationship), the degree (the number of
entities involved in a relationship), and the nature of the relationship (such as one-
to-one, one-to-many, or many-to-many).

By creating an ER diagram, you can gain a visual understanding of the entities,


their attributes, and the relationships between them, which aids in system analysis,
design, and communication among stakeholders. It serves as a blueprint for
database design and documentation throughout the project lifecycle.

3.2 Advantages of ER diagram


 Visual representation enhances understanding and clarity.
 Helps in analysing and refining system requirements.
 Facilitates effective communication between stakeholders.
 Aids in designing the structure of a database.
 Serves as documentation for system development and maintenance.

21100BTCSE09952 31 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.3 COMPONENTS OF ER DIAGRAM

3.4 ER DIAGRAM FOR ONLINE FOOD ORDERING SYSTEM

21100BTCSE09952 32 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

4. Quiz and viva questions


4.1 Quiz
1. How are relationships between entities represented in an Entity Diagram?
a. By dashed lines
b. By solid lines
c. By dotted lines
d. By arrows
→ b. By solid lines

2. Which of the following relationship types would be appropriate for the relationshipbetween a
user and the orders?
a. One-to-One
b. One-to-Many
c. Many-to-One
d. Many-to-Many
→ b. One-to-Many

3. What does cardinality represent in an Entity Diagram?


a. The uniqueness of an entity
b. The participation of an entity in a relationship
c. The data type of an attribute
d. The size of the database table
→ b. The participation of an entity in a relationship

4. Which entity would typically be associated with the feedback or ratings provided byusers in
an Online Food Ordering System?
a. User
b. Bid
c. Item
d. Feedback
→ d. Feedback
4.2Viva Questions

1. What is an Entity Diagram, and what is its purpose in the context of an Online
Food Ordering System?
→ An Entity Diagram, also known as an Entity-Relationship Diagram (ERD), is a visualrepresentation
of the entities (objects or concepts) and their relationships within a system. The ERD, or ER Diagram,
for Online Food Ordering System shows the system entity relationships in each entity and their
supposed functions in each relationship.

2. Which entities would typically be included in an Entity Diagram for an OnlineFood


Ordering System?
→ In the Online Food Ordering System we have the following entities

 User
 Site Information
 Payment
 Order
 Order Details
 Customer

21100BTCSE09952 33 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

 Rating
 Menu
 Menu Type

3. How are relationships represented in an Entity Diagram for an Online Food


Ordering System?
→ Relationships between entities in an Entity Diagram are typically represented by connecting lines
between the relevant entities. Common relationship types in an Online Food Ordering System may
include "User places Order," "User makes Payment," "User gives rating". The relationship lines may
also include cardinality and optionality indicators to denote the nature and constraints of the
relationships.

4. What are the advantages of using an Entity Diagram in the design of an OnlineFood
Ordering System?
→ The advantages of using an Entity Diagram in the design of an Online Food Ordering System
include:
 Visual representation: It provides a clear and visual overview of the
system'sdata model and relationships.
 Clarity and understanding: It helps stakeholders understand the structure
and organization of data within the system.
 Relationship identification: It allows for the identification of key
relationships between entities, aiding in the overall system design.
 Database design: It serves as a foundation for designing the database schemaand
creating database tables based on the identified entities and relationships.

21100BTCSE09952 34 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 6

1. Title: Draw the data flow diagrams at level 0 and level 1.

2. Objective: The objective of drawing data flow diagrams (DFDs) at level 0 and level 1
is to provide a clear and concise representation of the flow of data within a system or
process. At level 0, the diagram presents an overview of the system's major processes,
external entities, and the high-level data flows between them. At level 1, the diagram
delves deeper into each major process, breaking it down into subprocesses, data
stores, and detailed data flows. The purpose is to understand the inputs, outputs, and
transformations of data, identify potential bottlenecks or inefficiencies, and aid in the
analysis, design, and improvement of the system or process.

3. Solution:

3.1 Introduction of Data flow Diagram (DFDs)


Data Flow Diagrams (DFDs) are visual representations that depict the flow of data
within a system or process. They are widely used in software engineering and
systems analysis to model, analyse, and communicate the flow of information
between various components of a system.

In a DFD, data flows are represented by arrows, processes are depicted as circles
or rectangles, data stores are shown as rectangles with two parallel lines, and
external entities (sources or destinations of data) are illustrated as rectangles with
rounded corners. The primary focus of a DFD is on the movement of data rather
than the specific implementation details.

3.2 Advantages of DFDs.


 Visual representation simplifies understanding and analysis of complex
processes.
 Helps in capturing and refining system requirements effectively.
 Facilitates communication and collaboration among stakeholders.
 Identifies potential inefficiencies or bottlenecks for system improvement.
 Serves as documentation for system design and modifications.
 Supports scalability and flexibility in system design.
 Identification of data transformations and processing within the system.
 Early identification of potential bottlenecks or inefficiencies in data flow.
 Improved communication and understanding among stakeholders.
 Documentation for future reference, maintenance, and enhancements of
the system.

21100BTCSE09952 35 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.3 Components of DFDs.

3.4 Data Flow Diagram (Level 0) of Project.

21100BTCSE09952 36 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.5 Data Flow Diagram (Level 1) of Project.

4. Quiz & Viva Questions


4.1 Quiz
1. In a Data Flow Diagram (DFD) for an Online Food Ordering System, what
do data flowsrepresent?
a. External entities
b. Processes
c. Data storage
d. Movement of data
→ d. Movement of data

2. Which symbol is typically used to represent a process in a DFD?


a. Circle
b. Square
c. Arrow
d. Triangle
→ d. Circle

3. What is the purpose of data stores in a DFD?


a. Represent external systems
b. Represent processes
c. Store data within the system
d. Describe the flow of data
→ c. Store data within the system

4. How are external entities represented in a DFD?

21100BTCSE09952 37 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

a. By circles
b. By squares
c. By arrows
d. By triangles
→ b. By squares

5. What is the primary goal of a Data Flow Diagram in system analysis?


a. Visualize the system architecture
b. Show the flow of control in the system
c. Represent the user interface design
d. Illustrate the flow of data within the system
→ d. Illustrate the flow of data within the system

4.2 Viva Questions

1. What is a Data Flow Diagram, and what is its purpose in the context of an
Online Foo System?
→ A Data Flow Diagram is a graphical representation of the flow of data within a system.
In the context of an Online Food Ordering System, the DFD helps to illustrate
how datamoves between different components, processes, and external entities
within the system.

2. What are the main components of a Data Flow Diagram?


→ The main components of a Data Flow Diagram include processes, data flows, data
stores, and external entities. Processes represent activities or functions performed on
the data. Data flows depict the movement of data between processes, data stores, and
external entities. Data stores are repositories where data is stored, and external entities
represent external systems or entities that interact with the system.

3. How are processes represented in a Data Flow Diagram for an Online


Food OrderingSystem?
→ Processes in a Data Flow Diagram are typically represented by circles or rectangles.
Each process represents a specific activity or function within the system, such as
"Register User," "Place Order," or "Generate Payment Report."

4. What is the significance of data stores in a Data Flow Diagram for an Online
Food OrderingSystem?
→ Data stores represent repositories where data is stored within the system. In an Online
Food Ordering System, data stores could include databases, files, or other storage
mechanisms. Data stores help to maintain data persistence and enable data sharing
between processes within the system.

5. How does a Data Flow Diagram aid in understanding the flow of data in an
Online Food Ordering System?
→ A Data Flow Diagram visually illustrates the flow of data between various components
of the system. It helps in understanding how data enters the system through external
entities, how it is processed and transformed by different processes, and how it is
stored or transmitted to other components. The DFD provides a clear representation of
the data flow, helping customers to analyse, optimize, and communicate the data
movement within the Online Food Ordering System.
21100BTCSE09952 38 Saiyam Kumawat
BTCS402 Software Engineering and Project Management

EXPERIMENT 7
1. Title: Draw use case diagram in StarUML.

2. Objective: The objective of drawing a Use Case Diagram is to capture and


communicate the functional requirements of a system from a user's perspective. It
helps in requirement analysis, system design, test planning, and documentation of the
system's functionality and user interactions.

3. Solution:

3.1 Introduction of Use Case Diagram.


Use Case Diagrams are powerful tools used in software engineering and system
analysis to capture and communicate the functional requirements of a system.
They provide a visual representation of how users or external systems interact
with the system being modelled, focusing on the system's functionalities from a
user's perspective. Use Case Diagrams help in understanding, defining, and
documenting the interactions between actors (users or external systems) and the
system, enabling effective communication and analysis of system requirements.
By depicting the various use cases and actors involved in a system, Use Case
Diagrams serve as a foundation for system design, test planning, and
documentation throughout the project lifecycle. They offer a clear and concise
overview of the system's functionality and user interactions, facilitating
collaborative discussions among stakeholders and ensuring that the system meets
the desired requirements.

3.2 Advantages of Use Case Diagram.


The advantages of Use Case Diagrams are:

 Clear understanding of system requirements.


 Effective communication among stakeholders.
 Aid in system design and organization.
 Support test planning and validation.
 Serve as documentation for future reference and updates.

21100BTCSE09952 39 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.3 Components of Use Case Diagram.

3.4 Use Case Diagram of Project.

21100BTCSE09952 40 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

4. Quiz & Viva Questions


4.1Quiz
1. In a Use Case Diagram, what does an actor represent?
a. System components
b. User interactions
c. Data flows
d. Business rules
→ b. User interactions

2. Which symbol is typically used to represent an actor in a Use Case Diagram?


a. Circle
b. Square
c. Triangle
d. Stick figure
→ d. Stick figure

3. What does a use case represent in a Use Case Diagram?


a. User interactions
b. System components
c. Data storage
d. Business processes
→ a. User interactions

4. What does the association line between an actor and a use case indicate?
a. Data flow between them
b. Dependency between them
c. Communication between them
d. Relationship between them
→ d. Relationship between them

5. What is the primary purpose of a Use Case Diagram?


a. Visualize system architecture
b. Describe system behaviour
c. Design user interface
d. Represent database structure
→ b. Describe system behaviour

4.2Viva Questions

1. What is a Use Case Diagram, and what is its purpose in the context of an
Online Food Ordering System?
→ A Use Case Diagram is a graphical representation that depicts the interactions between
actors (users or external systems) and the system under consideration. In the context
of an Online Food Ordering System, the Use Case Diagram helps to illustrate the
different functionalities and interactions between users and the system.

2. What are the main components of a Use Case Diagram?

21100BTCSE09952 41 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

→ The main components of a Use Case Diagram include actors, use cases, and the relationships
between them. Actors represent the different types of users or external systems interacting with the
system. Use cases represent the specific functionalities oractions that the system provides to the
actors. Relationships, such as associations or dependencies, connect actors with use cases.

3. How are actors represented in a Use Case Diagram for an Online Food Ordering System?
→ Actors in a Use Case Diagram are typically represented by stick figures or icons. Each actor
represents a type of user or external system that interacts with the Online Food OrderingSystem, such
as "Customer” or "Administrator."

4. What is the purpose of use cases in a Use Case Diagram?


→ Use cases represent specific functionalities or actions that the Online Food Ordering System
provides to the actors. Each use case represents a specific goal or task that an actor canperform within
the system, such as "Place Order," "Add Item," or "Process Payment."

4. How do relationships between actors and use cases help in understanding the systembehaviour?
→ Relationships between actors and use cases in a Use Case Diagram depict how actors interact with
and participate in the system's functionalities. For example, associations show that an actor is
involved in a specific use case, while dependencies represent thata use case relies on another use case
or actor. These relationships help in understanding the system's behaviour by clarifying the roles of
actors and the functionalities they can access within the Online Food Ordering System.

21100BTCSE09952 42 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 8

1. Title: Draw activity diagram in Star UML.

2. Objective: The objective of drawing an activity diagram for a software system is to


visually represent the flow of activities or processes within the system. It helps to
capture and analyse the sequential and parallel activities that occur, showing how
different components of the system interact with each other and with external entities.
The activity diagram allows stakeholders to understand the system's behaviour,
identify potential bottlenecks or inefficiencies, and aid in the design, implementation,
and optimization of the software system. In short, the activity diagram provides a
clear and concise overview of the system's activities and their relationships.

3. Solution:

3.1 Introduction of Activity Diagram.


An activity diagram is a type of behavioural diagram in the Unified Modelling
Language (UML) that depicts the flow of activities or processes within a system.
It provides a visual representation of the steps, actions, and decisions involved in a
particular workflow or business process.

Activity diagrams are widely used in software development to model the


behaviour of a system, including its internal processing, interactions with external
entities, and the order in which activities occur. They are particularly useful for
representing complex workflows or processes, making them easier to understand
and communicate among stakeholders.

In an activity diagram, activities are represented by nodes, while the flow of


control between activities is depicted by arrows. Nodes can represent actions,
decisions, concurrency, or the start and end points of a process. Decision points
are depicted with diamond-shaped nodes, and they typically involve branching
paths based on certain conditions or criteria.

The primary goal of an activity diagram is to provide a visual representation of the


system's behaviour, emphasizing the flow of activities and the relationships
between them. It helps stakeholders, including developers, designers, and business
analysts, to gain a clear understanding of how a system works and how different
components interact with each other.

By using activity diagrams, software professionals can analyse and optimize


workflows, identify potential bottlenecks or inefficiencies, and validate the

21100BTCSE09952 43 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

correctness of a system's behaviour. They serve as a valuable tool for requirements


gathering, system design, and documentation, enabling effective communication
and collaboration among project stakeholders.

3.2 Advantages of Activity Diagram.

Activity diagrams offer the following advantages:


 Clear visual representation.
 Effective process modelling.
 Easy to understand by all stakeholders.
 Depiction of control flow.
 Decision points and branching paths.
 Validation and verification of systems or processes.
 Integration with other UML diagrams.

3.3 Components of Activity Diagram

21100BTCSE09952 44 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.4 Activity Diagram of Project.

21100BTCSE09952 45 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

4. Quiz & Viva Questions

4.1 Quiz

1. In an Activity Diagram, what do activities represent?


a. Users in the system
b. System components
c. Actions or tasks performed in the system
d. Decision points in the system
→ c. Actions or tasks performed in the system

2. Which symbol is typically used to represent an action in an Activity Diagram?


a. Circle
b. Rectangle
c. Diamond
d. Arrow
→ b. Rectangle

3. What do decision points in an Activity Diagram represent?


a. Activities
b. Actions
c. Start and end points of the diagram
d. Branching or decision-making points
→ d. Branching or decision-making points

4. What do arrows in an Activity Diagram indicate?


a. Sequence of actions
b. Parallel actions
c. Decision points
d. Start and end points
→ a. Sequence of actions

5. What is the primary purpose of an Activity Diagram?


a. Visualize system architecture
b. Describe system behaviour
c. Design user interface
d. Represent data storage
→ b. Describe system behaviour

4.2 Viva Questions


1. What is an Activity Diagram, and what is its purpose in the context of an
Online Food Ordering System?
→ An Activity Diagram is a visual representation of the flow of activities and actions
within a system. In the context of an Online Food Ordering System, the Activity
Diagramhelps to illustrate the sequential or parallel activities performed during
different processes or use cases within the system.

2. What are the main components of an Activity Diagram?

21100BTCSE09952 46 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

→ The main components of an Activity Diagram include activities, actions, decision points, and
control flows. Activities represent the tasks or steps performed in the system, actions represent
individual actions or operations, decision points representbranching or decision-making points, and
control flows depict the flow of activitiesbetween different components.

3. How are activities and actions represented in an Activity Diagram for an OnlineFood
Ordering System?
→ Activities in an Activity Diagram are represented by rounded rectangles, and actions are
represented by rectangles with rounded corners. Each activity represents a task orprocess that occurs
within the Online Food Ordering System, such as "Register User" or "Place Order," while actions
represent specific actions or operations within those activities.

4. What is the significance of decision points in an Activity Diagram?


→ Decision points, represented by diamond-shaped symbols, indicate branching or decision-making
points in the system's workflow. They represent points where the system evaluates certain conditions
and follows different paths based on the outcomesof those evaluations. Decision points help to
illustrate alternative flows within the Online Food Ordering System.

5. How does an Activity Diagram help in understanding the workflow and behaviour ofan
Online Food Ordering System?
→ An Activity Diagram visually depicts the flow of activities and actions within the system. It helps
in understanding the workflow and behaviour of the Online Food Ordering System by illustrating the
sequential or parallel execution of tasks, decision points thatdetermine different paths, and the overall
flow of control and data between activities. The Activity Diagram provides a clear representation of
the system's behaviour, in analysing, optimizing, and communicating the workflow of the Online
Food Ordering System.

21100BTCSE09952 47 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 9

1. Title: Draw class diagram in Star UML.

2. Objective: The objective of drawing a class diagram is to represent the structure and
relationships of classes in a system, including attributes, methods, and associations. It
provides a visual understanding of class relationships and aids in system design and
architecture.

3. Solution:

3.1 Introduction of Class Diagram.


A class diagram is a type of UML (Unified Modelling Language) diagram that
represents the structure and relationships of classes in a system. It provides a static
view of the system by illustrating the classes, their attributes, methods, and
associations with other classes.

The primary purpose of a class diagram is to visualize the conceptual design of a


system or software application. It serves as a blueprint that defines the building
blocks of the system and how they interact with each other.

In a class diagram, classes are represented as rectangles with three compartments:


the top compartment contains the class name, the middle compartment lists the
class attributes (variables or properties), and the bottom compartment shows the
class methods (functions or operations). The relationships between classes are
depicted using lines and symbols.

Class diagrams help in understanding the structure of a system and its key
components. They provide a high-level overview of the classes involved and their
relationships, including inheritance (generalization and specialization),
associations (aggregation and composition), dependencies, and constraints.

By creating class diagrams, developers, architects, and stakeholders can


communicate and visualize the system's design, identify potential design flaws or
inconsistencies, and guide the implementation process. Class diagrams serve as a
foundation for other UML diagrams, such as sequence diagrams or activity
diagrams, and support the development of robust and maintainable software
systems.
3.2 Advantages of Class Diagram.
The advantages of class diagrams are:

 Object-oriented modelling.

21100BTCSE09952 48 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

 Clear representation of class structure.


 Visualizing relationships among classes.
 Encapsulation of data and behaviour.
 Reusability and modularity.
 Basis for code generation.
 Collaboration and communication tool.

3.3 Components of Class Diagram.

3.4 Class diagram of project.

21100BTCSE09952 49 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

4. Quiz & Viva Questions


4.1Quiz
1. In a Class Diagram, what does a class represent?
a. Objects in the system
b. Attributes of an object
c. Methods of an object
d. Blueprint or template for objects
→ d. Blueprint or template for objects

2. Which symbol is typically used to represent a class in a Class Diagram?


a. Circle
b. Rectangle
c. Diamond
d. Arrow
→ b. Rectangle

3. What do associations represent in a Class Diagram?


a. Dependencies between classes
b. Inheritance relationships
c. Composition relationships
d. Associations or connections between classes
→ d. Associations or connections between classes

4. What is the purpose of attributes in a Class Diagram?


a. Define the behaviour of a class
b. Describe the associations between classes
c. Represent the properties or characteristics of a class
d. Capture the inheritance hierarchy
→ c. Represent the properties or characteristics of a class

5. How does a Class Diagram help in understanding the structure of an Online


Food OrderingSystem?
a. It visualizes the system architecture
b. It shows the flow of control in the system
c. It represents the user interface design
d. It illustrates the classes, their attributes, and relationships in the system
→ d. It illustrates the classes, their attributes, and relationships in the system

4.2 Viva Questions

1. What is a Class Diagram, and what is its purpose in the context of an Online
Food OrderingSystem?
→ A Class Diagram is a visual representation that depicts the structure of a system by
showing classes, their attributes, methods, and relationships. In the context of an
Online Food Ordering System, the Class Diagram helps to illustrate the different
classes, their properties, and the associations between them.

2. What are the main components of a Class Diagram?

21100BTCSE09952 50 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

→ The main components of a Class Diagram include classes, attributes, methods, and relationships.
Classes represent the blueprint or template for objects, attributes represent the properties or
characteristics of classes, methods represent the behaviouror actions that classes can perform, and
relationships represent the associations or connections between classes.

3. How are classes represented in a Class Diagram for an Online Food Ordering System?
→ Classes in a Class Diagram are typically represented by rectangles with three sections:the top
section contains the class name, the middle section contains the attributes, and the bottom section
contains the methods.

4. What is the purpose of relationships in a Class Diagram?


→ Relationships in a Class Diagram represent the associations or connections between classes. They
define how classes interact with each other and can include associations,aggregations, compositions,
and inheritances. Relationships help to describe the dependencies and interactions between classes
in an Online Food Ordering System.

5. How does a Class Diagram aid in understanding the structure and relationships ofclasses
in an Online Food Ordering System?
→ A Class Diagram visually illustrates the structure of classes, their attributes, methods, and
relationships. It helps in understanding how classes are organized, what propertiesand behaviors they
possess, and how they are associated with one another. The Class Diagram provides a clear
representation of the class structure and relationships, in analysing, designing, and communicating
the structure of the Online Food Ordering System.

21100BTCSE09952 51 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 10

1. Title: Draw component diagram in Star UML.

2. Objective: The objective of a component diagram is to provide a visual


representation of the components in a software system and their relationships, helping
to understand the system's structure and how the components interact.

3. Solution:

3.1 Introduction of Component Diagram.


A component diagram is a type of UML (Unified Modelling Language) diagram
that represents the structure and organization of a software system or application.
It provides a visual depiction of the different components that make up the system
and shows how they interact and collaborate with each other.

Components in a component diagram can represent various elements, such as


classes, modules, libraries, or subsystems. The diagram illustrates the relationships
and dependencies between these components, highlighting the flow of data or
control among them.

The primary purpose of a component diagram is to facilitate understanding of the


system's architecture and provide a blueprint for software development and
maintenance. It helps in identifying the major building blocks of the system, their
functionalities, and their interactions with other components.

Component diagrams are valuable tools for software designers, developers, and
stakeholders involved in the development process. They aid in communication,
collaboration, and decision-making by providing a clear and concise
representation of the system's structure and relationships between its components.
3.2 Advantages of Component Diagram.
 System understanding.
 Modularity.
 Collaboration and communication.
 Reusability and maintainability.
 Scalability and flexibility.
 Testability.
3.3 Components of Component Diagram.

21100BTCSE09952 52 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.4 Component Diagram of project.

21100BTCSE09952 53 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.5 Quiz
1. In a Component Diagram, what does a component represent?
a. Objects in the system
b. Classes in the system
c. Modules or units of the system
d. Interactions between system elements
→ c. Modules or units of the system

2. Which symbol is typically used to represent a component in a Component Diagram?


a. Circle
b. Rectangle
c. Diamond
d. Arrow
→ b. Rectangle

3. What do interfaces represent in a Component Diagram?


a. Dependencies between components
b. Inheritance relationships
c. Interactions or communications between components
d. Physical or logical units of the system
→ c. Interactions or communications between components

4. What is the purpose of dependencies in a Component Diagram?


a. Describe the properties of a component
b. Define the interface of a component
c. Represent the associations between components
d. Capture the relationships between components
→ d. Capture the relationships between components

5. How does a Component Diagram help in understanding the structure of an


Online Food Ordering System?
a. It visualizes the system architecture
b. It shows the flow of control in the system
c. It represents the user interface design
d. It illustrates the components and their interactions in the system
→ d. It illustrates the components and their interactions in the system

3.6 Viva Questions

1. What is a Component Diagram, and what is its purpose in the context of an


Online Food Ordering System?
→ A Component Diagram is a visual representation that depicts the physical or logical
components of a system and their interrelationships. In the context of an Online Food
Ordering System, the Component Diagram helps to illustrate the different
componentsof the system and how they interact with each other.

2. What are the main components of a Component Diagram?

21100BTCSE09952 54 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

→ The main components of a Component Diagram include components, interfaces, dependencies,


and relationships. Components represent the physical or logical units ofthe system, interfaces define
the interactions between components, dependencies depict the relationships between components,
and relationships represent the associations or connections between components.

3. How are components represented in a Component Diagram for an Online Food


Ordering System?
→ Components in a Component Diagram are typically represented by rectangles with thecomponent
name inside. Each component represents a self-contained unit or module within the Online Food
Ordering System, such as "User Management," "Payment Gateway,"or "Item Listing."

4. What is the significance of interfaces in a Component Diagram?


→ Interfaces in a Component Diagram define the contract or communication pointsbetween
components. They represent the methods, operations, or services that a component provides or
requires. Interfaces help to establish the boundaries and interactions between components in the
Online Food Ordering System.

5. How does a Component Diagram aid in understanding the physical or logicalstructure


of an Online Food Ordering System?
→ A Component Diagram visually illustrates the components and their relationships within the
system. It helps in understanding the physical or logical structure of the Online Food Ordering System
by showing the modular organization of components, the interfaces through which they communicate,
and the dependencies or relationships between components. The Component Diagram provides a clear
representation of the system's structure, customers in analysing, designing, and communicating the
architecture of the Online Food Ordering System.

21100BTCSE09952 55 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 11

1. Title: Draw sequence diagram in Star UML.

2. Objective: The objective of a component diagram is to provide a visual


representation of the components in a software system and their relationships, helping
to understand the system's structure and how the components interact.

3. Solution:

3.1 Introduction of Sequence Diagram.


Sequence diagrams are a popular type of interaction diagram in Unified
Modelling Language (UML) that provide a visual representation of the
dynamic behaviour of a system. They depict the sequence of interactions
between objects or components in a particular scenario or use case.

The primary purpose of a sequence diagram is to illustrate how different


objects or components collaborate and communicate with each other over a
specific period. It emphasizes the chronological order of messages exchanged
between these objects, allowing developers and stakeholders to understand the
flow of control and data during the execution of a particular functionality.

Sequence diagrams are widely used during the design and analysis phases of
software development to capture and describe the interactions among different
parts of a system. They help in identifying the objects involved, their roles and
responsibilities, and the specific messages they exchange. By providing a
visual representation of these interactions, sequence diagrams facilitate the
detection of potential design flaws, bottlenecks, or miscommunications,
enabling developers to refine and optimize the system's behaviour.

3.2 Advantages of Sequence Diagram.


 Clear visualization of object interactions.
 Easy identification of message flow and order.
 Effective communication and collaboration among stakeholders.

21100BTCSE09952 56 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.3 Components of Sequence Diagram.

3.4 Sequence Diagram of project.

21100BTCSE09952 57 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

4. Quiz & Viva Questions


4.1Quiz
1. In a Sequence Diagram, what does a lifeline represent?
a. Objects or actors in the system
b. Classes in the system
c. Interactions between components
d. Flow of control in the system
→ a. Objects or actors in the system

2. Which symbol is typically used to represent a lifeline in a Sequence Diagram?


a. Circle
b. Rectangle
c. Vertical line
d. Arrow
→ c. Vertical line

3. What do messages represent in a Sequence Diagram?


a. Dependencies between lifelines
b. Inheritance relationships
c. Interactions or communication between lifelines
d. Flow of control in the system
→ c. Interactions or communication between lifelines

4. What is the purpose of activations in a Sequence Diagram?


a. Capture the relationships between lifelines
b. Represent the time period when an object is performing an action
c. Define the interface of an object
d. Illustrate the inheritance hierarchy
→ b. Represent the time period when an object is performing an action

5. How does a Sequence Diagram help in understanding the dynamic behaviour of


an Online Food Ordering System?
a. It visualizes the system architecture
b. It represents the user interface design
c. It illustrates the sequence of actions and communication between components
or actors
d. It captures the static structure of the system
→ c. It illustrates the sequence of actions and communication between components or
actors

4.2 Viva Questions

1. What is a Sequence Diagram, and what is its purpose in the context of an


Online Food Ordering System?
→ A Sequence Diagram is a visual representation that depicts the interactions and
order of messages exchanged between objects or actors in a system. In the context
of an Online Food Ordering System, the Sequence Diagram helps to illustrate the
sequence of

21100BTCSE09952 58 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

actions and communication between different components or actors during a specificscenario or use
case.

2. What are the main components of a Sequence Diagram?


→ The main components of a Sequence Diagram include lifelines, messages, activations,and objects.
Lifelines represent the participants or actors involved in the scenario, messages represent the
communication between lifelines, activations indicate the period when an object is performing a
specific action, and objects represent the instances of classes or components involved in the sequence.

3. How are lifelines represented in a Sequence Diagram for an Online Food Ordering System?
→ Lifelines in a Sequence Diagram are typically represented by vertical lines or boxes with the name
of the object or actor at the top. Each lifeline represents a participant oractor involved in the scenario,
such as a user, an item, or the Food Ordering system itself.

4. What is the purpose of messages in a Sequence Diagram?


→ Messages in a Sequence Diagram represent the communication between lifelines or objects. They
depict the flow of control or information between different componentsor actors in the Online Food
Ordering System. Messages can be synchronous (blocking), asynchronous (non-blocking), or self-
referential (to the same lifeline).

5. How does a Sequence Diagram aid in understanding the dynamic behaviour of anOnline
Food Ordering System?
→ A Sequence Diagram visually depicts the order and flow of messages exchanged between lifelines
or objects. It helps in understanding the dynamic behaviour of the Online Food Ordering System by
illustrating how different components or actors interact andcommunicate during a specific scenario.
The Sequence Diagram provides a clear representation of the sequence of actions, the involvement of
different objects, and theflow of control during the execution of a use case or scenario.

21100BTCSE09952 59 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

EXPERIMENT 12

1. Title: Draw collaboration diagram in Star UML.

2. Objective: The objective of drawing a collaboration diagram is to visually represent


the interactions and relationships among objects or components within a system or
process. It helps to understand the flow of communication, collaboration, and
information exchange between different elements of the system. By depicting the
interactions graphically, collaboration diagrams facilitate the analysis, design, and
implementation of complex systems, enabling better communication and coordination
among team members and stakeholders involved in the development process.

3. Solution:

3.1 Introduction of Collaboration Diagram.


A collaboration diagram, also known as a communication diagram, is a visual
representation that illustrates the interactions between objects in a system or a
specific scenario. It depicts how objects collaborate and communicate with
each other to achieve a particular functionality or behaviour.

In a collaboration diagram, the emphasis is on the structural organization of


objects and the messages exchanged among them, rather than the flow of
control or the sequence of events. It provides a high-level overview of the
relationships and interactions among objects, making it easier to understand
the system's communication patterns.

The main components of a collaboration diagram are objects and the messages
exchanged between them. Objects are represented as rectangles, with the name
of the object written inside. The messages exchanged between objects are
depicted as labelled arrows, indicating the direction of communication.

The collaboration diagram helps to visualize the runtime interactions and


dependencies among objects within a system, highlighting the communication
channels and collaborations needed to accomplish specific tasks. It is
particularly useful in modelling complex systems, designing software
architectures, and understanding the dynamic behaviour of an application.

Collaboration diagrams are often used in conjunction with other UML


(Unified Modelling Language) diagrams, such as class diagrams, sequence
diagrams, and activity diagrams, to provide a comprehensive view of a
system's structure and behaviour. They can be created using various modelling
tools or even drawn by hand to facilitate communication and collaboration
among software development teams.

21100BTCSE09952 60 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.2 Introduction of Collaboration Diagram.

 Clarity and simplicity: Easy to understand and concise representation


of object interactions.
 Visualizing object interactions: Clear visualization of relationships and
message exchanges between objects.
 Emphasizing object roles: Highlights the roles of individual objects
within the system.
 Real-time collaboration: Facilitates collaboration among team members.
3.3 Components of Collaboration Diagram.

21100BTCSE09952 61 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

3.4 Collaboration diagram of Project.

4. Quiz & Viva Questions


4.1 Quiz
1. In a Collaboration Diagram, what does an object represent?
a. Classes in the system
b. Components in the system
c. Interactions between components
d. Instances of classes or components
→ d. Instances of classes or components

2. Which symbol is typically used to represent an object in a Collaboration Diagram?


a. Circle
b. Rectangle
c. Vertical line
d. Arrow
→ b. Rectangle

3. What do messages represent in a Collaboration Diagram?

21100BTCSE09952 62 Saiyam Kumawat


BTCS402 Software Engineering and Project Management

a. Dependencies between objects


b. Inheritance relationships
c. Interactions or communication between objects
d. Flow of control in the system
Answer: c. Interactions or communication between objects

4. What is the purpose of associations in a Collaboration Diagram?


a. Capture the relationships between objects
b. Represent the time period when an object is performing an action
c. Define the interface of an object
d. Illustrate the inheritance hierarchy
→ a. Capture the relationships between objects

5. How does a Collaboration Diagram help in understanding the interaction


and collaboration between objects in an Online Food Ordering System?
a. It visualizes the system architecture
b. It represents the user interface design
c. It illustrates the sequence of actions and communication between objects
d. It captures the static structure of the system
→ c. It illustrates the sequence of actions and communication between objects

4.2 Viva Questions

1. What is a Collaboration Diagram, and what is its purpose in the context of an


Online Food Ordering System?
→ A Collaboration Diagram is a visual representation that depicts the interactions and
relationships between objects or actors in a system. In the context of an Online Food
Ordering System, the Collaboration Diagram helps to illustrate the communication
andcollaboration between different objects or actors involved in a specific scenario or
usecase.

2. What are the main components of a Collaboration Diagram?


→ The main components of a Collaboration Diagram include objects, messages,
associations, and links. Objects represent the instances of classes or components
involved in the collaboration, messages represent the communication between objects,
associations represent the relationships between objects, and links represent the
connections or dependencies between objects.

3. How are objects represented in a Collaboration Diagram for an Online


Food OrderingSystem?
→ Objects in a Collaboration Diagram are typically represented by rectangles or boxes
with the name of the object inside. Each object represents an instance of a class or
component involved in the collaboration, such as a user, an item, or the Food
Ordering systemitself.

4. What is the purpose of messages in a Collaboration Diagram?


→ Messages in a Collaboration Diagram represent the communication between objects.
They depict the flow of information or control between different objects in the Online

21100BTCSE09952 63 Saiyam Kumawat


BTCS402N Software Engineering And Project Management

Food Ordering System. Messages can be synchronous (blocking),


asynchronous (non-blocking), or self-referential (between the same object).

5. How does a Collaboration Diagram aid in understanding the


interaction andcollaboration between objects in an Online Food
Ordering System?
→ A Collaboration Diagram visually depicts the interaction and collaboration
between objects or actors. It helps in understanding how different objects or actors
communicate, share information, and collaborate to achieve a specific goal or
scenarioin the Online Food Ordering System. The Collaboration Diagram provides
a clear representation of the communication flow, the involved objects, and the
relationships between them during the execution of a use case or scenario.

21100BTCSE09952 Saiyam Kumawat 64

You might also like