0% found this document useful (0 votes)
19 views68 pages

SEN - Old Manual For Reference

The document is a certification and course outline for a Software Engineering course (22413) designed by Shubhangi Chintawar for the Maharashtra State Board of Technical Education. It includes details about the course objectives, experiments, program outcomes, and a specific project example, the Library Management System, which outlines its problem statement and project scope. Additionally, it describes the Waterfall model for software development, including its phases, advantages, and application in the context of the Library Management System.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views68 pages

SEN - Old Manual For Reference

The document is a certification and course outline for a Software Engineering course (22413) designed by Shubhangi Chintawar for the Maharashtra State Board of Technical Education. It includes details about the course objectives, experiments, program outcomes, and a specific project example, the Library Management System, which outlines its problem statement and project scope. Additionally, it describes the Waterfall model for software development, including its phases, advantages, and application in the context of the Library Management System.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 68

Software Engineering

(22413)
CO4I

Desiged by Shubhangi Chintawar


Maharashtra State
Board of Technical Education

Certificate
This is to certify that Mr. / Ms ……………………………………. Roll
No……………………….of Fourth Semester of Diploma in
………………………………………………………….of Institute
……………………………………………………………………..
(Code………………..) has completed the term work satisfactorily in
subject Software Engineering (22413) for the academic year
20…….to 20…..... as prescribed in the curriculum.

Place ………………. Enrollment No……………………


Date:…..................... Exam Seat No. ………………......

Subject Teacher Head of the Department Principal

Seal of the
Institute

Desiged by Shubhangi Chintawar


Software Engineering(22413)
INDEX
Academic year: 2019-20 Name of the faculty: Mrs. Shubhangi Chintawar
Course code: Software Engineering (22413) Program code: Computer Engineering (CO4I)B
Name of the Candidate: Enrollment No. Roll No.
Semester: IV Marks: Max: 25 Min: 10

SR. Marks Teacher’s


DOP DOS AIM OF THE EXPERIMENT
NO Obtained Signature

Write problem statement to define the project title with


1
bounded scope of the project

Select relevant process model to define activities and


2
related tasks set for assigned project

Gather application specific requirements for assimilate


3
into RE (Requirement engineering) model.

4 Prepare broad SRS for above selected process.

Prepare use-cases and draw use-case diagram using


5
software Modeling Tool

Develop data design using DFDs, Decision tables and E-R


6
diagram.

Write test cases to validate requirements of assigned


7
project from SRS document.

Evaluate size of the project using function point metric for


8
the assigned project.
Estimate the cost of the project using COCOMO/COCOMO II
9 approach for the Assigned project.

10 Use CPM/ PERT for scheduling the assigned project.

Prepare SQA plan to facilitate various attributes of quality


11
of process.

Prepare SQA plan to facilitate various attributes of quality


12
of product.

Total Marks

Average
Software Engineering(22413)
COMPUTER ENGINEERING
VISION AND MISSION OF THE PROGRAMME

VISION: To be centre of excellence in the field of computer engineering by providing value based quality technical education
MISSION 1: To impart & inculcate both theoretical as well as practical knowledge in students
MISSION 2: To develop competent professionals who are proficient in analysis, design & implementation of broadly-defined computer
problems
MISSION 3: To create confident youth with a sense of duty , discipline & responsibility
PROGRAMME OUTCOMES
PO1: Basic knowledge: Apply knowledge of basic mathematics, sciences and basic engineering to solve the broad-based Computer
engineering problem
PO2: Discipline knowledge: Apply Computer engineering discipline - specific knowledge to solve core computer engineering
related problems.
PO3: Experiments and practice: Plan to perform experiments and practices to use the results to solve broad-based Computer
engineering problems.
PO4: Engineering tools: Apply relevant Computer technologies and tools with an understanding of the limitations.
PO5: The engineer and society: Assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to practice in field of Computer engineering
PO6: Environment and sustainability: Apply Computer engineering solutions also for sustainable development practices in societal
and environmental contexts and demonstrate the knowledge and need for sustainable development.
PO7: Ethics: Apply ethical principles for commitment to professional ethics, responsibilities and norms of the practice also in the
field of Computer engineering
PO8: Individual and team work: Function effectively as a leader and team member in diverse/ multidisciplinary teams.
PO9: Communication: Communicate effectively in oral and written form.
PO10: Life-long learning: Engage in independent and life-long learning activities in the context of technological changes in the
Computer engineering field and allied industry.
PROGRAMME SPECIFIC OUTCOMES
PSO1: Computer Software and Hardware Usage: Use state-of-the-art technologies for operation and application of computer
software and hardware.
PSO2: Computer Engineering Maintenance: Maintain computer engineering related software and hardware systems.
Software Engineering COURSE OUTCOMES
At the end of this course, student will be able to:
C257.1 Select suitable software process model for software development
C257.2 Prepare software requirement specification
C257.3 Use software modeling to create data design
C257.4 Estimate size and cost of software product.
C257.5 Apply project management and quality assurance principles in software development.

CO\Expt Expt1 Expt2 Expt3 Expt4 Expt5 Expt6 Expt7 Expt8 Expt9 Expt10 Expt11 Expt12
C257.1 √ √
C257.2 √ √
C257.3 √ √ √
C257.4 √ √
C257.5 √ √ √
Software Engineering(22413)

Experiment No.1
Aim: Write problem statement to define the project title with bounded scope of the project.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Select suitable Software Process model for software development.

Practical Outcomes (PrOs)


Write problem statement to define the project title with bounded scope of the project.

Relevant Affective domain related Outcomes


1. Follow safety practice.
2. Practice good housekeeping.
3. Demonstrate working as a leader/ a team member.
4. Follow ethical practice.

Introduction
Problem Statement
A problem statement is a clear description of the issue(s), it includes a vision, issue
statement, and method used to solve the problem.
A problem statement is usually one or two sentences to explain the you r problem
process improvement project will address. In general, a problem st atement will
outline the negative points of the current situation and explain why this matters. It
also serves as a great communication tool, helping to get buy in and su pport from
others.

Project Scope
A project scope, or project scope statement, is a tool u sed t o describe t he m ajor
deliverables of a project including the key milestones, h igh level requirements,
Software Engineering(22413)
assumptions, and constraints. The project scope statement is a useful tool for future
decision making when new change requests are considered to m odify t he project
scope.

LIBRARY MANAGEMENT SYSTEM

PROBLEM STATEMENT

The purpose of the Library Management system is to allow for storing details of a large
number of books, magazines, Journals, thesis and allow for add, search, borrow, return facilities
separately to administrator/Librarian, staff and students. Different privileges are given to
different types of users.
The tasks to be done are:
1. Identify the main entities (objects) for this system.
2. Find out the relationships between these objects.
3. Find the necessary attributes and functions that need to be associated with each object to
implement the functionality mentioned above.

Project Scope
The scope of Library Management System includes:
● Create distinct product users based on their roles and permissions.
● Authenticate users at their login.
● Provide the list of books the users can borrow.
● Facility to reserve books that are available.
● Facility to cancel the reservation for a book made earlier.
● Providing interface to add or delete books to staffs.
Exercise
1. Define Software and software engineering.
2. List the Characteristics of Software.
3. List types of software.
4. Explain Software Engineering as layered approach with diagram.
5. Write problem statement and scope of the assigned project.
Software Engineering(22413)

Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.2
Aim: Select relevant process model to define activities and related tasks set for assigned project.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
Engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Select suitable Software Process model for software development.

Practical Outcomes (PrOs)


Select relevant process model to define activities and related tasks set for assigned project.

Relevant Affective domain related Outcomes


1. Follow safety practice.
2. Practice good housekeeping.
3. Demonstrate working as a leader/ a team member.
4. Follow ethical practice.
Software Engineering(22413)
Introduction
Process development model
It is also referred to as a linear-sequential life cycle model. It is very simple to understand and
use. In a waterfall model, each phase must be completed before the next phase can begin and
there is no overlapping in the phases.
Waterfall Model - Design and Activities
In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase
sequentially.
The following illustration is a representation of the different phases of the Waterfall Model.

The sequential phases in Waterfall model are −

● Requirement Gathering and analysis − All possible


requirements of the system to be developed are captured in
this phase and documented in a requirement specification
document.
● System Design − The requirement specifications from first
phase are studied in this phase and the system design is
prepared. This system design helps in specifying hardware and
system requirements and helps in defining the overall system
architecture.
● Implementation − With inputs from the system design, the
system is first developed in small programs called units, which
Software Engineering(22413)
are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit
Testing.
● Integration and Testing − All the units developed in the
implementation phase are integrated into a system after
testing of each unit. Post integration the entire system is
tested for any faults and failures.
● Deployment of system − Once the functional and non-
functional testing is done; the product is deployed in the
customer environment or released into the market.
● Maintenance − There are some issues which come up in the
client environment. To fix those issues, patches are released.
Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer
environment.

All these phases are cascaded to each other in which progress is seen as flowing steadily
downwards (like a waterfall) through the phases. The next phase is started only after the defined
set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model".
In this model, phases do not overlap.
Waterfall Model - Application
Every software developed is different and requires a suitable SDLC
approach to be followed based on the internal and external factors.
Some situations where the use of Waterfall model is most
appropriate are −
● Requirements are very well documented, clear and fixed.
● Product definition is stable.
● Technology is understood and is not dynamic.
● There are no ambiguous requirements.
● Ample resources with required expertise are available to support the product.
● The project is short.

Waterfall Model - Advantages


The advantages of waterfall development are that it allows for departmentalization and control.
A schedule can be set with deadlines for each stage of development and a product can proceed
through the development process model phases one by one.
Software Engineering(22413)
Development moves from concept, through design, implementation, testing, installation,
troubleshooting, and ends up at operation and maintenance. Each phase of develop ment
proceeds in strict order.
Some of the major advantages of the Waterfall Model are as follows −

● Simple and easy to understand and use


● Easy to manage due to the rigidity of the model. Each phase has specific deliverables
and a review process.
● Phases are processed and completed one at a time.
● Works well for smaller projects where requirements are very well understood.
● Clearly defined stages.
● Well understood milestones.
● Easy to arrange tasks.
● Process and results are well documented.

LIBRARY MANAGEMENT SYSTEM

● Requirement Gathering and analysis − The Library Management


System shall be required to maintain information about its
users and books. It shall store databases for students,
teachers and books. The student database stores information
about a student’s roll no, name, address, course and year.The
book database stores information about a book title, author,
publisher, cost, bill number, year of publishing and pages. The
teacher database stores information about a teacher’s id, name,
department, designation, address and telephone number.

● System Design − Library Management System is a computerized system which


can helps user (librarian)to manage the library daily activity in electronic format. It
reduces the risk of paperwork such as file lost, file damaged and time-consuming. It can
help user to manage the transaction or record more effectively and time-saving,
construct the Level 0 Data Flow Diagram (DFD) as well as Level 1 DFD , Member
Registration, Book Rental, Return book.

● Implementation −
Software Engineering(22413)

Software Interfaces: Library Management System requires user to install SQL Server 2008. For
operating system, Library System requires Window XP or newer version.3.1.4

● Integration and Testing − All the units developed in the


implementation phase are integrated into a system after
testing of each unit.
● Deployment of system − Once the functional and non-
functional testing is done; the product is deployed in the
customer environment or released .
● Maintenance − Maintenance is done to deliver the changes in
the customer environment.

Exercise
1. Write down the selection criteria for software development process model.
2. Difference between waterfall model and incremental model.
3. List Specialize process Model.
4. Differentiate between prescriptive process model and agile process model.
5. Select relevant process model to define activities and related tasks set for assigned
project.
Software Engineering(22413)

Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.3
Aim: Gather application specific requirements for assimilate into RE (Requirement engineering)
model.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Prepare software requirement specification.

Practical Outcomes (PrOs)


Gather application specific requirements for assimilate into RE (Requirement engineering)
model.

Relevant Affective domain related Outcomes


1. Follow safety practice.
2. Practice good housekeeping.
3. Demonstrate working as a leader/ a team member.
4. Follow ethical practice.
Software Engineering(22413)
Introduction
REQUIREMENTS ENGINEERING
● Requirement is a condition possessed by the software component in order to solve a real
world problems.
● Requirement describe how a system should act, appear or perform.
● IEEE defines a requirement as: “A condition that must be possessed by a system to
satisfy a contract specification, standard or other formally imposed document.
Principles of Requirement Engineering
i. Understand the problem before you start to create the analysis model
There is a tendency to rush to a solution, even before the problem is understood.
This often leads to elegant software that solves the wrong problem.
ii. Develop prototypes that enable a user to understand howhuman machine interaction
will occur
Since the perception of the quality of software is often is based on perception of
time “friendliness” of the interface, prototyping (and the interaction that results) is highly
recommended.
iii. Record the origin and the reason for every document
This is the step in establishing traceability back to the customer.
iv. Use multiple views of requirement
Building data, functional and behavioral models provides software engineer three
different views.This reduces the chances of missing errors.
v. Prioritize the requirements
Requirements should be followed for the tight implementation and delivery of the
product.
vi. Work to eliminate ambiguity
The use of more technical reviews should be used for no ambiguity.

Requirement Engineering Task


i. Inception
ii. Elicitation
iii. Elaboration
iv. Negotiation
v. Specification
vi. Validation
vii. Management
Software Engineering(22413)

LIBRARY MANAGEMENT SYSTEM

The Library Management System is gaining more importance as the number of its users is
increasing rapidly. As the number is rising there is a need of effective management of library.
The transactions like login, register, add, search, delete, issue are provided. The Library
Management System stores the details like name, address, ID number, Date of Birth of members
working in the library and users who come to library. The details of books like book name, book
number, subject to which it belongs, author, edition, year of publication, the total number of
books that are present in the library etc. are also stored.
It features a familiar and well thought-out, and attractive user interface, combined with strong
searching insertion and reporting capabilities. The report generation facility of library system
helps to get a good idea of which are the books borrowed by the members, makes user possible
to generate report hard copy .

Exercise
1. Difference between functional and nonfunctional requirements.
2. Gather application specific requirements for assimilate into RE
(Assigned Project)
Software Engineering(22413)
Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.4
Aim: Prepare broad SRS for the above selected project.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Prepare Software requirement specification.

Practical Outcomes (PrOs)


Prepare broad SRS for the above selected project.

Relevant Affective domain related Outcomes


1. Follow safety practice.
2. Practice good housekeeping.
3. Demonstrate working as a leader/ a team member.
4. Follow ethical practice.
Software Engineering(22413)
Introduction
The output of the requirements phase of the software development process is Software
Requirements Specification (SRS) (also known as requirements document).
This document lays a foundation for software engineering activities and is created whe n
entire requirements are elicited and analyzed. SRS is a formal document, which acts as a
representation of software that enables the users to review whether it (SRS) is according
to their requirements. In addition, it includes user requirements for a system as we ll as
detailed specifications of the system requirements.

Characteristics of SRS

Software requirements specification 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. Other
characteristics of SRS are discussed below.

1. Correct: SRS is correct when all user requirements are stated in the
requirements document. The stated requirements should be according to the
desired system. This implies that each requirement is examined to ensure that it
(SRS) represents user requirements. Note that there is no specified tool or
procedure to assure the correctness of SRS. Correctness ensures that all specifie d
requirements are performed correctly.
2. Unambiguous: SRS is unambiguous when every stated requirement has only
one interpretation. This implies that each requirement is uniquely interpreted. In
case there is a term used with multiple meanings, the requirements document
should specify the meanings in the SRS so that it is clear and easy to understand.
3. Complete: SRS is complete when the requirements clearly define what the
software is required to do. This includes all the requirements related to
performance, design and functionality.
4. Ranked for importance/stability: All requirements are not equally
important, hence each requirement is identified to make differences among other
requirements. For this, it is essential to clearly identify each requirement.
Stability implies the probability of changes in the requirement in future.
5. Modifiable: The requirements of the user can change, hence requirements
document should be created in such a manner that those changes can be
modified easily, consistently maintaining the structure and style of the SRS.
6. Traceable: SRS is traceable when the source of each requirement is clear and
facilitates the reference of each requirement in future. For this, forward tracing
and backward tracing are used. Forward tracing implies that each requirement
Software Engineering(22413)
should be traceable to design and code elements. Backward tracing implies
defining each requirement explicitly referencing its source.
7. Verifiable: SRS is verifiable when the specified requirements can be verified
with a cost-effective process to check whether the final software meets those
requirements. The requirements are verified with the help of reviews.
8. Consistent: SRS is consistent when the subsets of individual requirements
defined do not conflict with each other. For example, there can be a case when
different requirements can use different terms to refer to the same object. The re
can be logical or temporal conflicts between the specified requirements and some
requirements whose logical or temporal characteristics are not satisfied.

Attach print out of Format of SRS

Exercise
1. What is SRS.
2. Explain importance of SRS.
3. Prepare SRS (Assigned Project)
Software Engineering(22413)
Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.5
Aim: Prepare use-cases and draw use-case diagram using software Modeling Tool.

Relevant Program Outcomes (POs)

• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic


engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Use software modeling to create data designs.

Practical Outcomes (PrOs)


Prepare use-cases and draw use-case diagram using software Modeling Tool.

Relevant Affective domain related Outcomes

1. Follow safety practice.


2. Practice good housekeeping.
3. Demonstrate working as a leader/ a team member.
4. Follow ethical practice.

Introduction
LIBRARY MANAGEMENT SYSTEM
The purpose of the system is to allow for storing details of a large number of books and
allow for add, search, borrow, return facilities separately to administrator,staff and
students. Different privileges are given to different types of users.Using the O OSE (Object
Oriented Software Engineering) we try to express the requirements as use cases consisting of
actors and how they interact with the system. We Define the objects and use cases as system
objects. We define the functions and attributes within these system objects.

Actors –
1.Administrator (Category User)
2.Staff (Category User)
3.Students (Category User)
4.Library Account (Category System)
Software Engineering(22413)
5.Book (Category System)
6.Transaction (Category System)
7.Report (Category System)
8.Search (Category System)
9.Registration (Category System)
Objects that define the system-
1.Book (Attributes: title, author, isbn, price:Functions: add book, remove book Extended
Functions: login, login_failed,search_book, requisituion_ist)
2.Transaction (Attributes: student_id, book_id,staff_idFunctions: borrow_book, return_book
Extended functions: search_student,search_staff, search_book)
3.Registration (Attributes:student_name,student_rollno,student_id,Staff_name, staff_designation,
staff_id)Functions: register_student, register staff Extended Function: login,
login_failed,search_student, search_staff, search_unsuccessful)
4.Report (Attributes : book_id , student_id,date_of_returnFunctions: defaulters_list,
borrower_listrequisition_listExtended Functions: login, login_failed)
5.Search (Attributes: student_id,book_id,staff_idFunctions: login, login_failed,
search_book,search_student, search_staff, search_unsuccessful)
6.Administrator (Attributes: name, administrator_idExtended Functions: login, register,
search,transaction, report)
7.Staff (Attributes : name, staff_idExtended Functions: login, register, search, view)
8.Student (Attributes: name, student_idFunctions: login, search)
9.Login (Attributes: student_id,administrator_id,staff_id,Password,Functions: login,
login_failedExtended Functions: register_student,regisater_staff)
10.View/Edit (Attributes: student_id,staff_id,administrator_idFunctions: view_student,
edit_student,view_book, edit_book, view_staff, edit_staff,Extended Functions: login,
login_failed,search_student, search_book, search_staff,search_unsuccessful)

Use Cases-
1.Use Case #1 Registration
Primary Actors: Administrator, Staff Pre- Condition: The student should have a valid college
membership document which contains his name, date_of_birth, course, rollno to obtain library
membership. The same criteria apply for registration of library and other staff members
including the administrator.
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)
Software Engineering(22413)

Exercise
1. Draw use-case diagram using software Modeling Tool.(Assigned Project)
2. Describe data objects and data attributes.
3. what are the characteristics of good design.
Software Engineering(22413)
Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.6
Aim: Develop data design using DFDs, Decision tables and E-R diagram.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Use software modeling to create data designs.

Practical Outcomes (PrOs)


Develop data design using DFDs, Decision tables and E-R diagram.

Relevant Affective domain related Outcomes


1. Follow safety practice.
2. Practice good housekeeping.
3. Demonstrate working as a leader/ a team member.
4. Follow ethical practice.

Introduction
Data flow diagram is graphical representation of flow of data in an information system. It is
capable of depicting incoming data flow, outgoing data flow and stored data. The DFD does not
mention anything about how data flows through the system.
There is a prominent difference between DFD and Flowchart. The flowchart depicts flow of
control in program modules. DFDs depict flow of data in the system at various levels. DFD does
not contain any control or branch elements.

Types of DFD
Data Flow Diagrams are either Logical or Physical.
● Logical DFD - This type of DFD concentrates on the system process, and flow of data in
the system.For example in a Banking software system, how data is moved between
different entities.
Software Engineering(22413)
● Physical DFD - This type of DFD shows how the data flow is actually implemented in
the system. It is more specific and close to the implementation.
DFD Components
DFD can represent Source, destination, storage and flow of data using the following set of
components -

● Entities - Entities are source and destination of information data. Entities are represented
by a rectangles with their respective names.
● Process - Activities and action taken on the data are represented by Circle or Round -
edged rectangles.
● Data Storage - There are two variants of data storage - it can either be represented as a
rectangle with absence of both smaller sides or as an open-sided rectangle with only one
side missing.
● Data Flow - Movement of data is shown by pointed arrows. Data movement is sho wn
from the base of arrow as its source towards head of the arrow as destination.

Levels of DFD
Level 0 - Highest abstraction level DFD is known as Level 0 DFD, which depicts the entire
information system as one diagram concealing all the underlying details. Level 0 DFDs are also
known as context level DFDs.

Level 1 - The Level 0 DFD is broken down into more specific, Level 1 DFD. Level 1 DFD
depicts basic modules in the system and flow of data among various modules. Level 1 DFD also
mentions basic processes and sources of information.
Software Engineering(22413)

Level 2 - At this level, DFD shows how data flows inside the modules mentioned in Level 1.

Higher level DFDs can be transformed into more specific lower level DFDs with deeper level of
understanding unless the desired level of specification is achieved.

Decision Tables
A Decision table represents conditions and the respective actions to be taken to address them, in
a structured tabular format.
It is a powerful tool to debug and prevent errors. It helps group similar information into a single
table and then by combining tables it delivers easy and convenient decision-making.
Creating Decision Table
To create the decision table, the developer must follow basic four steps:
● Identify all possible conditions to be addressed
● Determine actions for all identified conditions
● Create Maximum possible rules
● Define action for each rule
Decision Tables should be verified by end-users and can lately be simplified by eliminating
duplicate rules and actions.
Example
Let us take a simple example of day-to-day problem with our Internet connectivity. We begin by
identifying all problems that can arise while starting the internet and their respective possible
solutions.
We list all possible problems under column conditions and the prospective actions under
column Actions.
Software Engineering(22413)

Conditions/Actions Rules

Conditions Shows Connected N N N N Y Y Y Y

Ping is Working N N Y Y N N Y Y

Opens Website Y N Y N Y N Y N

Actions Check network cable X

Check internet router X X X X

Restart Web Browser X

Contact Service provider X X X X X X

Do no action

Table : Decision Table – In-house Internet Troubleshooting

Entity-Relationship Model
Entity-Relationship model is a type of database model based on the notion of real world entities
and relationship among them. We can map real world scenario onto ER database model. ER
Model creates a set of entities with their attributes, a set of constraints and relation among them.
ER Model is best used for the conceptual design of database. ER Model can be represented as
follows :

● Entity - An entity in ER Model is a real world being, which has some properties called
attributes. Every attribute is defined by its corresponding set of values, called domain.
● For example, Consider a school database. Here, a student is an entity. Student has
various attributes like name, id, age and class etc.
Software Engineering(22413)
● Relationship - The logical association among entities is called relationship.
Relationships are mapped with entities in various ways. Mapping cardinalities define the
number of associations between two entities.
● Mapping cardinalities:
○ one to one
○ one to many
○ many to one
○ many to many

LIBRARY MANAGEMENT SYSTEM


Software Engineering(22413)

ER DIAGRAM
Software Engineering(22413)

Exercise
1. DEfine rules for designing DFD.
2. List and draw ER diagram symbols and notation.
3. Draw DFD diagram for assigned project.
4. Write Benefits of ER diagrams.
Software Engineering(22413)

Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.7
Aim: Write test cases to validate requirements of assigned project from SRS document.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Prepare software requirement specification.

Practical Outcomes (PrOs)


Write test cases to validate requirements of assigned project from SRS document.

Relevant Affective domain related Outcomes


1. Follow safety practice.
2. Practice good housekeeping.
3. Demonstrate working as a leader/ a team member.
4. Follow ethical practice.

Introduction
What are the requirements of library management system?
1. User able to register and login.
2. User can search the added books, and check in or out.
3. User can pay the fine or extend the duration of borrowed period.
4. User can change the password and other profile details.
5. User can add the books.
6. User can place the holds and modify existing holds.
7. User can manage the inventory of the books.
These are some of the common features expected from the library management system. So you
now have some test scenarios to check for. In addition to these test scenarios, you have GUI
based software to check for the bugs, usability and functionality.

Testing Login of Library System


● Check if the username field accepts valid username and password field accepts valid
password.
Software Engineering(22413)
● Check if the wrong username and valid password allows access to any specific account.
● Check if the valid username and wrong password allows access to any specific account.
● Check if the invalid credentials open the random account.

Testing User Management


You can also check the transactions of the member and also search for the member.
● Check if the member can be searched using the firstname or lastname.
● Check if the member transactions are updated.
● Check if the user data can be modified if you are admin.
● Check if the user can be removed using delete member feature.

Testing Search system of Library


Search system should allow you to search for either member profiles or books.
Check if the search function allows searching of books as per title, ISBN, author, genre or all of
the criteria.
● Check if the search filter exists as per – books, cds, magazines, videos and software or all
of them.
● Check if the search filter has categories feature.

Testing Library Resources Inventory


Library has the resources system where you can either search for the books available or you can
add or remove the books in the system. This tab should have the resources like books,
magazines, courseware, CDs or other resources.
● Check if the resources can be searched using the search feature.
● Check if you can add the resource using type, and other categorized information.
● Check if you can modify or edit the resource.
● Check if you can save the resource information.
● Check if you can add category for the resource.
● Check each field for the limit of the text fields and also valid input for the form.

Test Cases For Library Management System


LOGIN FORM:

SL.No Test Case Excepted Result Test Result

1 Enter valid name and Software should display main window Successful
password & click on login
button

2 Enter invalid Software should not display main window successful


Software Engineering(22413)
BOOK ENTRY FORM:

SL.No Test Case Excepted Result Test Result

1 On the click of At first user have to fill all fields with proper data , if successful
ADD button any Error like entering text data instead of number or
entering number instead of text..is found then it gives
proper message otherwise Adds Record To the Database

2. On the Click of This deletes the details of book by using Accession no. Successful
DELETE Button

3. On the Click of Modified records are Updated in database by clicking Successful


UPDATE Button UPDATE button.

4. On the Click of Displays the Details of book for entered Accession no. Successful
SEARCH Button Otherwise gives proper Error message.

5. On the Click of Clears all fields Successful


CLEAR Button

6. On the Click of Exit the current book details form successful


EXIT button

7. On the Click of Display the next form successful


NEXT button

USER ACCOUNT FORM:


SL. Test Case Excepted Result Test Result
No

1 On the click of ADD At first user have to fill all fields with proper data , if successful
button any Error like entering text data instead of number or
entering number instead of text..is found then it gives
proper message otherwise Adds Record To the Database

2. On the Click of This deletes the details of student by using Register no. Successful
Software Engineering(22413)
DELETE Button

3. On the Click of Modified records are Updated in database by clicking Successful


UPDATE Button UPDATE button.

4. On the Click of Displays the Details of book for entered Register no. Successful
SEARCH Button Otherwise gives proper Error message.

5. On the Click of Clears all fields Successful


CLEAR Button

6. On the Click of EXIT Exit the current book details form successful
button

7. On the Click of Display the next form successful


NEXT button

BOOK ISSUE FORM:

SL. Test Case Excepted Result Test Result


No

1 On the click of ADD button At first user have to fill all fields with proper successful
data ,if the accession number book is already
issued then it will giving proper msg.

2. On the Click of DELETE This deletes the details of book by using Successful
Button Register no.

3. On the Click of UPDATE Modified records are Updated in database by Successful


Button clicking UPDATE button.

4. On the Click of SEARCH Displays the Details of issued Successful


Button book..Otherwise gives proper Error message.

5. On the Click of CLEAR Button Clears all fields Successful

6. On the Click of EXIT button Exit the current book details form successful
Software Engineering(22413)
7. On the Click of NEXT button Display the next form successful

BOOK RETURN FORM:

SL. Test Case Excepted Result Test Result


No

1 On the click of At first user have to fill all fields with proper data , if successful
ADD button any Error like entering text data instead of number or
entering number instead of text..is found then it gives
proper message otherwise Adds Record To the Database

2. On the Click of Which deletes the details of book by using Register no. Successful
DELETE Button

3. On the Click of Modified records are Updated in database by clicking Successful


UPDATE Button UPDATE button.

4. On the Click of Displays the Details of returned book … Otherwise Successful


SEARCH Button gives proper Error message.

5. On the Click of Clears all fields Successful


CLEAR Button

6. On the Click of Exit the current book details form successful


EXIT button

7. On the Click of Display the next form successful


NEXT button

Exercise
1. List 4 objectives of testing.
2. Define testing and list types of testing.
3. Explain validation testing.
4. Define test case.
5. Write Test Case for assigned project.
Software Engineering(22413)

Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.8
Aim: Evaluate size of the project using function point metric for the assigned project.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
Engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Estimate size and cost of software product.

Practical Outcomes (PrOs)


Evaluate size of the project using function point metric for the assigned project.

Relevant Affective domain related Outcomes


5. Follow safety practice.
6. Practice good housekeeping.
7. Demonstrate working as a leader/ a team member.
8. Follow ethical practice.

Introduction
A function point (FP) is a component of software development which helps to approximate the
cost of development early in the process. It is a process which defines the required functions and
their complexity in a piece of software in order to estimate the software's size and scope upon
completion.
A function point calculates software size with the help of logical design and performance of
functions as per user requirements. It also helps in determining the business f unctionality of a
software application. A function point has a number of benefits, including increase in
productivity and reduction in the risk of inflation of created code. Function points can be derived
from software’s requirements and can be estimated in the early phases of software development,
before the actual lines of code can be determined. The number of function points in a code
depends on function complexity.
How to calculate FP?
The data for following information domain characteristics are collected:
1. Number of user inputs- Each user input which provides distinct application data to the sof tware
is counted.
Software Engineering(22413)
2. Number of user outputs- Each user output that provides application data to the user is counted,
e.g. Screens, reports, error messages.
3. Number of User inquiries – An on-line inputs that results in the generation of some immediate
software response in the form of an output.
4. Number of files- Each logical master file, i.e. a logical grouping of data that may be part of
database.
5. Number of external interfaces – All machine –readable interfaces that are used to transmit
information to another system are counted.

The organization needs to develop criteria which determine whether a particular entry is simple,
average or complex.
The weighting factor should be determined by observation or by experiments.
Measurement Weighting Factor
Count Count
parameter * Simple Average Complex
Number of user
* 3 4 6
inputs
Number of user
* 4 5 7
outputs
Number of User
inquiries
* 3 4 6

Number of files * 7 10 15
Number of
external interfaces
* 5 7 10

Count Total

Productivity= FP/person-month
Cost per FP= labor rate/ productivity
Total estimated project cost= Cost per FP * FP
Assume Library Management software has produced following result:
1. Number of user inputs- 7
2. Number of user outputs- 10
3. Number of User inquiries – 6
4. Number of files- 17
5. Number of external interfaces- 4
Input and external interface function point attributes are of average complexity and all other
function points attributes are of low complexity.
Software Engineering(22413)
Determine adjusted function points assuming complexity adjusted value is ∑ (f i) =32.
Let us calculate
Measurement Weighting Factor
Count Count
parameter * Simple Average Complex
Number of
7 * 4 28
user inputs
Number of
10 * 4 40
user outputs
Number of
User 6 * 3 18
inquiries
Number of
files
17 * 7 119

Number of
external 4 * 7 28
interfaces
Count Total 233

Function Point= Count Total * [0.65+0.01*∑ (Fi)]


=233*[0.65+0.01*32]
=233*0.97
=226.01
Estimated efforts= 30 person-month
Labor rate = 8000 per month
Productivity= FP/person-month = 226.01/30= 7.5
Cost per FP= labor rate/ productivity = 8000/7.5= 1067
Total estimated project cost= Cost per FP * FP = 1067*226.01= 24, 1200 (approximate)

Exercise
1. List Advantages and Disadvantages of FP.
2. Evaluate size of the project using Function point metric for the assigned project.
Software Engineering(22413)
Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.9
Aim: Estimate the cost of the project using COCOMO/COCOMO II approach for the assigned
project.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Estimate size and cost of software product.

Practical Outcomes (PrOs)


Estimate the cost of the project using COCOMO/COCOMO II approach for the assigned project.

Relevant Affective domain related Outcomes


9. Follow safety practice.
10. Practice good housekeeping.
11. Demonstrate working as a leader/ a team member.
12. Follow ethical practice.
Software Engineering(22413)
Introduction
The Constructive Cost Model (COCOMO) is a procedural cost estimate model for software
projects that was created by Barry Boehm in the 1970s. It has been commonly used to project
costs for a variety of projects and business processes.

Examples
Suppose size is 200 KLOC,
Organic „ 2.4(200)1.05 = 626 staff-months „
Semi-Detached „ 3.0(200)1.12 = 1,133 staff-months „
Embedded „ 3.6(200)1.20 = 2,077 staff-months
Software Engineering(22413)

Example „
Picking up from the last example, „
Organic „
E = 626 staff months
TDEV = 2.5(626)0.38 = 29 months
Semi-detached „
E = 1,133 „
TDEV = 2.5(1133)0.35 = 29 months „
Embedded „
E = 2077
TDEV = 2.5(2077)0.32 = 29 months

Library Management System


Organic Type of Software
LOC: 32000
Salary of engineers: 15000/-
Efforts=2.4*(32)1.05 = 91PM
Development time=2.5*(91)0.38= 14 months
Cost required to develop the product =14* 15000= 210,000/-

Exercise
1. What is cost estimation?
2. Estimate the cost of the project by using COCOMO Model for the assigned project?
Software Engineering(22413)
Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.10
Aim: Use CPM/ PERT for scheduling the assigned project.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Apply project management and quality assurance principles in software development.

Practical Outcomes (PrOs)


Use CPM/ PERT for scheduling the assigned project.

Relevant Affective domain related Outcomes


13. Follow safety practice.
14. Practice good housekeeping.
15. Demonstrate working as a leader/ a team member.
16. Follow ethical practice.
Software Engineering(22413)
Introduction
Critical path is the sequential activities from start to the end of a project. Although many
projects have only one critical path, some projects may have more than one critical paths
depending on the flow logic used in the project.
If there is a delay in any of the activities under the critical path, there will be a delay of the
project deliverables. Most of the times, if such delay is occurred, project acceleration or re -
sequencing is done in order to achieve the deadlines.
Critical path method is based on mathematical calculations and it is used for scheduling project
activities. This method was first introduced in 1950s as a joint venture between Remington
Rand Corporation and DuPont Corporation.
The initial critical path method was used for managing plant maintenance projects. Although the
original method was developed for construction work, this method can be used for any project
where there are interdependent activities. In the critical path method, the critical activities of a
program or a project are identified. These are the activities that have a direct impact on the
completion date of the project.

Key Steps in Critical Path Method


Let's have a look at how critical path method is used in practice. The process of using critical
path method in project planning phase has six steps.
Step 1: Activity specification
You can use the Work Breakdown Structure (WBS) to identify the activities involved in the
project. This is the main input for the critical path method.
In activity specification, only the higher-level activities are selected for critical path method.
When detailed activities are used, the critical path method may become too complex to manage
and maintain.
Step 2: Activity sequence establishment
In this step, the correct activity sequence is established. For that, you need to ask three questions
for each task of your list.
• Which tasks should take place before this task happens.
• Which tasks should be completed at the same time as this task.
• Which tasks should happen immediately after this task.
Software Engineering(22413)
Step 3: Network diagram
Once the activity sequence is correctly identified, the network diagram can be drawn (refer to
the sample diagram above).
Although the early diagrams were drawn on paper, there are a number of computer softwares,
such as Primavera, for this purpose nowadays.
Step 4: Estimates for each activity
This could be a direct input from the WBS based estimation sheet. Most of the companies use
3-point estimation method or COCOMO based (function points based) estimation methods f or
tasks estimation.
You can use such estimation information for this step of the process.
Step 5: Identification of the critical path
For this, you need to determine four parameters of each activity of the network.
• Earliest start time (ES) - The earliest time an activity can start once the previous
dependent activities are over.
• Earliest finish time (EF) - ES + activity duration.
• Latest finish time (LF) - The latest time an activity can finish without delaying
the project.
• Latest start time (LS) - LF - activity duration.
The float time for an activity is the time between the earliest (ES) and the latest (LS) start time
or between the earliest (EF) and latest (LF) finish times.
During the float time, an activity can be delayed without delaying the project finish date.
The critical path is the longest path of the network diagram. The activities in the critical path
have an effect on the deadline of the project. If an activity of this path is delayed, the project
will be delayed.
In case if the project management needs to accelerate the project, the times for critical path
activities should be reduced.
Step 6: Critical path diagram to show project progresses
Critical path diagram is a live artefact. Therefore, this diagram should be updated with actual
values once the task is completed.
This gives more realistic figure for the deadline and the project management can know whether
they are on track regarding the deliverables.
Advantages of Critical Path Method
Following are advantages of critical path methods:
• Offers a visual representation of the project activities.
• Presents the time to complete the tasks and the overall project.
• Tracking of critical activities.
Conclusion
Critical path identification is required for any project-planning phase. This gives the project
management the correct completion date of the overall project and the flexibility to float
activities.
A critical path diagram should be constantly updated with actual information when the project
progresses in order to refine the activity length/project duration predictions.
Software Engineering(22413)
PERT (Program Evaluation and Review Technique) is one of the successful and proven
methods among the many other techniques, such as, CPM, Function Point Counting, Top-Down
Estimating, WAVE, etc.PERT was initially created by the US Navy in the late 1950s. The pilot
project was for developing Ballistic Missiles and there have been thousands of contractors
involved.After PERT methodology was employed for this project, it actually ended two years
ahead of its initial schedule.
The PERT Basics
At the core, PERT is all about management probabilities. Therefore, PERT involves in many
simple statistical methods as well.Sometimes, people categorize and put PERT and CPM
together. Although CPM (Critical Path Method) shares some characteristics with PERT, PERT
has a different focus.Same as most of other estimation techniques, PERT also breaks down the
tasks into detailed activities.
Then, a Gantt chart will be prepared illustrating the interdependencies among the activities.
Then, a network of activities and their interdependencies are drawn in an illustrative manner.In
this map, a node represents each event. The activities are represented as arrows and they are
drawn from one event to another, based on the sequence.Next, the Earliest Time (TE) and the
Latest Time (TL) are figured for each activity and identify the slack time for each activity.
The Three Chances
There are three estimation times involved in PERT; Optimistic Time Estimate (TOPT), Most
Likely Time Estimate (TLIKELY), and Pessimistic Time Estimate (TPESS).
Following are further details on each estimate:
1. TOPT
This is the fastest time an activity can be completed. For this, the assumption is made that all
the necessary resources are available and all predecessor activities are completed as planned.
2. TLIKELY
Most of the times, project managers are asked only to submit one estimate. In that case, this is
the estimate that goes to the upper management.
3. TPESS
This is the maximum time required to complete an activity. In this case, it is assumed that many
things go wrong related to the activity. A lot of rework and resource unavailability are assumed
when this estimation is derived.
The PERT Mathematics
BETA probability distribution is what works behind PERT. The expected completion time (E)
is calculated as below:
E =(TOPT +4 x TLIEKLY + TPESS)/6
Conclusion
The best thing about PERT is its ability to integrate the uncertainty in project times estimations
into its methodology. Using PERT, project managers can have an idea of the possible time
variation for the deliveries and offer delivery dates to the client in a safer manner.
Software Engineering(22413)

Library Management System


CPM
Task T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12
Duration ( 8 15 15 10 10 5 20 25 15 15 7 10
DAYS)
Depende - - T1 - T2, T1, T3 T4 T3, T5, T9 T11
ncies T4 T2 T6 T7

PERT
Given data
TOPT= 30
TLIKELY = 45
TPESS =60
Then

E =(TOPT +4 x TLIEKLY + TPESS)/6


E= (30+4*45+60)/6
=270/6
E = 45 days

Exercise
3. Differentiate between PERT and CPM.
4. Use CPM/ PERT for scheduling the assigned project.
Software Engineering(22413)
Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)
Software Engineering(22413)

Experiment No.11
Aim: Prepare SQA plan to facilitate various attributes of quality of process.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Apply project management and quality assurance principles in software development.

Practical Outcomes (PrOs)


Prepare SQA plan to facilitate various attributes of quality of process.

Relevant Affective domain related Outcomes


17. Follow safety practice.
18. Practice good housekeeping.
19. Demonstrate working as a leader/ a team member.
20. Follow ethical practice.
Software Engineering(22413)
Software Quality Assurance Activities
1. Create a SQA plan.
A SQA plan is developed while planning the project. Quality assurance activities are conducted
that are indicated in this plan. This plan basically
identifies evaluations to be performed.
Audits and reviews to be performed, standards that should be adopted for the project.
Procedures for error reporting and tracking.
It also specifies documents to be produced by SQA group.
Amount of feedback provided to the software project team.

2. Participates in description of software process


The process selected by the software team is reviewed by the SQA group. This review is for
Process description to ensure that it follows the organizational policy.
Internal software standards.
Some standards that are adopted by the organization

3. Reviews software engineering activities.


The SQA group identifies and documents the processes. The group also verifies the correctness of
software process.

4. Authenticate designated software products.


The SQA group performs following tasks -
Reviews selected work product work
Identifies the process
Documents them
Tracks deviations
Verifies the correctness made in the processes
Regular reporting of results of its work to the project manager.

5. Ensure the deviations in software work. Document work product


The deviations in software work are identified from project plan. These processes are identified
and handle according to documented procedure.

6. Identify any noncompliance and reports to senior management resolved.


Non compliance items are identified and pursued until they get resolved. The periodic reporting
About it is done to project manager.

Exercise
1. What is Quality Control?
2. What is Quality Assurance?

Resources required and used


Software Engineering(22413)

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)

Experiment No.12
Software Engineering(22413)

Aim: Prepare SQA plan to facilitate various attributes of quality of product.

Relevant Program Outcomes (POs)


• Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the broad-based Computer engineering problem
• Discipline knowledge: Apply Computer engineering discipline - specific knowledge to
solve core computer engineering related problems.
• Experiments and practice: Plan to perform experiments and practices to use the results to
solve broad-based Computer engineering problems.
• Engineering tools: Apply relevant Computer technologies and tools with an
understanding of the limitations.
• Individual and team work: Function effectively as a leader and team member in diverse/
multidisciplinary teams.
• Communication: Communicate effectively in oral and written form.

Relevant Course Outcomes (COs)


Apply project management and quality assurance principles in software development.

Practical Outcomes (PrOs)


Prepare SQA plan to facilitate various attributes of quality of product

Relevant Affective domain related Outcomes


21. Follow safety practice.
22. Practice good housekeeping.
23. Demonstrate working as a leader/ a team member.
24. Follow ethical practice.

Software Quality Assurance Plan


1. Introduction
This document explains the Software Quality Assurance Plan (SQAP) for ____________
________project. The project is to develop an application in ________.

1.1 Purpose
Software Quality Assurance Plan (SQAP) consists of those procedures, techniques and tools
used to ensure that a product meets the requirements specified in software requirements
specification.

1.2 Scope
The scope of this document is to outline all procedures, techniques and tools to be used for
quality assurance of this project.
This plan:
· Identifies the SQA responsibilities of the project developer and the SQA consultant
Software Engineering(22413)
· Lists the activities, processes, and work products that the SQA consultant will review and
audit
· Identifies the SQA work products

1.3 Reference Documents

Link of Site

1.4 Overview of the Document


The rest of the document is organized as follows:
Management: A description of each major element of the organization and a description of the
SQA tasks and their relationships
Documentation: Identification of the documents related to development, verification, validation,
use and maintenance of the software.
SQAP Requirements: This section defines the SQA review, reporting, and auditing procedures
used to ensure that software deliverables are developed in accordance with this plan and the
project’s requirements.
Training: This section describes the training program for the developer.

2 Management

2.1 Organization
This application is developed for college. Instead of doing library work manually, this sof tware
helps to do work accurately within less time. Librarian plays an important role in this
application.

2.2 Roles
Product manager:__________
Developer: _________
Tester: _____________

2.3 Tasks and Responsibilities


The responsibilities of the developer are as follows:
· Develop the requirement specification and cost estimation for the project
· Develop the design plan and test plan for testing the tool
· Implement and test the application and deliver the application along with the necessary
documentation
· Give a formal presentation to the committee on completion of the analysis, design and
testing phases. The committee reviews the developer’s work and provides
feedback/suggestions.
· Planning, coordinating, testing and assessing all aspects of quality issues.
The responsibilities of the committee members are to:
· Review the work performed by the developer
· Provide feedback and advice

2.4 SQA Implementation in different phases


Software Engineering(22413)
Quality assurance will be implemented through all the software life cycles of the tool’s
development process, until the release of the software product. The following are the quality
assurance tasks for each phase of the software development:

Requirements phase: When the SRS is being developed, the developer has to ensure that it
elucidates the proposed functionality of the product and to keep refining the SRS until the
requirements are clearly stated and understood.

Specification and Design phase: Due to the great importance for accuracy and completeness in
these documents, weekly reviews shall be conducted between the developer and the professor to
identify any defects and rectify them.

Implementation phase: The developer shall do code reviews when the construction phase of the
Tool begins.

Software testing phase: The developer shall test each case. The final product shall be verified
with the functionality of the software as specified in the Software Requirements Specif ication
(SRS) for the Tool.
Through all these phases of the software development, the following shall also be conducted to
improve the software quality:
Develop and generate SQAP: Generate a finalized SQAP plan
Communication and Feedback: The developer is encouraged to freely express
disagreements, suggestions and opinions about all aspects of the weekly process of
software development.
Internal audits and evaluations: The Major professor and the committee are expected to do
auditions and evaluations at the end of each phase in the project.

3 Documentation
In addition to this document, the essential documentation will include:
The Software Requirements Specification (SRS), which
· Prescribes each of the essential requirements (functions, performances, design constraints
and attributes) of the software and external interfaces
·Objectively verifies achievement of each requirement by a prescribed method (e.g.
Inspection, analysis, demonstration or test)
·Facilitates traceability of requirements specification to product delivery.
·Gives estimates of the cost/effort for developing the product including a project plan.

The Formal Specification Document, which gives the formal description of the product design
specified in Object Constraint Language (OCL).

The Software Design Description (SDD)


· Depicts how the software will be structured
· Describes the components and sub-components of the software design, including
various packages and frameworks, if any.
· Gives an object model that is developed using Rational Rose highlighting the essential
classes that would make up the product.
· Gives a sample interaction diagram, showing the key interactions in the application.
This should also be a part of the object model.
Software Engineering(22413)

Software Test Plan: Describes the test cases that will be employed to test the product.

Software User Manual (SUM)


· Identify the required data and control inputs, input sequences, options, program limitations
or other actions.
· Identify all error messages and describe the associated corrective actions.
· Describe a method for reporting user-identified errors.
· Documented Source Code.
The following documents will be provided at the end of each phase by the developer:
Phase 1: Objectives
· Project Overview
· Requirements Specification
· Cost analysis
· Project plan
· Software quality assurance plan
Phase 2: Architecture
· Implementation Plan
· Formal Requirement Specification
· Architecture design
· Test plan
Phase 3: Implementation
· User Manual
· Assessment Evaluation
· Project Evaluation
· Formal Technical Inspection Letters
Appendix
· Source code

4 SQA Program Requirements

4.1 Standards
· Coding Documents standards – Java Documentation
· Test Standards – IEEE Standard for software test documentation

4.2 Metrics
· LOC - lines of code is used to measure the size of the software

4.3 Software Documentation Audit


Quality Assurance for this project will include at least one review of all current work products in
each stage of development (Requirement, Design, and Implementation). The reviews will assure
that the established project processes and procedures are being followed effectively, and
exposures and risks to the current project plan are identified and addressed. The review process
includes:
· A formal presentation at the end of each development phase (Requirement, Design and
Implementation). All current work products are presented to the committee members f or
review.
Software Engineering(22413)
· A managerial review by the advisor periodically to ensure the work generated is in
compliance with project requirements.
· Reviews by the committee after each presentation.

4.4 Requirements Traceability


The SRS will be used to check off the deliverables. The Project Review will ensure that each of
the requirements mentioned in the SRS is met by the deliverables.

4.5 Software Development Process


The software development process involves three stages: 1) Requirements phase, 2) Design
phase (this phase also involves the development of the product prototype and 3) Implementation
and testing phase. During each phase, the Major Professor and the committee will review the
deliverable documents. The developer would incorporate modifications suggested by the
committee. This would ensure quality of the software product.

4.6 Project Reviews


The Committee will perform a review at the 3 stages of the project as described in the section
above. This review will determine whether the requirements have been met for the deliverable,
check that the product meets the requirements, ensure that the SQA plan has been adhered to,
verify the performance of the software and ensure that acceptance testing is carried o ut. In
addition the developer will conduct a Formal Technical Review after the design phase. A design
checklist will be used and the developer will check to see whether his/her design meets the
checklist criteria.

4.7 Testing and Quality Check


Testing will be carried out in accordance with the Software Testing Plan (STP). Testing
documentation will be sufficient to demonstrate that testing objectives and software requirements
have been met. Test results will be documented and discussed in the final phas e of the
project.

Exercise
1. Explain CMMI Levels.
2. Explain Six Sigma core steps of DMAIC.
Software Engineering(22413)
Resources required and used

Sr.No. Equipment Name with Broad Specification Remark if any

1 Hardware: Personal Computer (i3-i5),RAM minimum 2GB

2 Operating System: Windows 7/ LINUX

3 Software Tools: Any UML tool

S.No. Performance Indicators Weightage in %


Process Related (40) 80%
1 Problem Selection and its feasibility study 20
2 Logical Thinking to decompose problem into modules 30
3 Ability to Estimate size and cost of a software 30
Product Related (10) 20%
4 Presentation and technical documentation skills 10
5 Submission of reports within time 10
Total(50 Marks) 100%

Marks Obtained Dated signature of Teacher


Process Related (40) Product Related (10) Total(50)

You might also like