0% found this document useful (0 votes)
3 views

Software Engineering - SE Lab File Compiled 7

The document is a lab manual for a Software Engineering course, authored by Arin Bagul, detailing various experiments related to software features, problem statements, requirements, and system specifications. It includes objectives for studying software like Adobe Photoshop and Netflix, along with their functional and non-functional requirements. Additionally, it outlines the structure and purpose of a Software Requirements Specification (SRS) document.

Uploaded by

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

Software Engineering - SE Lab File Compiled 7

The document is a lab manual for a Software Engineering course, authored by Arin Bagul, detailing various experiments related to software features, problem statements, requirements, and system specifications. It includes objectives for studying software like Adobe Photoshop and Netflix, along with their functional and non-functional requirements. Additionally, it outlines the structure and purpose of a Software Requirements Specification (SRS) document.

Uploaded by

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

Software Engineering

Course Code: CS3CO26

Lab Manual

BY

Arin Bagul
EN20CS302008

Submitted to
Mr. Arvind Rajput

Department of Computer Science & Engineering


Faculty of Engineering

Medi-caps University, Indore (453331)


EN20CS302008 ARIN BAGUL

Index
S. No. Name of Experiment Date Execution Remark
1. To study the various software
and their features.
2. To study the problem
statement and give a suggested
statement for a given system.
3. Functional and Non-
Functional Requirements of
given system.
4. Study of SRS Document.
5. Study of ER Diagram.
6. Study of Data Flow Diagram
& Data Dictionary.
7. Case Study of Use case
Diagram and UML Diagram.
EN20CS302008 ARIN BAGUL

Experiment 1
Objective: To study the various software and their features.

S. Name of Domain Year of Key Feature


No Project Launching
1. Zomato Food Ordering July 2008 1. Inventory supply tracking
2. Ingredient-level management
3. Customer profiling
4. Sales analytics
5. Digital invoicing via SMS
6. MIS reports generation
7. Menu price update
2. Photoshop Photo Editing 1987 1. Inventory supply tracking
2. Ingredient-level management
3. Customer profiling
4. Sales analytics
5. Digital invoicing via SMS
6. MIS reports generation
3. Instagram Social Media October 6, 1. Instagram Live Video
2010 2. Geo-Tagged Content
3. Instagram Hashtag
4. Instagram Stories
5. Image & Video Editing
6. Instagram Ads
4. PhonePe Payment Dec 2015 1. UPI allows you to send and
receive money from anyone
on your phone contact list.
2. Recharge your mobile phone
and DTH service.
3. Check the balance of your
bank account.
4. Manage a number of
different bank accounts
5. Earn the right to receive
cashback.
5. MXPlayer Media and 18 July 1. Subtitle support
entertainment 2011 2. Audio Boost
3. Play Network Stream
4. Vast Encoding
5. Multi-core decoding
EN20CS302008 ARIN BAGUL

6. Google Education and August 12 1. Start a video meeting.


Classroom organisation 2014
2. Create and manage classes,
assignments, and grades
online without paper.
3. Add materials to your
assignments, such as
YouTube videos, a Google
Forms survey, and other
items from Google Drive.
4. Give direct, real-time
feedback.
7. Zoom Video April 21, 1. Virtual Background
Meet Conferencing 2011 2. Integrate Third-Party Apps
3. Touch Up Your Look
4. Audio Transcript
5. Disable Audio/Video When
You Join.
8. Netflix Media 29 August 1. Multiple accounts and
Streaming 1997 profiles
2. Watch on the go
3. Parental control
4. Link to voice command
5. Dolby digital sound.
9. Uber Ola Transportation March 1. Real-time tracking of drivers
2009 2. Real-time ride tracking
sharing
3. Split the fare
4. Multiple drop-off locations
5. Multiple payment options
10. Spotify Music 2006 1. Find an artist's radio page.
Listening 2. Use Data Saver.
3. Enable voice commands.
4. Manage your app
notifications.
5. Start a Private session.
EN20CS302008 ARIN BAGUL

11. MS Word Word Editor October 1. Thesaurus.


25, 1983 2. AutoCorrect option.
3. Design.
4. Page Layout.
12. WhatsApp Communication January 1. Send a single message to
2009 multiple people at once.
2. Format your text.
3. Control your privacy.
4. Share documents.
5. Add dates to your calendar.
13 Discord Communication May 13, 1. Join or create servers.
and Manager 2015 2. Customize your server
according to its theme.
3. Stream, play, work or do fun
activities by talking with
your friends.
4. Easily call, text, and video
chat your friends and other
people.
14. Adobe Scanner June 15, 1. photos to scans.
Scan 1993 2. Crop pages.
3. Cleanup the image.
4. Apply filter.
5. Add markups.
15. Telegram Communication 14 August 1. Secret Telegram Chats.
2013 2. Utilize Telegram Bots.
3. Night Mode.
4. Share Your Live Location.
5. Connect With a Proxy
Server.
EN20CS302008 ARIN BAGUL

Experiment 2

Objective: To study the problem statement and give a suggested statement for a
given system.
System we study: Adobe Photoshop.

Adobe Photoshop
Definition:
Adobe Photoshop is a raster graphics editor developed and published by Adobe
Inc. for Windows and macOS. It was originally created in 1988 by Thomas and
John Knoll. Since then, the software has become the industry standard not only
in raster graphics editing, but in digital art as a whole.
Introduction:
Photoshop can edit and compose raster images in multiple layers and supports
masks, alpha compositing and several color models including RGB, CMYK,
CIELAB, spot color, and duotone. Photoshop uses its own PSD and PSB file
formats to support these features. In addition to raster graphics, Photoshop has
limited abilities to edit or render text and vector graphics (especially through
clipping path for the latter), as well as 3D graphics and video. Its feature set can
be expanded by plug-ins; programs developed and distributed independently of
Photoshop that run inside it and offer new or enhanced features. The software's
name is often colloquially used as a verb (e.g. "to photoshop an image",
"photoshopping", and "photoshop contest") although Adobe discourages such
use.

Problem Statement and Solution Statement:


S. No. Problem Statement Solution Statement
1. Photoshop 2020 (v10.2) Update the Printer Driver to latest
Crashes when use gives print version may fix this issue.
command. Fixed in next feature update.
2. A critical issue has been Install Photoshop 23.4.1 for the
discovered with Photoshop 23.4 Photoshop version with the issue
(June 2022 release) that can fixed.
cause file corruption.
EN20CS302008 ARIN BAGUL

You can also roll back to


Photoshop version 23.3.2 just in
case you don't see the updates on
the Creative Cloud desktop app.
See, Install previous versions of
your Creative Cloud apps.
3. Photoshop 23.4 and 23.4.1 Update the Camera Raw version to
crash on launch or on exit or 14.4.1 available via the Creative
after using the Camera Raw Cloud Desktop App. For help, see
filter. Camera Raw plug-in installer.
4. After macOS 12.3 update, the Resize the save window a little bit
save button is disabled or and the Save button will active
unresponsive in Save As again.
dialogue box in Photoshop.
5. In Photoshop 23.0, text changes • Quit Photoshop.
do not update. • Right Click install file
(PSUserConfig.txt) in your
Photoshop Settings folder.
EN20CS302008 ARIN BAGUL

Experiment 3
Objective: Functional and Non-Functional Requirements of Netflix.
What are the difference between functional and non-functional
requirements.
S. No. Functional Requirements Non-Functional Requirements
1. A functional requirement A non-functional requirement defines
defines a system or its the quality attribute of a software
component. system.
2. It specifies “What should the It places constraints on “How should
software system do?” the software system fulfill the
functional requirements?”
3. Functional requirement is Non-functional requirement is
specified by User. specified by technical peoples e.g.
Architect, Technical leaders and
software developers.
4. It is mandatory. It is not mandatory.
5. It is captured in use case. It is captured as a quality attribute.
6. Defined at a component level. Applied to a system as a whole.
7. Example Example
1) Authentication of user 1) Emails should be sent with a
whenever he/she logs into the latency of no greater than 12 hours
system. from such an activity.
2) System shutdown in case of 2) The processing of each request
a cyber attack. should be done within 10 seconds
3) A Verification email is sent 3) The site should load in 3 seconds
to user whenever he/she when the number of simultaneous
registers for the first time on users are > 10000
some software system.
EN20CS302008 ARIN BAGUL

Netflix

Introduction
Netflix, Inc. is an American subscription streaming service and production
company based in Los Gatos, California. Founded on August 29, 1997 by Reed
Hastings and Marc Randolph in Scotts Valley, California, it offers a film and
television series library through distribution deals as well as its own productions,
known as Netflix Originals.
Functional Requirement:
1. Login Page: We must create account, and login through the credentials to
access the streaming service.
2. Subscription/ Payment Gateway: To access this streaming service we
must take subscription.
3. Create Wishlist: We can create the Wishlist by adding the movie in
Wishlist category.
4. Private Mode: Your search history will not record when you are in
private mode.
5. Offline: You can make any movie offline to watch it later.
EN20CS302008 ARIN BAGUL

Advantages of Functional Requirement:


1. Abstraction: Easy and Secure Login.
2. Easy payment functionality.
3. Only Subscribed user can access the Streaming Service.
4. User Interface enables you to choose your content easily.
5. Gives you parental control to filter out inappropriate content.
Disadvantages of Functional Requirement:
1. Without account you can’t access the service.
2. Without subscription you can’t access the service.
3. In private mode your search and watch history will not be recorded.
4. Requires data to make any movie/show offline.
5. Some content in some areas is prohibited.
Non-functional Requirement:
1. Portability: We can use it from anywhere in the world while connected
to the internet.
2. Security: Your account is password protected, so to access it you need to
type your password.
3. Maintainability: Netflix organization is responsible for any maintenance
work in its software.
4. Flexibility: Netflix have lots of movies, so it must have lots of storage
and everyday new content is being added and removed so it must be
flexible to stand along.
5. Performance: All the movies and shows are under your fingertip, you
need to click, and it will immediately open, it must need high
performance computation to do such task.
EN20CS302008 ARIN BAGUL

Advantages of Non-Functional Requirement:


1. Authorized person of the organization can test its performance, which
helps to upgrade it.
2. Security Testing.
3. Portability.
4. Organization have statistic that what kind of user are consuming what so
helps to improve the content.
Disadvantages of Non-Functional Requirement:
1. The organization have all data of user, so in a data breach the user
information is at risk.
2. User needs to pay extra for portability and increase in quality.
3. During maintenance service will not work.
Conclusion:
Netflix is a streaming service that offers a wide variety of award-winning TV
shows, movies, anime, documentaries and more – on thousands of internet-
connected devices having its own functional & non-functional requirements.
These requirements will help you in easy & convenient use of Software.
EN20CS302008 ARIN BAGUL

Experiment 4
Objective: Prepare SRS Document for Netflix.
What is SRS?
A software requirements specification (SRS) is a document that describes what
the software will do and how it will be expected to perform. It also describes the
functionality the product needs to fulfil all stakeholders (business, users) needs.
Need and Scope of SRS
Need: An SRS gives you a complete picture of your entire project. It provides a
single source of truth that every team involved in development will follow. It is
your plan of action and keeps all your teams — from development to
maintenance — on the same page.
Scope: This layout not only keeps your teams in sync but it also ensures that
each requirement is hit. It can ultimately help you make vital decisions on your
product’s lifecycle, such as when to retire an obsolete feature.
The time it takes to write an SRS is given back in the development phase. It
allows for better understanding or your product, team, and the time it will take
to complete.
Structure of SRS
Your first step is to create an outline for your software requirements
specification. This may be something you create yourself. Or you may use an
existing SRS template.
If you’re creating this yourself, here’s what your outline might look like:
1. Introduction
1.1. Purpose
1.2. Intended Audience
1.3. Scope
1.4. Definitions
1.5. Reference/Resources

2. Overall Description
2.1. User Interface
2.2. System Interface
2.3. Assumptions and constraints
EN20CS302008 ARIN BAGUL

3. System Features and Requirements


3.1. Functional Requirements
3.2. External Interface Requirements
3.3. System Features
3.4. Non-functional Requirements

1. Introduction
1.1. Purpose: At first, main aim of why this document is necessary and what’s
purpose of document is explained and described.
1.2. Intended Audience: Define who in your organization will have access to
the SRS and how they should use it. This may include developers, testers,
and project managers. It could also include stakeholders in other
departments, including leadership teams, sales, and marketing. Defining this
now will lead to less work in the future.
1.3. Scope: What are the benefits, objectives, and goals we intend to have for
this product? This should relate to overall business goals, especially if teams
outside of development will have access to the SRS.
1.4. Definition: It’s important to define the risks in the project. What could go
wrong? How do me mitigate these risks? Who oversees these risk items?
1.5. References/Resources: In projects we are intended to build the product fast
and efficient so, for working smart we take ideations, modules from other
projects, so these are required to mention in reference and resources section.

2. Overall Description
2.1. User Interface: In this, software interfaces which mean how software
program communicates with each other or users either in form of any
language, code, or message are fully described and explained.
2.2. Assumptions and Constraints: What are we assuming will be true?
Understating and laying out these assumptions ahead of time will help with
headaches later. Are we assuming current technology? Are we basing this
on a Windows framework? We need to take stock of these assumptions to
better understand when our product would fail or not operate perfectly.
2.3. User Characteristics: Describe who will use the product and how.
Understanding the user of the product and their needs is a critical part of the
process.
EN20CS302008 ARIN BAGUL

3. System Features and Requirements


3.1. Functional Requirements: Functional requirements are essential to your
product because, as they state, they provide some sort of functionality.
Asking yourself the question “does this add to my tool’s functionality?” Or
“What function does this provide?” can help with this process. Within
Medical devices especially, these functional requirements may have a subset
of risks and requirements.
You may also have requirements that outline how your software will
interact with other tools, which brings us to external interface requirements.
3.2. Non-functional Requirements: Non-functional requirements can be just as
important as functional ones.
• These include:
• Performance
• Safety
• Security
• Quality
The importance of this type of requirement may vary depending on your
industry. In the medical device industry, there are often regulations that
require the tracking and accounting of safety.
3.3. Logical Database Requirements: Database requirement is one of the most
essential requirements. A software needs to have data to display the user.
Which is stored in a way to use it efficiently. A software has its own
database for the users. It also collects the data from the user, which is
required to optimize its performance further.
3.4. External Interface Requirements: External interface requirements are
specific types of functional requirements. These are especially important
when working with embedded systems. They outline how your product will
interface with other components.
There are several types of interfaces you may have requirements for,
including:
• User
• Hardware
• Software
• Communications
Delivery to Approval: When the software is finalized it used to pass all the
checkpoints of testing and off course met the client’s requirements. It is the
document which assures between software company and the client that the final
product met its requirements and up-to the mark.
EN20CS302008 ARIN BAGUL

Advantages & Disadvantages of SRS


Advantages of SRS:
1. A standard quality of SRS reduces the development cost.
2. It should contain all features requested by a client.
3. It makes testing easier.
4. It defines project scope.
Disadvantages of SRS:
1. SRS should not contain any design requirement or design detail.
2. It required pictures, tables, charts (bar, worm, etc…).
Conclusion:
An SRS reduces the time and effort necessary by developers to accomplish
desired results, as well as the development cost. In a wide range of real-world
scenarios, a good SRS outlines how an application will interact with system
hardware, other programmes, and human users. As a result, SRS Documents are
required.
EN20CS302008 ARIN BAGUL

Experiment 5
Objective: Case Study of ER Diagram of Netflix.
What is ER Diagram?
ER-modelling is a data modelling method used in software engineering to
produce a conceptual data model of an information system. Diagrams created
using this ER-modelling method are called Entity-Relationship Diagrams or ER
diagrams or ERDs.
Scope and Need of ER Diagram
1. The database analyst gains a better understanding of the data to be
contained in the database through the step of constructing the ERD.
2. The ERD serves as a documentation tool.
3. Finally, the ERD is used to connect the logical structure of the database to
users. In particular, the ERD effectively communicates the logic of the
database to users.
Explanation of Symbols of ER Diagram
1. Entity: An entity can be a real-world object, either animate or inanimate, that can be
merely identifiable. An entity is denoted as a rectangle in an ER diagram. For example, in
a school database, students, teachers, classes, and courses offered can be treated as
entities. All these entities have some attributes or properties that give them their
identity.
2. Attributes: Entities are denoted utilizing their properties, known as attributes. All
attributes have values. For example, a student entity may have name, class, and age as
attributes.
3. Relationships: The association among entities is known as relationship. Relationships
are represented by the diamond-shaped box.
EN20CS302008 ARIN BAGUL

4. There are four types of Attributes:


1. Key attribute: Key is an attribute
or collection of attributes that
uniquely identifies an entity
among the entity set.
2. Composite attribute: An
attribute that is a combination of
other attributes is called a
composite attribute.
3. Single-valued attribute: Single-
valued attribute contain a single
value.
4. Multi-valued attribute: If an
attribute can have more than one
value, it is known as a multi-
valued attribute. Multi-valued
attributes are depicted by the
double ellipse.
5. Derived attribute: Derived attributes are the attribute that does not exist
in the physical database, but their values are derived from other attributes
present in the database.
Advantages and Disadvantages of ER Diagram
Advantages:
1. Conceptually it is very simple: ER model is very simple because if we
know relationship between entities and attributes, then we can easily draw
an ER diagram.
2. Better visual representation: ER model is a diagrammatic
representation of any logical structure of database. By seeing ER diagram,
we can easily understand relationship among entities and relationship.
3. Effective communication tool: It is an effective communication tool for
database designer.
4. Highly integrated with relational model: ER model can be easily
converted into relational model by simply converting ER model into tables.
5. Easy conversion to any data model: ER model can be easily converted
into another data model like hierarchical data model, network data model
and so on.
EN20CS302008 ARIN BAGUL

Disadvantages:
1. Limited constraints and specification
2. Loss of information content: Some information be lost or hidden in ER
model
3. Limited relationship representation: ER model represents limited
relationship as compared to another data models like relational model etc.
4. No representation of data manipulation: It is difficult to show data
manipulation in ER model.
5. Popular for high level design: ER model is very popular for designing
high level design
6. No industry standard for notation
Conclusion
ER Diagram in Software Engineering and DBMS is widely used to describe the
conceptual design of software and databases. It helps both users and developers
to preview the structure of the software before implementing.
ER Diagram for NETFLIX
EN20CS302008 ARIN BAGUL

Experiment 6
Objective: Case Study of Data Flow Diagram of Netflix.

What is Data Flow Diagram and Data Dictionary?


Data Flow Diagram shortened as DFD. The flow of data of a system or a process
is represented by DFD. It also gives insight into the inputs and outputs of each
entity and the process itself. DFD does not have control flow and no loops or
decision rules are present. Specific operations depending on the type of data can
be explained by a flowchart. Data Flow Diagram can be represented in several
ways. The DFD belongs to structured-analysis modelling tools. Data Flow
diagrams are very popular because they help us to visualize the major steps and
data involved in software-system processes.
Data Dictionary is the major component in the structured analysis model of the
system. It lists all the data items appearing in DFD. A data dictionary in
Software Engineering means a file or a set of files that includes a database’s
metadata (hold records about other objects in the database), like data ownership,
relationships of the data to another object, and some other data.
Need and Scope of Data Flow Diagram and Data Dictionary
Need and Scope of DFD
1. To make the flow of the software more understandable.
2. For Quick documentation.
3. Contain all the components of a software.
Need and Scope of Data Dictionary
1. It provides developers with standard terminology for all data.
2. It provides developers to use different terms to refer to the same data.
3. It provides definitions for different data
4. Query handling is facilitated if a data dictionary is used in RDMS.
EN20CS302008 ARIN BAGUL

Symbols of Data Flow Diagram and Data Dictionary

Components of Data Dictionary


In Software Engineering, the data dictionary contains the following information:
1. Name of the item: It can be your choice.
2. Aliases: It represents another name.
3. Description: Description of what the actual text is all about.
4. Related data items: with other data items.
5. Range of values: It will represent all possible answers.
Advantages and Disadvantages of DFD and Data Dictionary
Advantages of DFD
1. It helps us to understand the functioning and the limits of a system.
2. It is a graphical representation which is very easy to understand as it helps
visualize contents.
EN20CS302008 ARIN BAGUL

3. Data Flow Diagram represent detailed and well explained diagram of


system components.
4. It is used as the part of system documentation file.
5. Data Flow Diagrams can be understood by both technical and nontechnical
person because they are very easy to understand.
Disadvantages of DFD
1. At times DFD can confuse the programmers regarding the system.
2. Data Flow Diagram takes long time to be generated, and many times due
to these reasons analysts are denied permission to work on it.
Data Flow Diagram of NETFLIX

Data Dictionary of NETFLIX


Data Dictionary of Payment system on Netflix
S. No. Customer-ID Payment-ID Product
1. 6159 AF59 NETFLIX-F
2. 6160 AM44 NETFLIX-M
3. 6161 AF60 NETFLIX-F
4. 6162 AF61 NETFLIX-F
5. 6163 AF62 NETFLIX-F
6. 6164 AM45 NETFLIX-M
EN20CS302008 ARIN BAGUL

Experiment 7
Objective: Case Study of Use case Diagram and UML Diagram of
Netflix.
What is Use Case Diagram?
A use case diagram is used to represent the dynamic behaviour of a system. It
encapsulates the system's functionality by incorporating use cases, actors, and
their relationships. It models the tasks, services, and functions required by a
system/subsystem of an application. It depicts the high-level functionality of a
system and tells how the user handles a system.
What is UML Diagram?
Unified Modelling Language (UML) is a general-purpose modelling language.
The main aim of UML is to define a standard way to visualize the way a system
has been designed. It is quite like blueprints used in other fields of engineering.
We use UML diagrams to portray the behaviour and structure of a system.
Need & Scope of Use Case Diagram
1. It gathers the system's needs.
2. It depicts the external view of the system.
3. It recognizes the internal as well as external factors that influence the
system.
4. It represents the interaction between the actors.
Need & Scope of UML Diagram
1. Since it is a general-purpose modelling language, it can be utilized by all
the modelers.
2. UML came into existence after the introduction of object-oriented
concepts to systemize and consolidate the object-oriented development,
due to the absence of standard methods at that time.
3. The UML diagrams are made for business users, developers, ordinary
people, or anyone who is looking forward to understanding the system,
such that the system can be software or non-software.
4. Thus, it can be concluded that the UML is a simple modelling approach
that is used to model all the practical systems.
EN20CS302008 ARIN BAGUL

Symbols of Use Case Diagram

Symbols of UML Diagram


EN20CS302008 ARIN BAGUL

Use Case Diagram of Netflix

UML Diagram of Netflix


Class Diagram of Netflix
EN20CS302008 ARIN BAGUL

Advantages & Disadvantages of Use Case Diagram


Advantages
The greatest advantage of a use case diagram is that it helps software developers
and businesses design processes from a user’s perspective. As a result, the
system functions more efficiently and serves the user’s goals.
Disadvantages
1. Poor identification of structure and flow
2. Geometric and temporal information hard to describe
3. Unsystematic craft
4. Time-consuming to generate
5. Limited software tool support
Advantages & Disadvantages of UML
Advantages
1. Helps in communication. UML provides a standard language that
communicates design information among software developers.
2. Saves time.
3. Enhances collaboration.
4. Provides a better understanding of a system.
Disadvantages
1. Time. One disadvantage some developers might find when using UML is
the time it takes to manage and maintain UML diagrams.
2. Unclear Who Benefits.
3. Diagrams Can Get Overwhelming.
4. Too Much Emphasis on Design.
Conclusion
Use-case diagrams describe the high-level functions and scope of a system.
These diagrams also identify the interactions between the system and its actors.
The use cases and actors in use-case diagrams describe what the system does
and how the actors use it, but not how the system operates internally.
At the conclusion, UML can be defined as a modelling language to capture the
architectural, behavioural, and structural aspects of a system. Objects are the
key to this object-oriented world. The basic requirement of object-oriented
analysis and design is to identify the object efficiently.

You might also like