Practical File Software Engineering Final
Practical File Software Engineering Final
PRACTICAL FILE
ON SOFTWARE ENGINEERING.
BATCH(2019-22)
Result:
SDLC is a process followed for a software project, within a software organization. It consists of a detailed
plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle
defines a methodology for improving the quality of software and the overall development process.
Planning for the quality assurance requirements and identification of the risks associated with the project is
also done in the planning stage. The outcome of the technical feasibility study is to define the various
technical approaches that can be followed to implement the project successfully with minimum risks.
Outcome of this stage is a requirement specification.
This DDS is reviewed by all the important stakeholders and based on various parameters as risk
assessment, product robustness, design modularity, budget and time constraints, the best design
approach is selected for the product.
A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if any). The
internal design of all the modules of the proposed architecture should be clearly defined with the
minutest of the details in DDS.
Stage 4: Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The programming code is
generated as per DDS during this stage. If the design is performed in a detailed and organized manner,
code generation can be accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and programming tools like
compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming
1
languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen
with respect to the type of software being developed.
Once the product is tested and ready to be deployed it is released formally in the appropriate market.
Sometimes product deployment happens in stages as per the business strategy of that organization. The
product may first be released in a limited segment and tested in the real business environment (UAT- User
acceptance testing).
Then based on the feedback, the product may be released as it is or with suggested enhancements in the
targeting market segment. After the product is released in the market, its maintenance is done for the
existing customer base.
2
PRACTICAL 2
Objective: Prepare a SRS document in line with the IEEE recommended standards.
Description:
An SRS is basically an organization's understanding (in writing) of a customer or potential client's system
requirements and dependencies at a particular point in time (usually) prior to any actual design or
development work. It's a two-way insurance policy that assures that both the client and the organization
understand the other's requirements from that perspective at a given point in time.
The SRS document itself states in precise and explicit language those functions and capabilities a software
system (i.e., a software application, an eCommerce Web site, and so on) must provide, as well as states any
required constraints by which the system must abide. The SRS also functions as a blueprint for completing a
project with as little cost growth as possible. The SRS is often referred to as the "parent" document because
all subsequent project management documents, such as design specifications, statements of work, software
architecture specifications, testing and validation plans, and documentation plans, are related to it.
It's important to note that an SRS contains functional and nonfunctional requirements only; it doesn't offer
design suggestions, possible solutions to technology or business issues, or any other information other than
what the development team understands the customer's system requirements to be.
It provides feedback to the customer. An SRS is the customer's assurance that the development
organization understands the issues or problems to be solved and the software behavior necessary to
address those problems. Therefore, the SRS should be written in natural language (versus a formal
language, explained later in this article), in an unambiguous manner that may also include charts,
tables, data flow diagrams, decision tables, and so on.
3
It decomposes the problem into component parts. The simple act of writing down software
requirements in a well-designed format organizes information, places borders around the problem,
solidifies ideas, and helps break down the problem into its component parts in an orderly fashion.
It serves as an input to the design specification. As mentioned previously, the SRS serves as the
parent document to subsequent documents, such as the software design specification and statement
of work. Therefore, the SRS must contain sufficient detail in the functional system requirements so
that a design solution can be devised.
It serves as a product validation check. The SRS also serves as the parent document for testing and
validation strategies that will be applied to the requirements for verification.
SRSs are typically developed during the first stages of "Requirements Development," which is the initial
product development phase in which information is gathered about what requirements are needed--and not.
This information-gathering stage can include onsite visits, questionnaires, surveys, interviews, and perhaps a
return-on-investment (ROI) analysis or needs analysis of the customer or client's current business
environment. The actual specification, then, is written after the requirements have been gathered and
analyzed.
The basic issues that the SRS shall address are the following:
4
An SRS should be
a) Correct
b) Unambiguous
c) Complete
d) Consistent
e) Ranked for importance and/or stability
f) Verifiable
g) Modifiable
h) Traceable
● Correct - This is like motherhood and apple pie. Of course you want the specification to be correct. No one writes a
specification that they know is incorrect. We like to say - "Correct and Ever Correcting." The discipline is keeping the
specification up to date when you find things that are not correct.
● Unambiguous - An SRS is unambiguous if, and only if, every requirement stated therein has only one interpretation.
Again, easier said than done. Spending time on this area prior to releasing the SRS can be a waste of time. But as you find
ambiguities - fix them.
● Complete - A simple judge of this is that is should be all that is needed by the software designers to create the software.
● Consistent - The SRS should be consistent within itself and consistent to its reference documents. If you call an input
"Start and Stop" in one place, don't call it "Start/Stop" in another.
● Ranked for Importance - Very often a new system has requirements that are really marketing wish lists. Some may not
be achievable. It is useful provide this information in the SRS.
● Verifiable - Don't put in requirements like - "It should provide the user a fast response." Another of my favorites is - "The
system should never crash." Instead, provide a quantitative requirement like: "Every key stroke should provide a user
response within 100 milliseconds."
● Modifiable - Having the same requirement in more than one place may not be wrong - but tends to make the document
not maintainable.
● Traceable - Often, this is not important in a non-politicized environment. However, in most organizations, it is sometimes
useful to connect the requirements in the SRS to a higher level document. Why do we need this requirement?
5
PRACTICAL 3
Hardware Requirements: Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard
keyboard n mouse, colored monitor.
Software Requirements: SmartDraw, MS Word.
6
Attributes, which are represented by ovals. A key attribute is the unique, distinguishing characteristic of
the entity. For example, an employee's social security number might be the employee's key attribute
A multivalued attribute can have more than one value. For example, an
employee entity can have multiple skill values.
Connecting lines, solid lines that connect attributes to show the relationships
of entities in the diagram.
Cardinality specifies how many instances of an entity relate to one instance of
another entity. Ordinality is also closely linked to cardinality. While cardinality
specifies the occurrences of a relationship, ordinality describes the
relationship as either mandatory or optional. In other words, cardinality
specifies the maximum number of relationships and ordinality specifies the
absolute minimum number of relationships.
7
There are many notation styles that express cardinality.
8
Tips for Effective ER Diagrams
1. Make sure that each entity only appears once per diagram.
9
2. Name every entity, relationship, and attribute on your diagram.
10
PRACTICAL 4
Hardware Requirements: Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard
keyboard n mouse, colored monitor.
Components:
External Entity an outside system that sends or receives data, communicating with
the system being diagrammed. They are the sources and destinations of information
entering or leaving the system. They might be an outside organization or person, a
computer system or a business system. They are also known as terminators, sources
and sinks or actors. They are typically drawn on the edges of the diagram.
Process any process that changes the data, producing an output. It might perform
computations, or sort data based on logic, or direct the data flow based on business
rules. A short label is used to describe the process, such as “Submit payment.”
Data store files or repositories that hold information for later use, such as a
database table or a membership form. Each data store receives a simple label, such
as “Orders.”
Data flow the route that data takes between the external entities, processes and
data stores. It portrays the interface between the other components and is shown
with arrows, typically labeled with a short data name, like “Billing details.”
DFD rules
11
● Each process should have at least one input and an output.
● Each data store should have at least one data flow in and one data flow out.
● Data stored in a system must go through a process.
● All processes in a DFD go to another process or a data store.
DFD Levels:
A data flow diagram can dive into progressively more detail by using levels and
layers, zeroing in on a particular piece. DFD levels are numbered 0, 1 or 2, and
occasionally go to even Level 3 or beyond.
1. DFD Level 0 is also called a Context Diagram. It’s a basic overview of the whole
system or process being analyzed or modeled. It’s designed to be an at-a-glance view,
showing the system as a single high-level process, with its relationship to external
entities. It should be easily understood by a wide audience, including stakeholders,
business analysts, data analysts and developers.
2. DFD Level 1 provides a more detailed breakout of pieces of the Context Level
Diagram. You will highlight the main functions carried out by the system, as you
break down the high-level process of the Context Diagram into its subproces
Finance
VerifiCation
Verify Issue
Item
Profess Order
Customer Data
12
PRACTICAL 5
Hardware Requirements: Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard
keyboard n mouse, colored monitor.
Model your analysis of your usage requirements in the form of a system use case
model
Use case models should be developed from the point of view of your project
stakeholders and not from the (often technical) point of view of developers. There are
guidelines for:
Use Cases
Actors
Relationships
1. Use Cases
13
A use case describes a sequence of actions that provide a measurable value to an
actor. A use case is drawn as a horizontal ellipse on a UML use case diagram.
2. Actors
An actor is a person, organization, or external system that plays a role in one or more
interactions with your system (actors are typically drawn as stick figures on UML Use
Case diagrams).
3 .Relationships
There are several types of relationships that may appear on a use case diagram:
1. Indicate An Association Between An Actor And A Use Case If The Actor Appears
Within The Use Case Logic
14
4. Apply <<extend>> When A Use Case May
Be Invoked Across Several Use Case Steps
15
receives any information as a result of the use
case, then there should be an association
between them.
COLLEGE
16
LIBRARY MANAGEMENT SYSTEM.
17