Professional Documents
Culture Documents
Practical-1
Aim: Study the complete Software Development Life Cycle (SDLC) and analyse
various activities conducted as apart of various phases. For each SDLC phase,
identify the objectives and summaries outcomes.
➔ Hence, it’s vital for a software developer to have prior knowledge of this software
development process.
1
Software Engineering
➔ This is obtained from the inputs from the customers, sales department/market
surveys.
➔ The information from this analysis forms the building block of a basic project. The
quality proof of the project is a result of planning. Thus, in this stage, the basic
project is designed with all the available information.
➔ In this stage, all the requirements for the target software are specified. These
requirements get approval from the customers, market analysts, and
stakeholders.
➔ SRS is a reference for software designers to come out with the best architecture
for the software. Hence, with the requirements defined in SRS, multiple designs
for the product architecture are present in the Design Document Specification
(DDS).
➔ This DDS is assessed by market analysts and stakeholders. After evaluating all
the possible factors, the most practical and logical design is chosen for the
development.
2
Software Engineering
➔ In this phase of SDLC, the actual development begins, and the programming is
built. The implementation of design begins concerning writing code.
Stage-5: Testing
➔ After the code is generated, it is tested against the requirements to make sure that
the products are solving the needs addressed and gathered during the
requirements stage.
➔ During this stage, unit testing, integration testing, system testing, acceptance
testing are done.
Stage-6: Deployment
➔ Once the software is certified, and no bugs or errors are stated, then it is
deployed.
Stage-7: Maintenance
➔ Once when the client starts using the developed systems, then the real issues
come up and requirements to be solved from time to time.
➔ This procedure where the care is taken for the developed product is known as
maintenance.
3
Software Engineering
Practical-2
➢ Qualities of SRS:
• Correct
• Unambiguous
• Complete
• Consistent
• Ranked for importance and/or stability
• Verifiable
• Modifiable
• Traceable
4
Software Engineering
1. Functional requirements
2. Non – Functional requirements
1. Functional requirements
→ Any requirement which specifies what the system Should do.
2. Non-Functional requirements
→ Any requirement which specifies how the system performs a certain function.
→ SRS should be accurate, complete, efficient, and of high quality, so that it does
not affect the entire project plan.
→ An SRS is said to be of high quality when the developer and user easily
understand the prepared document.
5
Software Engineering
→ Without developing the SRS document, the system would not be properly
implemented according to customer needs.
6
Software Engineering
Practical-3
→ DFD is the abbreviation for Data Flow Diagram. 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.
→ Data Flow diagrams are very popular because they help us to visualize the
major steps and data involved in software-system processes.
→ In Software engineering DFD (data flow diagram) can be drawn to represent the
system of different levels of abstraction.
Notation Symbol
External entities
Process
Data store
7
Software Engineering
Data flow
→ Higher-level DFDs are partitioned into low levels-hacking more information and
functional elements. Levels in DFD are numbered 0, 1, 2 or beyond.
1) 0-level DFD
2) 1-level DFD
3) 2-level DFD
1) 0-level DFD
• It represents the entire system as a single bubble with input and output data
indicated by incoming/outgoing arrows.
2) 1-level DFD
→ In this level, we highlight the main functions of the system and breakdown the
high-level process of 0-level DFD into subprocesses.
8
Software Engineering
3) 2-level DFD
→ 2-level DFD goes one step deeper into parts of 1-level DFD. It can be used to
plan or record the specific/necessary detail about the system’s functioning.
9
Software Engineering
Structure Charts
→ Structure Chart partitions the system into black boxes (functionality of the
system is known to the users but inner details are unknown). Inputs are given
to the black boxes and appropriate outputs are generated.
1. Module
It represents the process or task of the system. It is of three types.
a. Control Module
A control module branches to more than one sub module.
b. Sub Module
Sub Module is a module which is the part (Child) of another module.
c. Library Module
Library Module are reusable and invokable from any module.
10
Software Engineering
2. Conditional Call
→ It represents that control module can select any of the sub module on the basis
of some condition.
→ All the sub modules cover by the loop repeat execution of module.
11
Software Engineering
4. Data Flow
→ It represents the flow of data between the modules. It is represented by directed
arrow with empty circle at the end.
5. Control Flow
→ It represents the flow of control between the modules. It is represented by
directed arrow with filled circle at the end.
6. Physical Storage
12
Software Engineering
13
Software Engineering
Practical-4
Aim: To perform the user’s view analysis: Use case diagram for railway
reservation system.
Update My profile
14
Software Engineering
Practical-5
Aim: To draw the structural view diagram: Class diagram for library
management system.
15
Software Engineering
Practical-6
Aim: To draw the behavioural view diagram: Activity diagram for flight control
system.
16
Software Engineering
Practical-8
→ Cost estimation is used to predict the quantity, cost and price of the resources
required by the scope of a project. A project might be any process that is started
to perform work activities and/or create assets.
→ Related to this principle, it is always challenging to collect and read the huge
amount of cost data, which doesn’t help with the decision making. Analysing
and visualizing the cost data opens the doors to making the data useful and
meaningful.
17
Software Engineering
→ A cost estimate is more than a list of costs. It also includes a detailed Basis of
Estimate (BOE) report that describes the assumptions, inclusions, exclusions,
accuracy and other aspects that are needed to interpret the total project cost.
Otherwise, it would be a meaningless number.
→ Make sure to set up the estimate in a structured way to allow for an easy
transition into project cost estimating software, which will help you make more
solid and accurate estimates in the long run.
18
Software Engineering
Project Timeline
Analysis Conent entry Maintenance
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Practical-11
Aim: Generate a test suite using the white box testing strategies.
19