Software Engineering Unit - II English Notes
Software Engineering Unit - II English Notes
1. Feasibility Study
2. Requirement Elicitation and Analysis
3. Software Requirement Specification
4. Software Requirement Validation
5. Software Requirement Management
Requirements elicitation is perhaps the most difficult, most error-prone and most communication
intensive software development. It can be successful only through an effective customer-
developer partnership. It is needed to know what the users really need.
Requirements elicitation Activities:
Requirements elicitation includes the subsequent activities. Few of them are listed below –
• Knowledge of the overall area where the systems is applied.
• The details of the precise customer problem where the system are going to be applied must
be understood.
• Interaction of system with external requirements.
• Detailed investigation of user needs.
• Define the constraints for system development.
2. Brainstorming Sessions:
• It is a group technique
• It is intended to generate lots of new ideas hence providing a platform to share views
A highly trained facilitator is required to handle group bias and group conflicts.
• Every idea is documented so that everyone can see it.
• Finally, a document is prepared which consists of the list of requirements and their priority
if possible.
5. Use Case Approach: This technique combines text and pictures to provide a better
understanding of the requirements.
The use cases describe the ‘what’, of a system and not ‘how’. Hence, they only give a
functional view of the system. The components of the use case design includes
three major things – Actor, Use cases, use case diagram.
1. Actor – It is the external agent that lies outside the system but interacts with it in some way.
An actor maybe a person, machine etc. It is represented as a stick figure. Actors can be
primary actors or secondary actors.
• Primary actors – It requires assistance from the system to achieve a goal.
• Secondary actor – It is an actor from which the system needs assistance.
2. Use cases – They describe the sequence of interactions between actors and the system. They
capture who(actors) do what(interaction) with the system. A complete set of use cases
specifies all possible ways to use the system.
3. Use case diagram – A use case diagram graphically represents what happens when an actor
interacts with a system. It captures the functional aspect of the system.
• A stick figure is used to represent an actor.
• An oval is used to represent a use case.
• A line is used to represent a relationship between an actor and a use case.
Requirements Analysis
Requirement analysis is significant and essential activity after elicitation. We analyze, refine,
and scrutinize the gathered requirements to make consistent and unambiguous requirements.
This activity reviews all requirements and may provide a graphical view of the entire system.
After the completion of the analysis, it is expected that the understandability of the project may
improve significantly. Here, we may also use the interaction with the customer to clarify points
of confusion and to understand which requirements are more important than others.
(ii) Development of a Prototype (optional): One effective way to find out what the
customer wants is to construct a prototype, something that looks and preferably acts as part of
the system they say they want.
We can use their feedback to modify the prototype until the customer is satisfied continuously.
Hence, the prototype helps the client to visualize the proposed system and increase the
understanding of the requirements. When developers and users are not sure about some of the
elements, a prototype may help both the parties to take a final decision.
Some projects are developed for the general market. In such cases, the prototype should be
shown to some representative sample of the population of potential purchasers. Even though a
person who tries out a prototype may not buy the final system, but their feedback may allow us
to make the product more attractive to others.
The prototype should be built quickly and at a relatively low cost. Hence it will always have
limitations and would not be acceptable in the final system. This is an optional activity.
(iii) Model the requirements: This process usually consists of various graphical
representations of the functions, data entities, external entities, and the relationships between
them. The graphical view may help to find incorrect, inconsistent, missing, and superfluous
requirements. Such models include the Data Flow diagram, Entity-Relationship diagram, Data
Dictionaries, State-transition diagrams, etc.
(iv) Finalise the requirements: After modeling the requirements, we will have a better
understanding of the system behavior. The inconsistencies and ambiguities have been identified
and corrected. The flow of data amongst various modules has been analyzed. Elicitation and
analyze activities have provided better insight into the system. Now we finalize the analyzed
requirements, and the next step is to document these requirements in a prescribed format.
A well-written ERD allows engineers and manufacturers to answer critical questions about part
design and purpose without going back and forth. This results in a faster, more efficient building
process that saves you time and money. Here’s everything you need to know to write a clear and
effective engineering requirements document.
Requirement reviews:-In short, Requirement review is the practice of scanning the software
errors to make the industry user-friendly for all.
Requirement review performed:-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.
2. Understanding the user’s requirement :Recognize the user’s needs and go all out in
understanding them. Requirements keep on changing with time. So, When you have collected a
list of things that a user requires in the current time. There you found a way to go about it. To
get exact information on their requirements, Asking for feedback is Important.
Types of Feasibility Study : 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.
3. Economic Feasibility – In Economic Feasibility study cost and benefit of the project is
analyzed. Means under this feasibility study a detail analysis is carried out what will be cost
of the project for development which includes all required cost for final development like
hardware and software resource required, design and development cost and operational cost
and so on. After that it is analyzed whether project will be beneficial in terms of finance for
organization or not.
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.
Feasibility Study Process : The below steps are carried out during entire feasibility analysis.
1. Information assessment
2. Information collection
3. Report writing
4. General information
Need of Feasibility Study : Feasibility study is so important stage of Software Project
Management Process as after completion of feasibility study it gives a conclusion of whether to
go ahead with proposed project as it is practically feasible or to stop proposed project here as it
is not right/feasible to develop or to think/analyze about proposed project again.
Along with this Feasibility study helps in identifying risk factors involved in developing and
deploying system and planning for risk analysis also narrows the business alternatives and
enhance success rate analyzing different parameters associated with proposed project
development.
Standard symbols for DFDs are derived from the electric circuit diagram analysis and are shown
in fig:
Circle: A circle (bubble) shows a process that transforms data inputs into data outputs.
Data Flow: A curved line shows the flow of data into or out of a process or data store.
Data Store: A set of parallel lines shows a place for the collection of data items. A data store
indicates that the data is stored which can be used at a later stage or by the other processes in a
different order. The data store can have an element or group of elements.
Source or Sink: Source or Sink is an external entity and acts as a source of system inputs or
sink of system outputs.
0-level DFD
It is also known as fundamental system model, or context diagram represents the entire software
requirement as a single bubble with input and output data denoted by incoming and outgoing
arrows. Then the system is decomposed and described as a DFD with multiple bubbles. Parts of
the system represented by each of these bubbles are then decomposed and documented as more
and more detailed DFDs. This process may be repeated at as many levels as necessary until the
program at hand is well understood. It is essential to preserve the number of inputs and outputs
between levels, this concept is called leveling by DeMacro. Thus, if bubble "A" has two inputs
x1 and x2 and one output y, then the expanded DFD, that represents "A" should have exactly two
external inputs and one external output as shown in fig:
The Level-0 DFD, also called context diagram of the result management system is shown in fig.
As the bubbles are decomposed into less and less abstract bubbles, the corresponding data flow
may also be needed to be decomposed.
1-level DFD
In 1-level DFD, a context diagram is decomposed into multiple bubbles/processes. In this level,
we highlight the main objectives of the system and breakdown the high-level process of 0-level
DFD into subprocesses.
2-Level DFD
2-level DFD goes one process deeper into parts of 1-level DFD. It can be used to project or
record the specific/necessary detail about the system's functioning.
Entity-Relationship Diagrams
ER-modeling is a data modeling method used in software engineering to produce a conceptual
data model of an information system. Diagrams created using this ER-modeling method are
called Entity-Relationship Diagrams or ER diagrams or ERDs.
Purpose of ERD
The database analyst gains a better understanding of the data to be contained in the database
through the step of constructing the ERD.
The ERD serves as a documentation tool.
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.
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.
Entity Set
An entity set is a collection of related types of entities. An entity set may include entities with
attribute sharing similar values. For example, a Student set may contain all the students of a
school; likewise, a Teacher set may include all the teachers of a school from all faculties.
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.
There exists a domain or range of values that can be assigned to attributes. For example, a
student's name cannot be a numeric value. It has to be alphabetic. A student's age cannot be
negative, etc.
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. For example,
age can be derived from date_of_birth. In the ER diagram, Derived attributes are depicted by
the dashed ellipse.
3. Relationships
The association among entities is known as relationship. Relationships are represented by the
diamond-shaped box. For example, an employee works_at a department, a student enrolls in a
course. Here, Works_at and Enrolls are called relationships.
Relationship set
A set of relationships of a similar type is known as a relationship set. Like entities, a relationship
too can have attributes. These attributes are called descriptive attributes.
Degree of a relationship set
The number of participating entities in a relationship describes the degree of the relationship.
The three most common relationships in E-R models are:
Unary (degree1)
Binary (degree2)
Ternary (degree3)
1. Unary relationship: This is also called recursive relationships. It is a relationship
between the instances of one entity type. For example, one person is married to only one person.
2. Binary relationship: It is a relationship between the instances of two entity types. For
example, the Teacher teaches the subject.
2. One to many: When a single instance of an entity is associated with more than one
instances of another entity then it is called one to many relationships. For example, a client can
place many orders; a order cannot be placed by many customers.
4. Many to Many: One entity from A can be associated with more than one entity from B
and vice-versa. For example, the student can be assigned to many projects, and a project can be
assigned to many students.
The condition states that if the user provides the correct username and password the user will be
redirected to the homepage. If any of the input is wrong, an error message will be displayed.
In the above example,
T – Correct username/password
F – Wrong username/password
E – Error message is displayed
H – Home screen is displayed
Now let’s understand the interpretation of the above cases:
Case 1 – Username and password both were wrong. The user is shown an error message. Case
2 – Username was correct, but the password was wrong. The user is shown an error message.
Case 3 – Username was wrong, but the password was correct. The user is shown an error
message.
Case 4 – Username and password both were correct, and the user is navigated to the homepage.
So, this was an example of building a decision table in software testing. with this we have come
to the end of this article.