Software Engineering - SE Lab File Compiled 7
Software Engineering - SE Lab File Compiled 7
Lab Manual
BY
Arin Bagul
EN20CS302008
Submitted to
Mr. Arvind Rajput
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.
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.
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
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
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
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
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.
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