Unit-2 SE Aktu
Unit-2 SE Aktu
Format as the name suggests, is a complete specification and description of requirements of the software
that need to be fulfilled for the successful development of the software system. These requirements can be
functional as well as non-functional depending upon the type of requirement. The interaction between
different customers and contractors is done because it is necessary to fully understand the needs of
customers.
Purpose of this Document – At first, main aim of why this document is necessary and what’s
purpose of document is explained and described.
Scope of this document – In this, overall working and main objective of document and what
value it will provide to customer is described and explained. It also includes a description of
development cost and time required.
Overview – In this, description of product is explained. It’s simply summary or overall review of
product.
Requirements Engineering is the process of identifying, eliciting, analyzing, specifying, validating, and
managing the needs and expectations of stakeholders for a software system.
A systematic and strict approach to the definition, creation, and verification of requirements for a
software system is known as requirements engineering. To guarantee the effective creation of a software
product, the requirements engineering process entails several tasks that help in understanding, recording,
and managing the demands of stakeholders.
Requirements Elicitation
Requirements elicitation is the process of gathering and defining the requirements for a software system.
The goal of requirements elicitation is to ensure that the software development process is based on a clear
and comprehensive understanding of the customer’s needs and requirements.
The process of investigating and learning about a system’s requirements from users, clients, and other
stakeholders is known as requirements elicitation. Requirements elicitation in software engineering is
perhaps the most difficult, most error-prone, and most communication-intensive software development.
Feasibility Study
Feasibility Study in Software Engineering is a study to evaluate feasibility of proposed project or system.
Feasibility study is one of stage among important four stages of Software Project Management Process.
As name suggests feasibility study is the feasibility analysis or it is a measure of the software product in
terms of how much beneficial product development will be for the organization in a practical point of
view. Feasibility study is carried out based on many purposes to analyze whether software product will be
right in terms of development, implementation, contribution of project to the organization etc.
The feasibility study mainly concentrates on below five mentioned areas. Among these Economic
Feasibility Study is most important part of the feasibility analysis and Legal Feasibility Study is less
considered feasibility analysis.
1. Technical Feasibility: In Technical Feasibility current resources both hardware software along
with required technology are analyzed/assessed to develop project. This technical feasibility
study gives report whether there exists correct required resources and technologies which will be
used for project development. Along with this, feasibility study also analyzes technical skills and
capabilities of technical team, existing technology can be used or not, maintenance and up-
gradation is easy or not for chosen technology etc.
4. Legal Feasibility: In Legal Feasibility study project is analyzed in legality point of view. This
includes analyzing barriers of legal implementation of project, data protection acts or social
media laws, project certificate, license, copyright etc. Overall it can be said that Legal Feasibility
Study is study to know if proposed project conform legal and ethical requirements.
6. Cultural and Political Feasibility: This section assesses how the software project will affect
the political environment and organizational culture. This analysis takes into account the
organization’s culture and how the suggested changes could be received there, as well as any
potential political obstacles or internal opposition to the project. It is essential that cultural and
political factors be taken into account in order to execute projects successfully.
7. Market Feasibility: This refers to evaluating the market’s willingness and ability to accept the
suggested software system. Analyzing the target market, understanding consumer wants and
assessing possible rivals are all part of this study. It assists in identifying whether the project is in
line with market expectations and whether there is a feasible market for the good or service being
offered.
8. Resource Feasibility: This method evaluates if the resources needed to complete the software
project successfully are adequate and readily available. Financial, technological and human
resources are all taken into account in this study. It guarantees that sufficient hardware, software,
trained labor and funding are available to complete the project successfully.
Software in the current time is so Advanced that the act of requirement review holds greater importance
in software development. The pursuance of requirement reviews helps to have a clear peek into the space
of the software industry. The requirement reviews call attention to the only chance of finding quality
reviews. So keeping in mind that there are problems and solutions to everything, a requirement review
needs a good performance.
The performance of requirement review helps to radiate the precise and correct data to the
consumers and users.
It helps to have a quick tour of the Existing project to see whether or not it is going in the right
direction.
It helps to provide practical instructions and helps make decisions accordingly.
DFD is the abbreviation for Data Flow Diagram. The flow of data in a system or process is represented by
a Data Flow Diagram (DFD). It also gives insight into the inputs and outputs of each entity and the
process itself. Data Flow Diagram (DFD) does not have a control flow and no loops or decision rules are
present. Specific operations, depending on the type of data, can be explained by a flowchart. It is a
graphical tool, useful for communicating with users, managers and other personnel. it is useful for
analyzing existing as well as proposed systems.
Graphical Representation: Data Flow Diagram (DFD) use different symbols and
notation to represent data flow within system. That simplify the complex model.
Problem Analysis: Data Flow Diagram (DFDs) are very useful in understanding a
system and can be effectively used during analysis. Data Flow Diagram (DFDs) are quite
general and are not limited to problem analysis for software requirements specification.
Abstraction: Data Flow Diagram (DFD) provides a abstraction to complex model i.e.
DFD hides unnecessary implementation details and show only the flow of data and
processes within information system.
Hierarchy: Data Flow Diagram (DFD) provides a hierarchy of a system. High- level
diagram i.e. 0-level diagram provides an overview of entire system while lower-level
diagram like 1-level DFD and beyond provides a detailed data flow of individual process.
Data Flow: The primary objective of Data Flow Diagram (DFD) is to visualize the data
flow between external entity, processes and data store. Data Flow is represented by an
arrow Symbol.
Ease of Understanding: Data Flow Diagram (DFD) can be easily understand by both
technical and non-technical stakeholders.
Modularity: Modularity can be achieved using Data Flow Diagram (DFD) as it breaks
the complex system into smaller module or processes. This provides easily analysis and
design of a system.
Introduction of ER Model
Gather the requirements (functional and data) by asking questions to the database users.
Do a logical or conceptual design of the database. This is where ER model plays a role. It is the
most used graphical representation of the conceptual design of a database.
Physical Database Design (Like indexing) and external design (like views)
Why Use ER Diagrams In DBMS?
ER diagrams represent the E-R model in a database, making them easy to convert into relations
(tables).
ER diagrams provide the purpose of real-world modeling of objects which makes them intently
useful.
ER diagrams require no technical knowledge of the underlying DBMS used.
It gives a standard solution for visualizing the data logically.
Components of ER Diagram
ER Model consists of Entities, Attributes, and Relationships among Entities in a Database System.
What is Entity?
An Entity may be an object with a physical existence – a particular person, car, house, or employee – or it
may be an object with a conceptual existence – a company, a job, or a university course.
We can represent the entity set in ER Diagram but can’t represent entity in ER Diagram because entity is
row and column in the relation and ER Diagram is graphical representation of data.
Types of Entity
There are two types of entity:
1. Strong Entity
A Strong Entity is a type of entity that has a key Attribute. Strong Entity does not depend on other Entity
in the Schema. It has a primary key, that helps in identifying it uniquely, and it is represented by a
rectangle. These are called Strong Entity Types.
2. Weak Entity
An Entity type has a key attribute that uniquely identifies each entity in the entity set. But some entity
type exists for which key attributes can’t be defined. These are called Weak Entity types .
For Example, A company may store the information of dependents (Parents, Children, Spouse) of an
Employee.But the dependents can’t exist without the employee. So Dependent will be a Weak Entity
Type and Employee will be Identifying Entity type for Dependent,which means it is Strong EntityType .
A weak entity type is represented by a Double Rectangle. The participation of weak entity types is always
total. The relationship between the weak entity type and its identifying strong entity type is called
identifying relationship and it is represented by a double diamond.
What is Attributes?
Attributes are the properties that define the entity type. For example, Roll_No, Name, DOB, Age,
Address, and Mobile_No are the attributes that define entity type Student. In ER diagram, the attribute is
represented by an oval.
Types of Attributes
1. Key Attribute
The attribute which uniquely identifies each entity in the entity set is called the key attribute. For
example, Roll_No will be unique for each student. In ER diagram, the key attribute is represented by an
oval with underlying lines.
2. Composite Attribute
An attribute composed of many other attributes is called a composite attribute. For example, the Address
attribute of the student Entity type consists of Street, City, State, and Country. In ER diagram, the
composite attribute is represented by an oval comprising of ovals.
3. Multivalued Attribute
An attribute consisting of more than one value for a given entity. For example, Phone_No (can be more
than one for a given student). In ER diagram, a multivalued attribute is represented by a double oval.
4. Derived Attribute
An attribute that can be derived from other attributes of the entity type is known as a derived attribute.
e.g.; Age (can be derived from DOB). In ER diagram, the derived attribute is represented by a dashed
oval.