100% found this document useful (1 vote)
4K views73 pages

JNTUA Software Engineering Lab Manual R20

The document describes the syllabus for the Software Engineering Lab course at Jawaharlal Nehru Technological University Anantapur. It lists 20 experiments related to software development processes like requirements gathering, design, testing, and metrics. The experiments involve activities such as creating work breakdown structures, use case diagrams, risk analysis, project planning, and designing and developing programs to apply software engineering concepts.

Uploaded by

kalyanitandasi9
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
100% found this document useful (1 vote)
4K views73 pages

JNTUA Software Engineering Lab Manual R20

The document describes the syllabus for the Software Engineering Lab course at Jawaharlal Nehru Technological University Anantapur. It lists 20 experiments related to software development processes like requirements gathering, design, testing, and metrics. The experiments involve activities such as creating work breakdown structures, use case diagrams, risk analysis, project planning, and designing and developing programs to apply software engineering concepts.

Uploaded by

kalyanitandasi9
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/ 73

www.android.universityupdates.in | www.universityupdates.in | https://telegram.

me/jntua

SOFTWARE ENGINEERING LAB MANUAL

Department of Computer Science & Engineering


VEMU INSTITUTE OF TECHNOLOGY::P.KOTHAKOTA
NEAR PAKALA, CHITTOOR-517112
(Approved by AICTE, New Delhi & Affiliated to JNTUA, Anantapuramu)

SOFTWARE ENGINEERING LAB MANUAL

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

Name:___________________________________________

H.TNo: ___________________________________________

Year/Semester: ____________________________________

Department of Computer Science & Engineering

VEMU INSTITUTE OF TECHNOLOGY::P.KOTHAKOTA


NEAR PAKALA, CHITTOOR-517112
(Approved by AICTE, New Delhi & Affiliated to JNTUA, Anantapuramu)

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

INSTITUTE VISION
 To be a premier institute for professional education producing dynamic and vibrant force of
technocrats with competent skills, innovative ideas and leadership qualities to serve the society
with ethical and benevolent approach.

INSTITUTE MISSION

 To create a learning environment with state-of-the art infrastructure, well equipped laboratories,
research facilities and qualified senior faculty to impart high quality technical education.
 To facilitate the learners to foster innovative ideas, inculcate competent research and consultancy
skills through Industry-Institute Interaction.
 To develop hard work, honesty, leadership qualities and sense of direction in rural youth by
providing value based education.

QUALITY

Vemu Institute of Technology is committed and strives to maintain the quality education through
superior teaching, rigorous training, continuous evaluation and monitoring.

OBJECTIVES

 To become a highly reputed technical institution.


 To establish departments of excellence.
 To promote research and developmental activities in technical areas that are useful for the
society.
 To establish industry interface and bridge the gap between industry and academics.
 To continuously improve its teaching – learning methods.

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

Course Objectives:

 To learn and implement the fundamental concepts of Software Engineering.


 To explore functional and non-functional requirements through SRS.

 To practice the various design diagrams through the appropriate tool.

 To learn to implement various software testing strategies.

Course Outcomes (CO):

CO1: Acquaint with historical and modern software methodologies

CO2: Understand the phases of software projects and practice the activities of each phase

CO3: Practice clean coding

CO4: Take part in project management

CO4:Adopt skills such as distributed version control, unit testing, integration testing, build man
Agement, and deployment

PROGRAM OUTCOMES (POs)


PO-1: Engineering knowledge: Apply the knowledge of mathematics, science, engineering

fundamentals, and an engineering specialization to the solution of complex engineering problems.

PO-2: Problem analysis: Identify, formulate, review research literature, and analyze complex

engineering problems reaching substantiated conclusions using first principles of mathematics,

natural sciences, and engineering sciences.

PO-3: Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.

PO-4: Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.

PO-5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities
with an understanding of the limitations.

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

PO-6: The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the professional engineering practice.

PO-7: Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and need
for sustainable development.

PO-8: Ethics: Apply ethical principles and commit to professional ethics and responsibilities
and norms of the engineering practice.

PO-9: Individual and team work: Function effectively as an individual, and as a member
or leader in diverse teams, and in multidisciplinary settings.

PO-10: Communication: Communicate effectively on complex engineering activities


with the engineering community and with society at large, such as, being able to comprehend
and write effective reports and design documentation, make effective presentations, and give
and receive clear instructions.

PO-11: Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and
leader in a team, to manage projects and in multidisciplinary environments.

PO-12: Life-long learning: Recognize the need for, and have the preparation and ability
to engage in independent and life-long learning in the broadest context of technological change.

PROGRAM SPECIFIC OUTCOMES (PSOs)


PSO-1: Responsive to Ideas: Get an employment in Computer Science and Engineering
field and related software industries or become an entrepreneur in the domains such as DBMS,
Java, Networking, IOT, Mobile Computing, Artificial Intelligence and Cloud Computing.

PSO-2: Domain Knowledge: Get qualified in competitive exams to Pursue Higher Education
through the knowledge attained in advanced programming languages like Java,
Machine Learning, PHP, Python, Android Studio, Hadoop Framework, AWS, R and Weka etc.

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY ANANTAPUR

Syllabus for (R20 Regulations)

SOFTWARE ENGINEERING LAB (20A05403P)

S.No List of Experiments

1 Draw the Work Breakdown Structure for the system to be automated


2 Schedule all the activities and sub-activities Using the PERT/CPM charts
Define use cases and represent them in use-case document for all the stakeholders of
3
the system to be automated
Identify and analyze all the possible risks and its risk mitigation plan for the system to
4
be automated
Diagnose any risk using Ishikawa Diagram (Can be called as Fish Bone Diagram or
5
Cause & Effect Diagram)
Define Complete Project plan for the system to be automated using Microsoft Project
6 Tool
Define the Features, Vision, Business objectives, Business rules and stakeholders in
7
the vision document
Define the functional and non-functional requirements of the system to be automated
8 by using Usecases and document in SRS document
Define the following traceability matrices :
9 1. Usecase Vs. Features
2. Functional requirements Vs.Usecases
Estimate the effort using the following methods for the system to be automated:
10 1. Function point metric
2. Usecase point metric
Develop a tool which can be used for quantification of all the non-functional
11 requirements

12 Write C/C++/Java/Python program for classifying the various types of coupling.

13 Write a C/C++/Java/Python program for classifying the various types of cohesion. .


Write a C/C++/Java/Python program for object oriented metrics for design proposed
14
Chidamber and kremer . (Popularly called as CK metrics)
15 Convert the DFD into appropriate architecture styles.
16 Draw complete class diagram and object diagrams using Rational tools

17 Define the design activities along with necessary artifacts using Design Document. .
Reverse Engineer any object-oriented code to an appropriate class and object diagrams.
18
Test a piece of code which executes a specific functionality in the code to be tested and
19 asserts a certain behavior or state using Junit.

20 Test the percentage of code to be tested by unit test using any code coverage tools

Define an appropriate metrics for at least 3 quality attributes for any software application
21
of your interest.

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

Define a complete call graph for any C/C++ code. (Note: The student may use any tool that
22
generates call graph for source code)

SOFTWARE ENGINEERING INDEX


S.No List of Experiments Page No
1 Draw the Work Breakdown Structure for the system to be automated O1
2 Schedule all the activities and sub-activities Using the PERT/CPM charts 03
Define use cases and represent them in use-case document for all the stakeholders of 06
3
the system to be automated
Identify and analyze all the possible risks and its risk mitigation plan for the system to 08
4
be automated
Diagnose any risk using Ishikawa Diagram (Can be called as Fish Bone Diagram or 10
5
Cause & Effect Diagram)
Define Complete Project plan for the system to be automated using Microsoft Project 12
6 Tool
Define the Features, Vision, Business objectives, Business rules and stakeholders in the 14
7
vision document
Define the functional and non-functional requirements of the system to be automated 16
8 by using Usecases and document in SRS document
Define the following traceability matrices : 20
9 1. Usecase Vs. Features
2. Functional requirements Vs.Usecases
Estimate the effort using the following methods for the system to be automated: 22
10 1. Function point metric
2. Usecase point metric
Develop a tool which can be used for quantification of all the non-functional 25
11 requirements
12 Write C/C++/Java/Python program for classifying the various types of coupling. 27

13 Write a C/C++/Java/Python program for classifying the various types of cohesion. . 29


Write a C/C++/Java/Python program for object oriented metrics for design proposed 31
14
Chidamber and kremer . (Popularly called as CK metrics)
15 Convert the DFD into appropriate architecture styles. 33
16 Draw complete class diagram and object diagrams using Rational tools 34

17 Define the design activities along with necessary artifacts using Design Document. . 37
Reverse Engineer any object-oriented code to an appropriate class and object diagrams. 40
18
Test a piece of code which executes a specific functionality in the code to be tested and 43
19 asserts a certain behavior or state using Junit.
Test the percentage of code to be tested by unit test using any code coverage tools 45
20

Define an appropriate metrics for at least 3 quality attributes for any software 48
21
application of your interest.
Define a complete call graph for any C/C++ code. (Note: The student may use any tool 51
22
that generates call graph for source code)

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

Additional Experiments
23 Library Management system 53
24 Hospital Management System 54

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

GENERAL INSTRUCTIONS FOR LABORATORY CLASSES

DO‘S

1. Without Prior permission do not enter into the Laboratory.

2. While entering into the LAB students should wear their ID cards.

3. The Students should come with proper uniform.

4. Students should sign in the LOGIN REGISTER before entering into the laboratory.

5. Students should come with observation and record note book to the laboratory.

6. Students should maintain silence inside the laboratory.

7. After completing the laboratory exercise, make sure to shutdown the system properly

DONT‘S

1. Students bringing the bags inside the laboratory..

2. Students wearing slippers/shoes insides the laboratory.

3. Students using the computers in an improper way.

4. Students scribbling on the desk and mishandling the chairs.

5. Students using mobile phones inside the laboratory.


6. Students making noise inside the laboratory.

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

SCHEME OF EVALUATION

Marks Awarded Total


S.No Program Date Record Observation VivaVoce Attendance 30(M
(10M) (10M) (5M) (5M) )
Draw the Work Breakdown
1 Structure for the system to
be automated
Schedule all the activities
2 and sub-activities Using the
PERT/CPM charts
Define use cases and
represent them in use-case
3 document for all the
stakeholders of the system
to be automated
Identify and analyze all the
possible risks and its risk
4
mitigation plan for the
system to be automated
Diagnose any risk using
Ishikawa Diagram (Can be
5 called as Fish Bone
Diagram or Cause & Effect
Diagram)
Define Complete Project
plan for the system to be
6
automated using Microsoft
Project Tool
Define the Features,
Vision, Bussiness
7 objectives, Bussiness rules
and stakeholders in the
vision document
Define the functional and
non-functional
requirements of the system
8
to be automated by using
Usecases and document in
SRS document
Define the following
tracebility matrices :
9 1. Usecase Vs. Features
2. Functional requirements
vs.Usecases
Estimate the effort using
the following methods for
10 the system to be automated:
1. Function point metric
2. Usecase point metric.
Develop a tool which can
be used for quantification
11
of all the non-functional
requirements

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

Write C/C++/Java/Python
12 program for classifying the
various types of coupling.
Write a C/C++/Java/Python
13 program for classifying the
various types of cohesion.
Write a C/C++/Java/Python
program for object oriented
metrics for design proposed
14
Chidamber and kremer .
(Popularly called as CK
metrics)
Convert the DFD into
15 appropriate architecture
styles.
Draw complete class
diagram and object
16
diagrams using Rational
tools
Define the design activities
along with necessary
17
artifacts using Design
Document.
Reverse Engineer any
object-oriented code to an
18
appropriate class and object
diagrams.
Test a piece of code which
executes a specific
functionality in the code to
19
be tested and asserts a
certain behavior or state
using Junit.
Test the percentage of code
to be tested by unit test
20
using any code coverage
tools
Define an appropriate
metrics for at least 3 quality
21 attributes for any software
application of your
interest..
Define a complete call
graph for any C/C++ code.
22 (Note: The student may use
any tool that generate call
graph for source code)

Signature of Lab In-charge

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua

www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua


www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

SOFTWARE ENGINEERING LAB (20A05403P)

Exp-1 Work Breakdown Structure


AIM: Draw the Work Breakdown Structure for the system to be automated
Description:
A Work Breakdown Structure start with a large project or objective and breaks it down into
smaller,More manageable pieces that you can reasonably evaluate and assign to teamsRather
than focusing on individual actions that must be taken to accomplish a project, A WBS
generally focuses on deliverables or concrete measurable mile stones.These Deliverables may
also be called work packages, tasks, Subtasks,or terminal elements.A work breakdown structure
looks some thing like the following of this.

There are a number of reasons why breaking down a large project is beneficial. It helps you to.
 Estimate the cost of a project.
 Establish dependences
 Determine a project time lines and develop a schedule
 Write a Statement of work
 Assign Responsibilities and Clarity roles
 Track the progress of a project
 Identify risk
Rules to Create a work breakdown Structure
1. Include 100 % of the work necessary to complete the goal.
2. Don’t account for any amount of work twice.
3. Focus on outcomes, not actions.
4. A work package should take no less than 8 hours and no more than 80 hours of effort.
5. Include about three levels of detail.
6. Assign each work package to a specific team or individual.

VEMU INSTITUTE OF TECHNOLOGY PAGE1


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

work breakdown Structure:

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE2


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-2 Activities and Sub-activities

AIM:To Schedule all the activities and sub-activities Using the PERT/CPM charts
Description:
Program evaluation Review Technique(PERT)
A PERT chart ia a project management tool that provides a graphical representation of a
project’s timeline.The program evaluation review technique breaks down the individuals tasks
of a project for analysis.
APERT chart uses circles or rectangles called nodes to represent project events or mile
stones.These nodes are linked by vector or lines that represent various tasks.If an arrow is drawn
from Task NO.1 to Task NO.2 on a PERT chart,Task NO.1 must be completed before work ok
Task NO.2 begins.
Critical path Method(CPM)
The critical path Method(CPM) is Step by Step project Mangement technique for process
planning that defines critical and non-critical tasks with the goal of presenting time-frame
problems
In applying the CPM, there are several steps that can be summarized as follows:
1. Define the required tasks and put them down in an ordered(Sequence)list.
2. Create a flowchart or other diagram showing each task in relation to the others.
3. Identify the critical and non-critical relationships(Paths)among tasks.
4. Determine the expected-completion or execution time for each task.
5. Locate or device alternatives(backups)for the most critical paths.

VEMU INSTITUTE OF TECHNOLOGY PAGE3


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Example of using the PERT formula


You now know what is PERT and how to calculate it. Still, let's go through an example
to clear any remaining doubts.

Let's imagine you decided to build a new fence around your property and want to accurately
assess how much time you'll need to do it. Based on your daily availability, if the weather
conditions are good, you should be able to finish the projects in five days. Unfortunately, the
weather forecast predicts there might be some scattered storms in the next few days, and it looks
like the worst-case scenario is a total of nine days of work. Seven days seem the most
reasonable, accounting for some delays due to the weather, but not being overly pessimistic. So,
all in all, you have:

 An optimistic estimate O = 5 days;


 A pessimistic estimate P = 9 days; and
 A most likely estimate M = 7 days.

Let's put these numbers into the PERT formula:

PERT estimate = ( 5 + 4*7 + 9 ) / 6 = ( 5 + 28 + 9 ) / 6 = 42 /


6 = 7

The standard deviation is: SD = ( 9 - 5 ) / 6 = 4 / 6 = 0.67

According to the program evaluation and review technique estimate, you should be able to finish
your fence in 7 days, with a standard deviation of 0.67 days (which means about 16 hours).

VEMU INSTITUTE OF TECHNOLOGY PAGE4


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE5


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-3 use cases and represent them in use-case document


AIM: To define use cases and represent them in use-case document for all the stakeholders
of the system to be automated.
Description:
Usecases:
 A usecase ia a description of a set of sequences of actions ,including variants, and
various observable result of value to an actor or A usecase describes the interactions
between one of more actors and the system in order to provide an observable result of
value for the initiating actor.
 A usecase involves the interaction of actors and the system.
 A actor models an external entity which communications with the system by sending and
receiving messages.
Use case diagrams:
Use case diagram are central to modelling the behaviour of a system, or a class. Each one shows
a set of use caseand their relationships.
Use case diagram are important for visualization, specifying and documenting the behaviour of
an element
Contents:
1. Use cases
2. Actors
3. Dependency,Generalization, and association relationships
4. System boundary
Identifying Use cases:
 One of the methods to identify use cases is actor-based.
 The actors related to a system or organization is identified.
 The process,tasks,functions that are performed by each actor are identified.
 A second method to identify use cases is event-based
 The external events that a system must respond to are identified
 Relate the events to actors and use cases.
Stake Holder:
A Stakeholder is a part that has an interest in a company and can either affect or be affected by a
business.The primary stake-holders,in a typical corporation with the increasing attention on the
corporate social responsibility.

VEMU INSTITUTE OF TECHNOLOGY PAGE6


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE7


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-4 Analyze all the possible risks and its risk mitigation plan
AIM: To identify and analyze all the possible risks and its risk mitigation plan for the
system to be automated.

Description:

Risk is defined in financial terms as the change that an outcome or investments actual gains will
differ from an expected outcome or return.Risk includes the Possibility of losing some or all of
an original investment. Software development is a multistage approach of
design,documentation,programming,prototyping,testing etc, which follows a software
development Life cycle (SDLC)process.

Schedule Risks:
1. Time is not estimated perfectly
2. Improper resource allocation
3. Tracking of resources like system skill,staff etc
4. Frequent project scope expansion
5. Failure in function identification and its completion.

Budget Risk:
1. Wrong/Improper budget estimation
2. Un excepted project scope expansion
3. Mismanagement in budget handling
4. Cost overruns
5. Improper tracking of Budget

Technical Risk:
1. Frequent changes in Requirement
2. Less use of future technologies
3. Less number of skilled employee
4. High complexity in implementation

VEMU INSTITUTE OF TECHNOLOGY PAGE8


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE9


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-5 Risk using Ishikawa Diagram

AIM: To diagnose any risk using Ishikawa Diagram (Can be called as Fish Bone Diagram
or Cause & Effect Diagram).

Description:
A fishbone diagram is a visualization tool for catogirizing the potential causes of a problem.this
tool is used in order to identify a problems root causes.Typically used for root cause analysys, a
fishbone diagram combines the practice of brain storming with a type of mind map template. It
should be efficient as a test case technique to determine cause and effect.

Create a fishbone diagram:


The following steps to create the diagram:
1. The head of the fish is created by listing the problem in a statement format and drawing a
box around it. A horizontal arrow is then drawn across the page with an arrow pointing
to the head.This acts as the back bone of the fish.
2. Then atleast four overarching causes are identified that might contribute to
problem.some generic categories to start with may include
methods,skills,equipments,people,materials,environment or measurements. These causes
are then drawn to branch off from the spine with arrows,making the first bones of the
fish.

Use of a Fishbone diagram:


A few reasons a team might want to consider using a fishbone diagram are:
1. To identify the possible causes of a problem.
2. To help develop a product that addresses issues within current market offerings.
3. To reveal bottlenecks or areas of weakness in a business process.
4. To avoid reoccurring issues or employee burnt out.
5. To ensure that any corrective actions put into place will resolve the issue.

VEMU INSTITUTE OF TECHNOLOGY PAGE10


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE11


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-6 Complete Project plan for the system

AIM:To Define Complete Project plan for the system to be automated using Microsoft

Description:
Microsoft project ia a project management software Made for project manager so they can control
their projects Depending on your plan Microsoft projects lets you plan projects,assign tasks,manage
resourses make reports and more

Launch MS Project:

 Windows 7- Click on start menu, point to all programs,click Microsoft office,and then click
project 2013.
 Windows 8- On the Start screen, tap or click Project 2013.
 Windows 10- Click on Start menu → All apps → Microsoft Office → Project 2013

Step 1:Creating the Project


Step 2:General project settings
Step 3:Project start date

Here you can select alternative Calenders


 Standard
 24-hours
 Night shifts
Key project data:
 Goal:Office-Relocation
 Timeline:March-october
 Project Phases:Project preparation selection of offices,space design and finishing,physical
relocation,Building the task list
Step 1:Enter Tasks
Now enter the task for the first project phase in the tabular view
Step 2:Enter Task Duration
Now we have to talk about how the project uses those plans value to calculate the duration of your
project. When you enter foe example a duration of 12 days for a task,the task will span across 3
weeks only.

Value entered Value MS Project default value

1 month 28 to 31 days, depending on the month 160 hours (20 workdays)

1 week 7 days 40 hours (5 workdays)

1 day 24 hours 8 hours (1 workday)

1 hour 60 minutes 60 minutes

VEMU INSTITUTE OF TECHNOLOGY PAGE12


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE13


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-7 Vision, Bussiness objectives, Bussiness rules

AIM: To define the Features, Vision, Bussiness objectives, Bussiness rules and stakeholders in
the vision document

Description:
In general the vision represents the end users or customer ideas and view of the software product
to be development. In an enterpreners environment, the entrepreneur starts with an idea which
is later turned into a tangible product,service,etc some is the case with software projects,they
All start with an idea or vision related to the types of needs that might be addressed by a system
having certain features.

The vision document Template


The vision document defined by RUP(Rational unified process)includes the following sections.
Introduction
1.1 Purpose
1.2 Scope
1.3 Definition,Acronyms and Abbreviations
1.4 References
1.5 Overview
Positioning
2.1Business opportunity
2.2Problem Statement
2.3 Product position Statement
Stakeholder and user Descriptions
3.1 Market Demographics
3.2 Stakeholder Summary
3.3 User Summary
3.4 User Environment
3.5 Stake holder profiles
Product review
4.1Product perspective
4.2Summary and Capabilities
4.3Assumptions and Dependencies
4.4Cost and pricing
4.5Licensing and Installation

VEMU INSTITUTE OF TECHNOLOGY PAGE14


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE15


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-8 Functional and non-Functional requirements

AIM:To Define the functional and non-functional requirements of the system to be


automated by using Usecases and document in SRS document

Description:
The numbering requirements part discusses the functionalities required from the system.The
system considered to perform a set of high-level fuctions{f1}.The functional view of the system
is shown in fig (Online Shopping System)Each function fi of the system can be considered as a
transformation of a set of input data to the corresponding set of output devices.The user can get
some meaningful piece of work done using a High-level fuction.

Software Requirements Specification Document:


Functional and Non-functional requirements can be formalized in the functionality specification
document.The SRS contain documentation descriptions of functions and the capabilities that the
product must provide.The document also defined constraints and Assumptions.The SRS can be
single document communication functional requirements or it may accompany other cases.SRS
must include some Requirements in Software Engineering.

Purpose. Definitions, system overview, and background.


Overall description. Assumptions, constraints, business rules, and product vision.
Specific requirements. System attributes, functional requirements, database requirements.
Use cases:
Use cases describe the interaction between the system and external users that leads to achieving
particular goals.Each use case includes three main elements:
Actors. These are the users outside the system that interact with the system.
System. The system is described by functional requirements that define an intended behavior of
the product.
Goals. The purposes of the interaction between the users and the system are outlined as goals.
There are two formats to represent use cases:
 Use case specification structured in textual format
 Use case diagram
use case specification represents the sequence of events along with other information that
relates to this use case. A typical use case specification template includes the following
information:
 Description
 Pre- and Post- interaction condition
 Basic interaction path
 Alternative path
 Exception path A

VEMU INSTITUTE OF TECHNOLOGY PAGE16


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Example:

Use case specification template


A use case diagram doesn’t contain a lot of details. It shows a high-level overview of the
relationships between actors, different use cases, and the system.
The use case diagram includes the following main elements:
Use cases. Usually drawn with ovals, use cases represent different use scenarios that actors
might have with the system (log in, make a purchase, view items, etc.)
System boundaries. Boundaries are outlined by the box that groups various use cases in a
system.
Actors. These are the figures that depict external users (people or systems) that interact with the
system.
Associations. Associations are drawn with lines showing different types of relationships
between actors and use cases.

VEMU INSTITUTE OF TECHNOLOGY PAGE17


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Example:

VEMU INSTITUTE OF TECHNOLOGY PAGE18


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE19


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-9 Tracebility matrices

AIM:To Define the following tracebility matrices :


1. Usecase Vs. Features
2. Functional requirements Vs.Usecases
Description:
Once you understand user needs we translate them into features one or more features meet
one or more user needs.Features are descriptions of high level product functionality.Usually
a feature is something you print on a detailed datasheet of your product to share will your
costomers and prospective customers.

Usecases:

Use then drive one or more use cases from each feature,A use case defines how a user
achieves a goal using our product.
Use cases are a way to document a specific type of requirement called Functional
Requirements. These are many benefits to using use cases to document functional
requirements.

Functional requirements vs usecases

Functional requirements are a set of requirements,mostly in text that defines the system
functionality being developed. Use case diagram is requirements elicitation of a software
system.Both can be used and there are clear advantages in doing so. The functional
requirements can easily be used as until test cases,whereas the use cases can be used for user
acceptance and integration tests.Depending on the level of detail usecase diagram can be
used for Unit tests.

VEMU INSTITUTE OF TECHNOLOGY PAGE20


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE21


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-10 Function point metric, Usecase point metric

AIM: To Estimate the effort using the following methods for the system to be automated:
1. Function point metric
2. Usecase point metric
Description:
Functional point analysys functional point analysis in 1979 at IBM and it has been further
modified by the international function point users group.FPA is used to make estimate of the
software project, including its testing in terms of functionality or function size of the software
Product.

Objectives of FDA:
The basic and primary purpose of the functional point analysis is to measure and provide
The software application functional size to the client,customer, and the stakeholder on their
request.
The functional complexities are multiplied with the corresponding weights against each
function, and the values are added up to determine the UFP of the Subsystem.

Example:
Given the following values, compute function point when all complexity adjustment factor
(CAF) and weighting factors are average.
User Input = 50
User Output = 40
User Inquiries = 35
User Files = 6
External Interface = 4
Explanation:
Step-1: As complexity adjustment factor is average (given in question), hence,
scale = 3.

F = 14 * 3 = 42

Step-2:CAF = 0.65 + ( 0.01 * 42 ) = 1.07


Step-3: As weighting factors are also average (given in question) hence we will multiply each
individual function point to corresponding values in TABLE.
UFP = (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628

Step-4:Function Point = 628 * 1.07 = 671.96

Use-Case: It is a series of related interactions between a user and a system that enables the user
to achieve a goal.
Use-Cases are a way to capture functional requirements of a system. The user of the system is
referred to as an ‘Actor’. Use-Cases are fundamentally in text form.

VEMU INSTITUTE OF TECHNOLOGY PAGE22


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Use-Case Points – Definition: Use-Case Points (UCP) is a software estimation technique used
to measure the software size with use cases. The concept of UCP is similar to FPs.The number
of UCPs in a project is based on the following −

The number and complexity of the use cases in the system.


The number and complexity of the actors on the system.
Various non-functional requirements (such as portability, performance, maintainability)
that are not written as use cases.
The environment in which the project will be developed (such as the language, the
team’s motivation, etc.)
Estimation with UCPs requires all use cases to be written with a goal and at approximately the
same level, giving the same amount of detail. Hence, before estimation, the project team should
ensure they have written their use cases with defined goals and at detailed level. Use case is
normally completed within a single session and after the goal is achieved, the user may go on to
some other activity.

VEMU INSTITUTE OF TECHNOLOGY PAGE23


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE24


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Quantification of all the non-functional Requirements


Exp-11

AIM:To . Develop a tool which can be used for quantification of all the non-functional
Requirements

Description:
Requirement analysis is considered as the most important phase for the development of quality
software.Because of errors caused by poor and inadequate requirement analysis are likely to
creep in design and implementation phase.
These errors are observed as time-consuming and most experience to repair.thus, requirement
analysis is the phase, which determines the success or failure of a software project.

Types of Non- functional Requirements:


There are many common categories of non functional requirements.
Security :Does your product store or transmit sensitive information? Does your IT department
require adherence to specific standards? What security best practices are used in your industry?
Capacity:What are your system’s storage requirements, today and in the future? How will your
system scale up for increasing volume demands?
Compatibility: What are the minimum hardware requirements? What operating systems and
their versions must be supported?
Reliability and Availability: What is the critical failure time under normal usage? Does a user
need access to this all hours of every day?
Maintainability + Manageability—How much time does it take to fix components, and how
easily can an administrator manage the system? Under this umbrella, you could also
define Recoverability and Serviceability.
Scalability :The Black Friday test. What are the highest workloads under which the system will
still perform as expected?
Usability :How easy is it to use the product? What defines the experience of using the product?

VEMU INSTITUTE OF TECHNOLOGY PAGE25


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Example: Modeling Non-functional Requirements using Quantification process

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE26


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-12 C/C++/Java/Python program,Coupling.

AIM: . To Write C/C++/Java/Python program for classifying the various types of


coupling.

Description:
Coupling of java: In object oriented design, coupling refers to the degree of direct knowledge
that one element has of another.In other words how often do changes in class a force related
changes in class B

Tight Coupling: In general , Tight coupling means the two classes often change
together.inother word, if A knows more than it should acout the way in which B was
implemented, then A and B are tightly coupled.

Example: If you want to change the skin, you would also have to change the design of your
body as well because the two are joined together – they are tightly coupled. The best example of
tight coupling is RMI(Remote Method Invocation).

// Java program to illustrate


// tight coupling concept
classSubject {
Topic t = newTopic();
publicvoidstartReading()
{
t.understand();
}
}
classTopic {
publicvoidunderstand()
{
System.out.println("Tight coupling concept");
}
}

Difference between tight coupling and loose coupling

 Tight coupling is not good at the test-ability. But loose coupling improves the test
ability.
 Tight coupling does not provide the concept of interface. But loose coupling helps us
follow the GOF principle of program to interfaces, not implementations.
 In Tight coupling, it is not easy to swap the codes between two classes. But it’s much
easier to swap other pieces of code/modules/objects/components in loose coupling.
 Tight coupling does not have the changing capability. But loose coupling is highly
changeable.

VEMU INSTITUTE OF TECHNOLOGY PAGE27


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

The pictorial view of tight coupling and loose coupling:

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE28


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-13 C/C++/Java/Python program,Cohesion

AIM:To Write a C/C++/Java/Python program for classifying the various types of cohesion.

Description:
Cohesion in java : In object oriented design,cohesion refers all about how a single class is
designed Cohesion is the object oriented principle most closely associated with making sure that
a class is designed with a single,well defined perpose.

The More focused a class is the Cohesiveness of that class is more. the advantage of high
cohesion is that such classes with low Cohesion another benefit of high cohesion is that classes
with a well-focused perpose tend to be more reasonable than other classes.

Lets understand the structure of high cohesive program :

Example:
Let us understand the structure of High Cohesive
Program:

// Java program to illustrate


// high cohesive behavior
classMultiply {
inta = 5;
intb = 5;
publicintmul(inta, intb)
{
this.a = a;
this.b = b;
returna * b;
}
}

classDisplay {
publicstaticvoidmain(String[] args)
{
Multiply m = newMultiply();
System.out.println(m.mul(5, 5));
}
}

VEMU INSTITUTE OF TECHNOLOGY PAGE29


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Pictorial view of high cohesion and low cohesion:

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE30


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-14 C/C++/Java/Python program for object oriented metrics

AIM:To Write a C/C++/Java/Python program for object oriented metrics for design
proposed Chidamber and kremer . (Popularly called as CK metrics)

Description:
The ck metrics can be used to measure some characteristics of oo system such as classes,
message passing, inheritance, and encapsulation.On other hand the software maintenance phase
requires that changes are made to the existing system Although the existing metrices,such as the
ck metrics can be used to predict outcomes during the software maintance, such as efforts and
defects they do not provide sufficient information regarding the difficulty in the implementing
such changes, as well as the potential effects of those changes.
Thus, the object – oriented projects, different sets of metrices have been proposed.
These are listed below:
 Number of Scenario Scripts
 Number of key classes
 Number of support classes
 Average number of support classes per key class
 Number of subsystems

The CK Metrics Suite


One of the most widely referenced sets of OO software metrics has been proposed by
Chidamber and Kemerer . Often referred to as the CK metrics suite, the authors have proposed
six class-based design metrics for OO systems.

Weighted methods per class (WMC). Assume that n methods of complexity c1, c2, . . ., cn are
defined for a class C. The specific complexity metric that is chosen (e.g., cyclomatic
complexity) should be normalized so that nominal complexity for a method takes on a value of
1.0.

WMC=ci
for i = 1 to n. The number of methods and their complexity are reasonable indicators of the
amount of effort required to implement and test a class. In addition, the larger the number of
methods, the more complex is the inheritance tree (all subclasses inherit the methods of their
parents). Finally, as thenumber of methods grows for a given class, it is likely to become more
and more application specific, thereby limiting potential reuse. For all of these reasons, WMC
should be kept as low as is reasonable

VEMU INSTITUTE OF TECHNOLOGY PAGE31


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE32


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-15 DFD into appropriate architecture styles

AIM:To Convert the DFD into appropriate architecture styles.

Description:
A mapping technique, called structured design, is often characterized as a data flow-oriented
design method because it provides a convenient transition from a data flow diagram to software
architecture.
The transition from information flow to program structure is accomplished as part of a six step
process:
(1) The type of information flow is established,
(2) Flow boundaries are indicated,
(3) The DFD is mapped into the program structure,
(4) Control hierarchy is defined,
(5) The resultant structure is refined using design measures.
(6) The architectural description is refined and elaborated.
Example of data flow mapping, a step-by-step “transform” mapping for a small part of the
SafeHome security function. In order to perform the mapping,The type of information flow must
be determined. It is called transform flow and exhibits a linear quality.
Data flows into the system along an incoming flow path where it is transformed from an
external world representation into internalized form. Once it has been internalized, it is
processed at a transform center. Finally, it flows out of the system along an outgoing flow
path that transforms the data into external world

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE33


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-16 class diagram and object diagrams

AIM:To Draw complete class diagram and object diagrams using Rational tools

Description:
Launch rose  select file new select file save as business Model later select file new --?
Save as requirements –analysys Model-note when requirement-analysis is complete then save as
design implementation model select view to check status bar browser, documentation, as
unified,

Creating class diagram


Perform the steps below to create a UML class diagram in Visual Paradigm.

1.Select Diagram > New from the application toolbar.


2.In the New Diagram window, select class Diagram.
3.Click Next.
4.Enter the diagram name and description. The Location field enables you to select a model
to store the diagram.
5.Click OK.
6.To create the classes, you need to click on the class icon. (Note: If you ever want to know if
it’s the right button, just hold the mouse arrow over the button for two seconds, and it will tell
you what the button is.)

7.Once you have clicked on the class button, position the new mouse pointer wherever you
want on the page and click again. A rectangle representing the class will now appear on the
page. Now, type in a name for your class. To reposition the class, just click once on the class.
To change its property like name, click twice.

8.Now we need to add some attributes to the class. Let’s insert an attribute. To do this, right
click on the class. Select new attribute. Now, type in the name of the attribute of the class.
The icon that appears beside the attribute specifies whether it is public, private, or protected.

VEMU INSTITUTE OF TECHNOLOGY PAGE34


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Creating object diagram

Perform the steps below to create a UML object diagram in Visual Paradigm.

1.Select Diagram > New from the application toolbar.

2.In the New Diagram window, select Object Diagram.

3.Click Next.

4.Enter the diagram name and description. The Location field enables you to select a model
to store the diagram.

5.Click OK.

VEMU INSTITUTE OF TECHNOLOGY PAGE35


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE36


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-17 Design activities along with necessary artifacts

AIM:To Define the design activities along with necessary artifacts using Design Document

Description:
Design activity includes collaboratively creating visual-tools –rough sketches,mock-
ups,models,and drawings-potentiating the potentiating the communication ,coordination ,and
intergration between function. And enchancing the production and circulation of knowledge
with in and between projects

“Artifact” is a pretty broad term when it comes to software development. Most pieces of
software have a lot of artifacts that are necessary for them to run. Some artifacts explain how a
piece of software is supposed to work, while others actually allow that program to run.

Typically, a software development team will come up with a list of necessary artifacts for a
piece of software before coding anything. These include things like risk assessments, source
code, diagrams, and use cases. This is done during the research phase of the project.

Developing a piece of software without any of this is like building a house without blueprints.
The process would be a huge mess, and crucial pieces would inevitably be left out. In this way,
getting all your artifacts together is one of the most crucial parts of the software development
life cycle.

Once all the initial artifacts are compiled, a development team can begin programming and
building the actual program. Throughout this process, further artifacts might be developed.

These can come up at any time and include everything from new sketches to use cases.

VEMU INSTITUTE OF TECHNOLOGY PAGE37


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Software Artifacts:There are a lot of different parts of any given piece of software that can be
artifacts. Here are a few of the most common examples.

There are three main categories that software artifacts fall under. These are code-related
artifacts, project management artifacts, and documentation. Here’s a closer look at all three.

Code Artifacts:Every program is made up of codes, and each coded process produces artifacts.
These include:

 Test Suites: Coded test to run against the program in order to make sure a certain process
is working

 Setup Scripts: Allow the program to run on a given machine

 Complied Code: The final, compiled code that goes out to the user

 Test Output: Logs and information that comes from the testing process

Code artifacts are unavoidable, important by-products of the coding process. They let a
developer test the ins and outs of their software, allowing them to perfect it for the user.

VEMU INSTITUTE OF TECHNOLOGY PAGE38


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE39


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-18 Reverse Engineer any object-oriented code

AIM: To Reverse Engineer any object-oriented code to an appropriate class and object
diagrams.
Description:
Reverse engineering is an object oriented code into uniform modelling language class diagram
object-oriented code Similarly c++ implement or algorithm and like the previously done Work
on reverse engineering into UML algorithm generates tools for a complete set of constructs
available in UML class diagrams.
Forward engineering can be understood as being a process that moves from high-level and
abstract models and artifacts to increasingly concrete ones.
• Reverse engineering reconstructs higher-level models and artifacts from code.It is a process
that transforms one low-level representation to another, while recreating the higher-level
artifacts along the way.
Reverse Engineering Tools:
Reverse engineering if done manually would consume lot of time and human labour and hence
must be supported by automated tools. Some of tools are given below:
CIAO and CIA: A graphical navigator for software and web repositories along with a
collection of Reverse Engineering tools.
Rigi: A visual software understanding tool.
Bunch: A software clustering/modularization tool.
GEN++: An application generator to support development of analysis tools for the C++
language.
PBS: Software Bookshelf tools for extracting and visualizing the architecture of program

VEMU INSTITUTE OF TECHNOLOGY PAGE40


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Reverse engineering in Class diagram:

VEMU INSTITUTE OF TECHNOLOGY PAGE41


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Reverse engineering in object diagram:

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE42


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-19 piece of code which executes a specific functionality

AIM: To Test a piece of code which executes a specific functionality in the code to be tested
and asserts a certain behavior or state using Junit.

Description:
A JUnit test is a method contained in a class which is only used for testing. This is called a Test
class. To mark a method as a test method, annotate it with the @Test annotation. This method
executes the code under test.
The following code defines a minimal test class with one minimal test method.
packagecom.vogella.junit.first;
importstatic org.junit.jupiter.api.Assertions.assertTrue;
importorg.junit.jupiter.api.Test;
classAClassWithOneJUnitTest
{
@Test
void demoTestMethod(){
assertTrue(true);
}
You can use assert methods, provided by JUnit or another assert framework, to check an
expected result versus the actual result. Such statement are called asserts or assert statements.
Example for developing a JUnit test for another class
The following example defines a Java class and defines software tests for it.
Assume you have the following class which you want to test.
Packagecom.vogella.junit5;
publicclassCalculator{
publicint multiply(int a,int b){
return a * b;
}

Unit test class naming conventions


Build tools like Maven use a pattern to decide if a class is a test classes or not. The following is
the list of classes Maven considers automatically during its build:
**/Test*.java
**/*Test.java
**/*Tests.java
**/*TestCase.java
includes all of its subdirectories and all Java filenames that start with Test.

VEMU INSTITUTE OF TECHNOLOGY PAGE43


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

includes all of its subdirectories and all Java filenames that end with Test.
includes all of its subdirectories and all Java filenames that end with Tests.
Where should the test be located?
Typical, unit tests are created in a separate source folder to keep the test code separate from the
real code. The standard convention from the Maven and Gradle build tools is to use:
 src/main/java - for Java classes
 src/test/java - for test classes
Testing for exceptions
Testing that certain exceptions are thrown are be done with
the org.junit.jupiter.api.Assertions.expectThrows() assert statement. You define the expected
Exception class and provide code that should throw the exception.
importstatic org.junit.jupiter.api.Assertions.assertThrows;
@Test
void exceptionTesting(){
// set up user
Throwable exception = assertThrows(IllegalArgumentException.class,()->
user.setAge("23"));
assertEquals("Age must be an Integer.", exception.getMessage());
}
This lets you define which part of the test should throw the exception. The test will still fail if an
exception is thrown outside of this scope.
Testing multiple assertions (grouped assertions) with assertAll
If an assert fails in a test, JUnit will stop executing the test and additional asserts are not
checked. In case you want to ensure that all asserts are checked you can assertAll.
In this grouped assertion all assertions are executed, even after a failure. The error messages get
also grouped together.
@Test
void groupedAssertions(){
Address address =newAddress();
assertAll("address name",
()-> assertEquals("John", address.getFirstName()),
()-> assertEquals("User", address.getLastName())
);
}

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE44


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-20 percentage of code to be tested by unit test using

AIM: To Test the percentage of code to be tested by unit test using any code coverage tools

Description:
Code coverage:
Code coverage is a software testing metric that determines the number of lines of code that is
successfully validated under a test procedure, which in turn, helps in analyzing how comprehensively a
software is verified. It is one such software testing metric that can help in assessing the test
performance and quality aspects of any software.Code coverage scripts generate a report that details
how much of the application code has been executed. This is a white-box testing technique

Top 3 Benefits of Code Coverage: Code coverage analysis can only be used for the validation
of test cases that are run on the source code and not for the evaluation of the software product.
Also, it neither evaluates whether the source code is bug-free nor proves if a written code is
correct.

 Easy maintenance of code base – Writing scalable code is crucial to extend the software
program through the introduction of new or modified functionalities. However, it is difficult to
determine whether the written code is scalable. It can prove to be a useful metric in that context
The analysis report will help developers to ensure code quality is well-maintained and new
features can be added with little-to-no efforts.
 Exposure of bad code – Continuous analysis will help developers to understand bad, dead, and
unused code. As a result, they can improve code-writing practices, which in turn, will result in
better maintainability of the product quality.
 Faster time to market – With the help of this metric, developers can finish the software
development process faster, thereby increasing their productivity and efficiency. As a result,
they will be able to deliver more products, allowing companies to launch more software
applications on the market in lesser time. This will undoubtedly lead to increased customer
satisfaction and high ROI.

Code Coverage Percentage = (Number of lines of code executed by a testing algorithm/Total

number of lines of code in a system component) * 100.

Why perform Code Coverage?


Code coverage is primarily performed at the unit testing level. Unit tests are created by
developers, thus giving them the best vantage from which to decide what tests to include in unit
testing. At this point, a number of questions arise:

 Are there enough tests in the unit test suite?

VEMU INSTITUTE OF TECHNOLOGY PAGE45


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

 Do more tests need to be added?


Code coverage answers these questions.
As development progresses, new features and fixes are added to the codebase.
Obviously, the test code must be changed to stay updated with these changes. Testing standards
established at the beginning of the project must also be maintained throughout subsequent
release cycles. Code coverage can ensure that these standards are maintained so that only the
optimal quality code is pushed to production.

Levels of Code Coverage

 Branch Coverage: This is used to ensure that every branch in a decision-making process is
executed. Let’s say a tester is including a fallback for cross browser compatibility using an
If…Else conditional statement or a Do…While statement in the code. Branch coverage will
ensure that all branches (If, Else, Do, While) are tested with appropriate input.
 Function Coverage: This ensures that all necessary functions are tested. It also includes testing
functions with different input parameters to test the logic in the functions.
 Statement Coverage: In this, the code is created in a way that every executable statement in the
source code is executed at least once. This includes corner cases or boundary cases.
 Loop Coverage: This ensures that every loop in the source code is executed at least once.
Certain loops may be executed based on results achieved at runtime. One must be careful to test
such loops so as to fortify the code completely.
 Condition Coverage: This reveals how variables in the conditional statements are evaluated. It
helps to provide proper coverage to the control flow.
 Finite State Machine Coverage: This works based on the frequency of visits from static states
and other transactions. Finite state machine coverage is the most complicated form of code
coverage as it functions on the design of the software structure.
Code coverage verifies with instrumentation. Instrumentation monitors performance inserts
trace information and detects errors in the source code. The types of instrumentation are
discussed below.

Performance of Test Coverage:

Test coverage can also be evaluated through different types of testing. However, the type
of tests that must be run depends on the business priorities of the testing team and the
organization behind them. For example, user-centric web apps prioritize UI/UX tests over
functional tests. Conversely, financial apps will prioritize usability and security testing over all
other tests.
In case, one wants to test their website for cross-browser compatibility or UI/UX bugs, check
this page out.
Some of the test coverage mechanisms:

 Unit Testing: Performed at a unit level or module level. Bugs at this level are widely
differentfrom issues encountered at the integration stage.
 Functional Testing: Functions or features are tested against requirements mentioned in the
Functional Requirement Specification (FRS) documents.
 Acceptance Testing: Determines whether a product is suitable to be released for customer use.
At this stage, developers will have to receive approval from testers and SMEs to push code
changes from Staging to Production.
 Integration Testing: Also called system testing, since testing occurs on the system level. These
tests are performed once all software modules are integrated.

VEMU INSTITUTE OF TECHNOLOGY PAGE46


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

The purpose of test coverage varies depending on the level at which tests are performed. It also
depends on the type of software being tested. Additionally, test coverage metrics for mobile
phones would differ from those for website testing.

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE47


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-21 Appropriate metrics for at least 3 quality attributes

AIM: To Define an appropriate metrics for at least 3 quality attributes for any software
application of your interest.

Description:
Quality can be defined in a different manner. The quality definition may differ from person to
person. But finally, there should be some standards. So Quality can be defined as
 Degree of excellence – Oxford dictionary
 Fitness for purpose – Edward Deming
 Best for the customer’s use and selling price – Feigenbaum
The totality of characteristics of an entity that bear on its ability to satisfy stated or
implied needs – ISO Each attribute can be used to measure product performance. These
attributes can be used for Quality assurance as well as Quality control.
Quality Assurance activities are oriented towards the prevention of the introduction of
defects and Quality Control activities are aimed at detecting defects in products and
services.
Reliability
Measure if the product is reliable enough to sustain in any condition. Should give
consistently correct results.Product reliability is measured in terms of working of the
project under different working environments and different conditions.
Maintainability
Different versions of the product should be easy to maintain. For development it should
be easy to add code to the existing system, should be easy to upgrade for new features
and new technologies from time to time.Maintenance should be cost-effective and easy.
The system is easy to maintain and correcting defects or making a change in the
software.
Usability
This can be measured in terms of ease of use. The application should be user-friendly.
Should be easy to learn. Navigation should be simple.

SoftwareMetrics Terminologies

 Measure: Quantitative indication of the extent, amount, dimension, or size of some


attribute of a product orprocess.
 Metrics: The degree to which a system, component, or process possesses a given
attribute. Relates several measures (e.g. average number of errors found per
personhour)
 Indicators: A combination of metrics that provides insight into the software process,
project orproduct
 Direct Metrics: Immediately measurable attributes (e.g. line of code, execution speed,
defectsreported)
 Indirect Metrics: Aspects that are not immediately quantifiable (e.g. functionality,
quantity,reliability)
 Faults:
– Errors: Faults found by the practitioners during softwaredevelopment
– Defects: Faults found by the customers afterrelease

VEMU INSTITUTE OF TECHNOLOGY PAGE48


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Metric Classification
1.Processes
-Activities related to production of software
2.Products
- Explicit results of software development activities.
- Deliverables, documentation, by products
3.Project
- Inputs into the software development activities
- hardware, knowledge,people
Function PointMetrics
– Function point metrics provide a standardized method for measuring the various
functions of a software application.
– Function point metrics, measure functionality from the user’s point of view, that is,
on the basis of what the user requests and receives inreturn.

Information domain values:


– Number of user inputs – Distinct input fromuser
– Number of user outputs – Reports, screens, error messages,etc.
– Number of user inquiries – On line input that generates someresult
– Number of files – Logical file(database)
– Number of external interfaces – Data files/connections as interface to other systems
Formula to count FPis
– FP = Total Count * [0.65 + 0.01*∑(Fi)]
Where, Total count is all the counts times a weighting factor that is determined
for each organization via empirical data. Fi (i=1 to 14) are complexity
adjustment values.

VEMU INSTITUTE OF TECHNOLOGY PAGE49


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE50


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-22 Complete call graph for any C/C++ code

AIM: To Define a complete call graph for any C/C++ code. (Note: The student may use
any tool that generate call graph for source code)

Description:
Turing program source into call graph is on creating and analzing type qualifiers for functions
that constrain where those functions can and cannot be called.the central notion be this sort of
type checking is that every program as a call graph and that there are certain patterns in call
graph which be prevented. A program call is a directed graph where each function is vertex and
where each call is an edge directed from caller to caller.

There are two main approaches to analyzing a call graph: the function calls first approach, and
the call graph top/down approach. Both methods are complementary.
Function Calls First Approach
This method involves looking first at the function table on the left side of the Blackfire
interface.First, sort the table by exclusive time (default sort), and focus on functions in the top
25 only, in this order of importance:
calls coming from your code;
calls coming from third-party libraries
Call Graph Top/Down Approach
This method involves following the critical path on the call graph to better understand how the
code is executed by PHP.
On the call graph, the critical path is composed of all the nodes with a red border. Start at
the main node, then follow its children by navigating the call graph with the mouse.
Example C program. The call graph for this program

int breed_and_release_pandas() {
Panda *baby_panda = malloc(sizeof(Panda));
release_panda(baby_panda);
}
int save_the_pandas() {
stop_deforestation());
if (pandas_are_saved()) {
printf("Stopping deforestation saved the pandas!\n");
return 1;
}
breed_and_release_pandas();
if (pandas_are_saved()) {
printf("Breeding pandas in captivation and releasing them has saved the
pandas!\n");
return 1;
}
return 0;
}

VEMU INSTITUTE OF TECHNOLOGY PAGE51


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

int main(void) {
if (save_the_pandas()) {
printf("The pandas have been saved!\n");
}
}
Example Call Graph. The source code associated with this call graph

Call Graph Rules:


Each subsection here describes one of the call graph rules supported by funqual. For
each rule, we explain the meaning, provide an algorithm that could enforce it, and present an
argument for the algorithm’s correctness with respect to the rest of the 25 type system. The
algorithms presented here only return true or false depending on whether the graph in question is
valid. The algorithms actually implemented in funqual are slightly more complicated because
they print helpful diagnostic messages to the user. Both sets of algorithms enforce the same
rules, though.

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE52


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-23 Libraray Management system

AIM: To Draw the class diagram for libraray management system

Description:
Class diagrams are generally used for conceptual modelling of static view of software
application, and for modelling translating models in to programming code in a detailed Manner.
At time of developing or construction software systems, a class diagram is widely used.
They are also used for data modelling. It is used to show classes, relationships amomg
them,interface,association,etc, class in a class diagram simply is a blueprintof an object. It
simply describes and explaind different type of objects in system, and different types of
relationships that exist between them

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE53


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Exp-24 Hospital Management System

AIM: To Draw the class diagram for Hospital Management system

Description:
Hospital management system class diagram is a graphical representation of the systems
relationships and classes. ThisUML class diagram was created to assist programmers in the
development of a hospital management system. It includes the class attributes,methods, and
relationships between classes. These contents ensure that your hospital management system
development is in line with that its functions should be
Class diagrams reveal the class structure blueprint of Hospital Mangement system. Also, it is
used to model the items that makeuo the system and depict their relationships lastely, this is to
define the function of an object and the operation it provides.

VEMU INSTITUTE OF TECHNOLOGY PAGE54


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

RESULT:

VEMU INSTITUTE OF TECHNOLOGY PAGE55


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Viva-Voce Questions
Q. What is computer software?
A. Computer software is a complete package, which includes software program, its documentation and
user guide on how to use the software.

Q. Can you differentiate computer software and computer program?


A. A computer program is piece of programming code which performs a well defined task where as
software includes programming code, its documentation and user guide.

Q. What is software engineering?


A. Software engineering is an engineering branch associated with software system development.

Q. When you know programming, what is the need to learn software engineering concepts?
A. A person who knows how to build a wall may not be good at building an entire house. Likewise, a
person who can write programs may not have knowledge of other concepts of Software Engineering. The
software engineering concepts guide programmers on how to assess requirements of end user, design the
algorithms before actual coding starts, create programs by coding, testing the code and its
documentation.

Q. What is software process or Software Development Life Cycle SDLC?


A. Software Development Life Cycle, or software process is the systematic development of software by
following every stage in the development process namely, Requirement Gathering, System Analysis,
Design, Coding, Testing, Maintenance and Documentation in that order.

Q. What are SDLC models available?


A. There are several SDLC models available such as Waterfall Model, Iterative Model, Spiral model, V-
model and Big-bang Model etc.

Q. What are various phases of SDLC?


A. The generic phases of SDLC are: Requirement Gathering, System Analysis and Design, Coding,
Testing and implementation. The phases depend upon the model we choose to develop software.

Q. Which SDLC model is the best?


A. SDLC Models are adopted as per requirements of development process. It may very softwareto-
software to ensuring which model is suitable. We can select the best SDLC model if following answers
are satisfied - Is SDLC suitable for selected technology to implement the software ? Is SDLC appropriate
for client’s requirements and priorities ? Is SDLC model suitable for size and complexity of the software
? Is the SDLC model suitable for type of projects and engineering we do ? Is the SDLC appropriate for
the geographically co-located or dispersed developers ?

Q. What is software project management?


A. Software project management is process of managing all activities like time, cost and quality
management involved in software development.

Q. Who is software project manager?

VEMU INSTITUTE OF TECHNOLOGY PAGE56


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

A. A software project manager is a person who undertakes the responsibility of carrying out the software
project.

Q. What does software project manager do?


A. Software project manager is engaged with software management activities. He is responsible for
project planning, monitoring the progress, communication among stakeholders, managing risks and
resources, smooth execution of development and delivering the project within time, cost and quality
contraints.

Q. What is software scope?


A. Software scope is a well-defined boundary, which encompasses all the activities that are done to
develop and deliver the software product. The software scope clearly defines all functionalities and
artifacts to be delivered as a part of the software. The scope identifies what the product will do and what
it will not do, what the end product will contain and what it will not contain.

Q. What is project estimation?


A. It is a process to estimate various aspects of software product in order to calculate the cost of
development in terms of efforts, time and resources. This estimation can be derived from past experience,
by consulting experts or by using pre-defined formulas.

Q. How can we derive the size of software product?


A. Size of software product can be calculated using either of two methods - Counting the lines of
delivered code Counting delivered function points

Q. What are function points?


A. Function points are the various features provided by the software product. It is considered as a unit of
measurement for software size.

Q. What are software project estimation techniques available?


A. There are many estimation techniques available.The most widely used are - Decomposition technique
CountingLinesofCodeandFunctionPoints Empirical technique PutnamandCOCOMO.

Q. What is baseline?
A. Baseline is a measurement that defines completeness of a phase. After all activities associated with a
particular phase are accomplished, the phase is complete and acts as a baseline for next phase.

Q. What is Software configuration management?


A. Software Configuration management is a process of tracking and controlling the changes in software
in terms of the requirements, design, functions and development of the product.

Q. What is change control?


A. Change control is function of configuration management, which ensures that all changes made to
software system are consistent and made as per organizational rules and regulations.

VEMU INSTITUTE OF TECHNOLOGY PAGE57


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Q. How can you measure project execution?


A. We can measure project execution by means of Activity Monitoring, Status Reports and Milestone
Checklists.

Q. Mention some project management tools.


A. There are various project management tools used as per the requirements of software project and
organization policies. They include Gantt Chart, PERT Chart, Resource Histogram, Critical Path
Analysis, Status Reports, Milestone Checklists etc.

Q. What are software requirements?


A. Software requirements are functional description of proposed software system. Requirements are
assumed to be the description of target system, its functionalities and features. Requirements convey the
expectations of users from the system.

Q. What is feasibility study?


A. It is a measure to assess how practical and beneficial the software project development will be for an
organization. The software analyzer conducts a thorough study to understand economic, technical and
operational feasibility of the project. Economic - Resource transportation, cost for training, cost of
additional utilities and tools and overall estimation of costs and benefits of the project. Technical - Is it
possible to develop this system? Assessing suitability of machines and operating systems on which
software will execute, existing developers’ knowledge and skills, training, utilities or tools for project.
Operational - Can the organization adjust smoothly to the changes done as per the demand of project? Is
the problem worth solving?

Q. How can you gather requirements?


A. Requirements can be gathered from users via interviews, surveys, task analysis, brainstorming,
domain analysis, prototyping, studying existing usable version of software, and by observation.

Q. What is SRS?
A. SRS or Software Requirement Specification is a document produced at the time of requirement
gathering process. It can be also seen as a process of refining requirements and documenting them.

Q. What are functional requirements?


A. Functional requirements are functional features and specifications expected by users from the
proposed software product.

Q. What are non-functional requirements?


A. Non-functional requirements are implicit and are related to security, performance, look and feel of
user interface, interoperability, cost etc.

Q. What is software measure?


A. Software Measures can be understood as a process of quantifying and symbolizing various attributes
and aspects of software.

VEMU INSTITUTE OF TECHNOLOGY PAGE58


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Q. What is software metric?


A. Software Metrics provide measures for various aspects of software process and software product.
They are divided into – Requirement metrics: Length requirements, completeness Product metrics: Lines
of Code, Object oriented metrics, design and test metrics Process metrics: Evaluate and track budget,
schedule, human resource.

Q. What is modularization?
A. Modularization is a technique to divide a software system into multiple discreet modules, which are
expected to carry out tasks independently.

Q. What is concurrency and how it is achieved in software?


A. Concurrency is the tendency of events or actions to happen simultaneously. In software, when two or
more processes execute simultaneously, they are called concurrent processes. Example While you initiate
print command and printing starts, you can open a new application. Concurrency is implemented by
splitting the software into multiple independent units of execution namely processes and threads, and
executing them in parallel.

Q. What is cohesion?
A. Cohesion is a measure that defines the degree of intra-dependability among the elements of the
module.

Q. What is coupling?
A. Coupling is a measure that defines the level of inter-dependability among modules of a program.

Q. Mentions some software analysis & design tools?


A. These can be: DFDs DataFlowDiagrams, Structured Charts, Structured English, Data Dictionary,
HIPO HierarchicalInputProcessOutput diagrams, ER EntityRelationship Diagrams and Decision tables.

Q. What is level-0 DFD?


A. Highest abstraction level DFD is known as Level 0 DFD also called a context level DFD, which
depicts the entire information system as one diagram concealing all the underlying details.

Q. What is the difference between structured English and Pseudo Code?


A. Structured English is native English language used to write the structure of a program module by
using programming language keywords, whereas, Pseudo Code is more close to programming language
and uses native English language words or sentences to write parts of code.

Q. What is data dictionary?


A. Data dictionary is referred to as meta-data. Meaning, it is a repository of data about data. Data
dictionary is used to organize the names and their references used in system such as objects and files
along with their naming conventions.

Q. What is structured design?


A. Structured design is a conceptualization of problem into several well-organized elements of solution.
It is concern with the solution design and based on ‘divide and conquer’ strategy.

VEMU INSTITUTE OF TECHNOLOGY PAGE59


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Q. What is the difference between function oriented and object oriented design?
A. Function-oriented design is comprised of many smaller sub-systems known as functions. Each
function is capable of performing significant task in the system. Object oriented design works around the
real world objects entities, their classes categories and methods operating on objects functions.

Q. Briefly define top-down and bottom-up design model.


A. Top-down model starts with generalized view of system and decomposes it to more specific ones,
whereas bottom-up model starts with most specific and basic components first and keeps composing the
components to get higher level of abstraction.

Q. What is the basis of Halstead’s complexity measure?


A. Halstead’s complexity measure depends up on the actual implementation of the program and it
considers tokens used in the program as basis of measure.

Q. Mention the formula to calculate Cyclomatic complexity of a program?


A. Cyclomatic complexity uses graph theory’s formula: VG = e – n + 2 Q.What is functional
programming? A. Functional programming is style of programming language, which uses the concepts of
mathematical function. It provides means of computation as mathematical functions, which produces
results irrespective of program state.

Q. Differentiate validation and verification?


A. Validation checks if the product is made as per user requirements whereas verification checks if
proper steps are followed to develop the product. Validation confirms the right product and verification
confirms if the product is built in a right way.

Q. What is black-box and white-box testing?


A. Black-box testing checks if the desired outputs are produced when valid input values are given. It
does not verify the actual implementation of the program. White-box testing not only checks for desired
and valid output when valid input is provided but also it checks if the code is implemented correctly.
Criteria Black Box Testing White Box Testing Knowledge of software program, design and structure
essential No Yes Knowledge of Software Implementation essential No Yes Who conducts this test on
software Software Testing Employee Software Developer baseline reference for tester Requirements
specifications Design and structure details

Q. Quality assurance vs. Quality Control?


A. Quality Assurance monitors to check if proper process is followed while software developing the
software. Quality Control deals with maintaining the quality of software product.

Q. What are various types of software maintenance?


A. Maintenance types are: corrective, adaptive, perfective and preventive. Corrective Removing errors
spotted by users Adaptive tackling the changes in the hardware and software environment where the
software works Perfective maintenance implementing changes in existing or new requirements of user
Preventive maintenance taking appropriate measures to avoid future problems

VEMU INSTITUTE OF TECHNOLOGY PAGE60


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntua
Department of CSE Software Engineering

Q. What is software re-engineering?


A. Software re-engineering is process to upgrade the technology on which the software is built without
changing the functionality of the software. This is done in order to keep the software tuned with the latest
technology.

Q. What are CASE tools?


A. CASE stands for Computer Aided Software Engineering. CASE tools are set of automated software
application programs, which are used to support, accelerate and smoothen the SDLC activities

*******

VEMU INSTITUTE OF TECHNOLOGY PAGE61


www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntua

You might also like