SEN - Old Manual For Reference
SEN - Old Manual For Reference
(22413)
CO4I
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.
Seal of the
Institute
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.
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.
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)
Experiment No.2
Aim: Select relevant process model to define activities and related tasks set for assigned project.
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.
● 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
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)
Experiment No.3
Aim: Gather application specific requirements for assimilate into RE (Requirement engineering)
model.
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
Experiment No.4
Aim: Prepare broad SRS for the above selected project.
Characteristics of SRS
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.
Exercise
1. What is SRS.
2. Explain importance of SRS.
3. Prepare SRS (Assigned Project)
Software Engineering(22413)
Resources required and used
Experiment No.5
Aim: Prepare use-cases and draw use-case diagram using software Modeling Tool.
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
Experiment No.6
Aim: Develop data design using DFDs, Decision tables and E-R diagram.
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
Ping is Working N N Y Y N N Y Y
Opens Website Y N Y N Y N Y N
Do no action
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
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)
Experiment No.7
Aim: Write test cases to validate requirements of assigned project from SRS document.
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.
1 Enter valid name and Software should display main window Successful
password & click on login
button
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
4. On the Click of Displays the Details of book for entered Accession no. Successful
SEARCH Button Otherwise gives proper Error message.
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
4. On the Click of Displays the Details of book for entered Register no. Successful
SEARCH Button Otherwise gives proper Error message.
6. On the Click of EXIT Exit the current book details form successful
button
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.
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
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
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)
Experiment No.8
Aim: Evaluate size of the project using function point metric for the assigned project.
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
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
Experiment No.9
Aim: Estimate the cost of the project using COCOMO/COCOMO II approach for the assigned
project.
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
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
Experiment No.10
Aim: Use CPM/ PERT for scheduling the assigned project.
PERT
Given data
TOPT= 30
TLIKELY = 45
TPESS =60
Then
Exercise
3. Differentiate between PERT and CPM.
4. Use CPM/ PERT for scheduling the assigned project.
Software Engineering(22413)
Resources required and used
Experiment No.11
Aim: Prepare SQA plan to facilitate various attributes of quality of process.
Exercise
1. What is Quality Control?
2. What is Quality Assurance?
Experiment No.12
Software Engineering(22413)
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
Link of Site
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: _____________
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).
Software Test Plan: Describes the test cases that will be employed to test the product.
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
Exercise
1. Explain CMMI Levels.
2. Explain Six Sigma core steps of DMAIC.
Software Engineering(22413)
Resources required and used