0% found this document useful (0 votes)
70 views95 pages

SEN Kit

The document is a sample question paper for a Software Engineering course, detailing exam structure, instructions, and a variety of questions covering topics such as software characteristics, project management, testing strategies, and software development models. It includes multiple sections with questions that require definitions, diagrams, and descriptions of software engineering concepts. The paper is designed for Computer Engineering students in their fourth semester and is structured to assess their understanding of software engineering principles.

Uploaded by

sahildawange37
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views95 pages

SEN Kit

The document is a sample question paper for a Software Engineering course, detailing exam structure, instructions, and a variety of questions covering topics such as software characteristics, project management, testing strategies, and software development models. It includes multiple sections with questions that require definitions, diagrams, and descriptions of software engineering concepts. The paper is designed for Computer Engineering students in their fourth semester and is structured to assess their understanding of software engineering principles.

Uploaded by

sahildawange37
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/ 95

Scheme -I

Sample Question Paper

Program Name : Computer Engineering Program Group


Program Code : CO/CM/IF/CW
Semester
Course Title
: Fourth
: Software Engineering
22413
Marks : 70 Time: 3 Hrs.

Instructions:
(1) All questions are compulsory.
(2) Illustrate your answers with neat sketches wherever necessary.
(3) Figures to the right indicate full marks.
(4) Assume suitable data if necessary.
(5) Preferably, write the answers in sequential order.

Q.1) Attempt any FIVE of the following. 10 Marks


a) Define Software & Software Engineering.
b) List any 4 types of Software.
c) State the need of SRS.
d) List any 4 types of Risks.
e) Define project Cost Estimation.
f) Define Quality Control and Quality Assurance.
g) State phases of software Quality Assurance.

Q.2) Attempt any THREE of the following. 12 Marks


a) Draw neat labelled diagram of Software Engineering layered technology
approach.Give Significance of each layer.
b) Describe symbols used in DFD.
c) Draw and describe management spectrum.
d) State and describe any 4 basic principles of project scheduling.

Q.3) Attempt any THREE of the following. 12 Marks


a) Distinguish between RAD model and incremental model.
b) Describe any 4 software deployment principles.

1
c) Draw DFD for library management system for level 0 and level 1.
d) State and describe two metrics of project size estimation.

Q.4) Attempt any THREE of the following. 12 Marks


a) State any 8 features of agile software development.
b) Describe any 4 core principles of software engineering practices.
c) Draw RMMM plan.Describe its major components.
d) Describe following project cost estimation approaches.
 Heuristic
 Analytical
e) Prepare macro timeline chart for 15 days of Home Automation System (5 days a
week).Consider broad phases of SDLC.

Q.5) Attempt any TWO of the following. 12 Marks


a) Sketch use-case diagram for ATM machine with minimum 4 use cases and 2
actors.
b) Diferentiate between validation and verification.
c) Use COCOMO model to calculate
1. Effort
2. Development Time
3. Average Staff Size
4. Productivity
if estimated size of project is 400 KLOC using Embedded mode.

Q.6) Attempt any TWO of the following. 12 Marks


a) Draw neat labelled diagram of translation of requirement model into design model.
b) Describe six sigma.State operations under DMADV/IC..
c) Recognize requirements for following modules of banking software
1. Customer Module
2. Loan Module
3. Account Module

2
Scheme -I
Sample Test Paper - I

Program Name : Computer Engineering Program Group


Program Code : CO/CM/IF/CW
Semester
Course Title
: Fourth
: Software Engineering
22413
Marks : 20 Time: 1 Hour

Instructions:
(1) All questions are compulsory.
(2) Illustrate your answers with neat sketches wherever necessary.
(3) Figures to the right indicate full marks.
(4) Assume suitable data if necessary.
(5) Preferably, write the answers in sequential order.

Q.1 Attempt any FOUR. 08 Marks


a. List any 2 Characteristics of software.
b. State any 4 attributes of good software.
c. Define- SRS.
d. List any 4 Barry Boehn’s W5HH principles
e. Define data dictionary.List its any 2 charactristics.
f. State and draw symbols used in use case diagram.

Q.2 Attempt any THREE. 12 Marks


a. State and describe software generic process framework activites.
b. Describe any 4 software communication principles.
c. Prepare SRS for online shopping system using following points
1. Introduction
2. Overall Description
3. System Features
4. External Interface Requirements
d. Describe elements of analysis module with neat label diagram.
e. Draw neat labelled diagram of Incremental model.Describe working of incremental
model with its advantages.

3
Scheme -I
Sample Test Paper - II

Program Name : Computer Engineering Program Group


Program Code : CO/CM/IF/CW
Semester
Course Title
: Fourth
: Software Engineering
22413
Marks : 20 Time: 1 Hour

Instructions:
(1) All questions are compulsory.
(2) Illustrate your answers with neat sketches wherever necessary.
(3) Figures to the right indicate full marks.
(4) Assume suitable data if necessary.
(5) Preferably, write the answers in sequential order.

Q.1 Attempt any FOUR. 08 Marks


a. Define Unit Testing
b. Compare reactive and proactive risk strategy.
c. Define manager and project management.
d. Define project Scheduling and list its types.
e. Define software qulity assurance.
f. Define software security.

Q.2 Attempt any THREE. 12 Marks


a. Distiguish between black box testing and white box testing.
b. Use COCOMO Model for organic, Semi detached, embedded mode to calculate effort
and development time for size of project 600 KLOC
c. Describe risk identification with the help of risk item checklist.
d. Describe PERT chart with suitable example.
e. Differntiate between software qulity control and software qulity assurance.

4
22413
21819
3 Hours / 70 Marks Seat No.

Instructions – (1) All Questions are Compulsory.


(2) Answer each next main Question on a new page.
(3) Illustrate your answers with neat sketches wherever
necessary.
(4) Assume suitable data, if necessary.
(5) Use of Non-programmable Electronic Pocket
Calculator is permissible.
(6) Mobile Phone, Pager and any other Electronic
Communication devices are not permissible in
Examination Hall.
(7) Preferably, write the answers in sequential order.

Marks

1. Attempt any FIVE of the following: 10


a) Enlist and explain software characteristics (any two).
b) Define software on engineering.
c) State need of software requirement specification (SRS).
d) Define Reactive Risk strategies.
e) Specify following cost directives of cocomo:
(i) Product attributes (any two)
(ii) Hardware attributes (any two).
f) Differentiate between Software Quality Management and
Software Quality Assurance (any two points).
g) Define Software Quality Assurance.

P.T.O.
22413 [2]
Marks
2. Attempt any THREE of the following: 12
a) Explain Software Engineering as layered technology approach.
b) Explain with example Decision table.
c) Explain following elements of management spectrum:
(i) People
(ii) Process
(iii) Product
(iv) Project
d) List and explain basic principles of project scheduling.

3. Attempt any THREE of the following: 12


a) Distinguish between perspective process model and agile
process model.
b) Describe any four principles of communication for software
engineering.
c) Draw proper labeled “LEVEL I Data Flow Diagram” (DFD)
for student attendance system.
d) State importance of “Function Point (FP)” and “Lines of codes
(LOC)” in concerned with project estimation.

4. Attempt any THREE of the following: 12


a) Describe extreme programming with proper diagram
b) List and explain any “four core principles” of software engineering.
c) Explain RMMM plan with example.
d) Explain any one project cost estimation approach.
e) Prepare time line chart for Library Managements System (five
days a week) Consider phases of SDLC.
22413 [3]
Marks
5. Attempt any TWO of the following: 12
a) Enlist Requirement Gathering and Analysis for web based
project for registering candidates for contest (any six points).
b) Differentiate between White box and Black box testing (any
six points).
c) Describe Co-Como II model for evaluating size of software
project with any three parameters in detail.

6. Attempt any TWO of the following: 12


a) Draw and explain Transition diagram from requirement model
to design model.
b) Describe CMMI. Give significance of each level.
c) Identify and enlist requirement for given modules of employee
management software:
(i) Employee detail
(ii) Employee salary
(iii) Employee performance.
22413
11920
3 Hours / 70 Marks Seat No.

Instructions – (1) All Questions are Compulsory.


(2) Answer each next main Question on a new page.
(3) Illustrate your answers with neat sketches wherever
necessary.
(4) Figures to the right indicate full marks.
(5) Mobile Phone, Pager and any other Electronic
Communication devices are not permissible in
Examination Hall.

Marks

1. Attempt any FIVE of the following: 10


a) Define software. Draw the failure curve for Software.
b) State two characteristics of Software.
c) Define software requirements specifications.
d) Define Proactive and Reactive risk strategy.
e) Name two cost estimation approaches.
f) Define software quality.
g) Name four software quality assurance activities.

2. Attempt any THREE of the following: 12


a) State and explain with examples four broad categories of software.
b) Explain the notations used for preparing a Data Flow diagram.
c) Describe 4 ‘P’s of management spectrum giving their significance.
d) Explain four basic principles of software Project Scheduling.

P.T.O.
22413 [2]
Marks
3. Attempt any THREE of the following: 12
a) Explain process framework with a suitable diagram.
b) Describe four principles of good planning.
c) Draw and explain Level 1 DFD for railway reservation system.
d) With an example, explain Line of Code (LOC) based estimation.

4. Attempt any THREE of the following: 12


a) Explain waterfall process model. State its advantages and
disadvantages.
b) Enlist core principles of Software engineering practice.
c) Describe RMMM Strategy.
d) Describe the Analytical method of project cost estimation with
example.
e) Explain GANTT chart and its application for project tracking
with an example.

5. Attempt any TWO of the following: 12


a) Sketch a use case diagram for library management system with
minimum four use cases and two actors.
b) Explain the concept of Black box testing and white box testing.
c) Calculate using COCOMO model
(i) Effort
(ii) Project duration
(iii) Average staff size
if estimated size of project is 200 KLOC using organic mode.
22413 [3]
Marks
6. Attempt any TWO of the following: 12
a) Define data objects, attributes, relationship, cardinality with example
of each.
b) Compare CMMI and ISO for software w.r.to
i) Scope
ii) Approach
iii) Implementation.
c) Explain six functions of requirement engineering process.
22413
21222
3 Hours / 70 Marks Seat No.
15 minutes extra for each hour

Instructions – (1) All Questions are Compulsory.


(2) Answer each next main Question on a new page.
(3) Illustrate your answers with neat sketches wherever
necessary.
(4) Figures to the right indicate full marks.
(5) Assume suitable data, if necessary.
(6) Mobile Phone, Pager and any other Electronic
Communication devices are not permissible in
Examination Hall.

Marks

1. Attempt any FIVE of the following: 10


a) List any four types of software.
b) List any four planning principles.
c) Describe following design concepts
i) Abstraction
ii) Information hiding.
d) List 4P’s of Management spectrum.
e) Define Quality Control and Quality Assurance.
f) List any four selection criteria for Software Process Model.
g) Define project Cost Estimation.

P.T.O.
22413 [2]
Marks
2. Attempt any THREE of the following: 12
a) Explain Waterfall Model with neat labelled diagram.
b) State and describe any four core principles.
c) Explain Test Documentation with the help of following terms.
i) Test Case
ii) Test Data
iii) Test Plan.
d) Explain CMMI in detail with neat diagram.

3. Attempt any THREE of the following: 12


a) State and describe any four deployment principles.
b) Draw DFD 0 and DFD 1 diagram for Library Management System.
c) State and describe two metrics of project size estimation.
d) Prepare Macro Timeline chart for 20 days of Hotel Management
system (6 days a week) consider broad phase of SDLC.

4. Attempt any THREE of the following: 12


a) Draw and explain Software Engineering Layered technology
approach.
b) State the need of SRS and also enlist the characteristics.
c) Distinguish between Black Box and White Box testing.
(Write any four points).
d) Explain RMMM strategy.
e) State and describe any four basic project scheduling principles.
22413 [3]
Marks
5. Attempt any TWO of the following: 12
a) Explain software process framework with neat labelled diagram
and also describe software process framework activities.
b) Draw and explain translating requirement model into design
model.
c) Describe following project cost estimation approaches.
i) Heuristic
ii) Analytical
iii) Empirical

6. Attempt any TWO of the following: 12


a) State and describe any six communication principles.
b) Describe six Sigma Strategy in details.
c) Use COCOMO model to calculate.
i) Effort
ii) Development Time
iii) Average staff size
iv) Productivity
if estimated size of project is 400 KLOC using embedded mode.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

SUMMER – 19 EXAMINATION
Subject Name: Software Engineering Model Answer Subject Code: 22413
Important Instructions to examiners:
1) The answers should be examined by key words and not as word-to-word as given in
the model answer scheme.
2) The model answer and the answer written by candidate may vary but the examiner
may try to assess the understanding level of the candidate.
3) The language errors such as grammatical, spelling errors should not be given more
Importance (Not applicable for subject English and Communication Skills.
4) While assessing figures, examiner may give credit for principal components
indicated in the figure. The figures drawn by candidate and model answer may vary.
The examiner may give credit for any equivalent figure drawn.
5) Credits may be given step wise for numerical problems. In some cases, the assumed
constant values may vary and there may be some difference in the candidate’s
answers and model answer.
6) In case of some questions credit may be given by judgement on part of examiner of
relevant answer based on candidate’s understanding.
7) For programming language papers, credit may be given to any other program based
on equivalent concept.

Q. Sub Answer Marking


No Q. Scheme
. N.
1 Attempt any Five of the following: 10 M
a Enlist and explain software characteristics (any two). 2M
Ans 1. Software is developed or engineered; it is not manufactured in the Each
classical sense. Characteristics
with
 Although some similarities exist between software development explanation –
and hardware manufacture, the two activities are fundamentally 1M
different.
 In both activities, high quality is achieved through good design,
but the manufacturing phase for hardware can introduce quality
problems that are non-existent (or easily corrected) for software.
 Both activities are dependent on people, but the relationship
between people applied and work accomplished is entirely
different.
 Software costs are concentrated in engineering. This means that
software projects cannot be managed as if they were
manufacturing projects
2. Software doesn’t “wear out.”
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 The idealized curve as shown in above figure is a gross


oversimplification of actual failure models for software.
However, the implication is clear—software doesn't wear out.
But it does deteriorate!
 This contradiction can best be explained by considering the
“actual curve” shown in Figure.
 During its life, software will undergo change (maintenance). As
changes are made, it is likely that some new defects will be
introduced, causing the failure rate curve to spike as shown in
Figure.
 Before the curve can return to the original steady-state failure
rate, another change is requested, causing the curve to spike
again. Slowly, the minimum failure rate level begins to rise—the
software is deteriorating due to change.

3. Although the industry is moving toward component-based


construction, most software continues to be custom built.
 The reusable components have been created so that the engineer
can concentrate on the truly innovative elements of a design, that
is, the parts of the design that represent something new.
 In the software world, it is something that has only begun to be
achieved on a broad scale. A software component should be
designed and implemented so that it can be reused in many
different programs
 A software component should be designed and implemented so
that it can be reused in many different programs. Modern
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

reusable components encapsulate both data and the processing


that is applied to the data, enabling the software engineer to
create new applications from reusable parts.
 For example, today’s interactive user interfaces are built with
reusable components that enable the creation of graphics
windows, pull-down menus, and a wide variety of interaction
mechanisms.
b Define software on engineering. 2M
Ans Software engineering is the establishment and use of sound engineering Correct
principles in order to obtain economically software that is reliable and Definition-2M
works efficiently on real machines.

c State need of software requirement specification (SRS). 2M


Ans The need of SRS document is to provide Any two
points stating
 A detailed overview of software product, its parameters and need of SRS-
goals. 2M
 The description regarding the project's target audience and its
user interface hardware and software requirements.
 How client, team and audience see the product and its
functionality.

d Define Reactive Risk strategies. 2M


Ans A reactive risk strategy monitors the project for likely risks. Resources are Correct
set aside to deal with them, should they become actual problems. More Definition-
commonly, the software team does nothing about risks until something 2M
goes wrong. Then, the team flies into action in an attempt to correct the
problem rapidly. This is often called a fire-fighting mode. When this fails,
“crisis management” takes over and the project is in real jeopardy.

e Specify following cost directives of cocomo: 2M


 Product attributes (any two)
 Hardware attributes (any two).
Ans Product attributes – Product
 Required software reliability extent attributes (any
 Size of the application database two)-1M,
 The complexity of the product Hardware
Hardware attributes –
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 Run-time performance constraints attributes (any


 Memory constraints two)-1M
 The volatility of the virtual machine environment
 Required turnabout time
f Differentiate between Software Quality Management and Software 2M
Quality Assurance (any two points).
Ans Each correct
Software Quality Assurance Software Quality Control
differentiation
(QA) (QC) points- 1M

 It is a procedure that  It is a procedure that


focuses on providing focuses on fulfilling the
assurance that quality quality requested.
requested will be
achieved

 QA aims to prevent the  QC aims to identify and


defect fix defects

 It is a method to manage  It is a method to verify the


the quality- Verification quality-Validation

 It does not involve  It always involves


executing the program executing a program

 It's a Preventive technique  It's a Corrective technique

 It's a Proactive measure  It's a Reactive measure

 It is the procedure to  It is the procedure to


create the deliverables verify that deliverables

 QA involves in full  QC involves in full


software development life software testing life cycle
cycle

 In order to meet the  QC confirms that the


customer requirements, standards are followed
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

QA defines standards and while working on the


methodologies product

 It is performed before  It is performed only after


Quality Control QA activity is done

 It is a Low-Level  It is a High-Level
Activity, it can identify an Activity, it can identify an
error and mistakes which error that QA cannot
QC cannot

 Its main motive is to  Its main motive is to


prevent defects in the identify defects or bugs in
system. It is a less time- the system. It is a more
consuming activity time-consuming activity

 QA ensures that  QC ensures that whatever


everything is executed in we have done is as per the
the right way, and that is requirement, and that is
why it falls under why it falls under
verification activity validation activity

 It requires the  It requires the


involvement of the whole involvement of the
team Testing team

 The statistical technique  The statistical technique


applied on QA is known applied to QC is known as
as SPC or Statistical SQC or Statistical Quality
Process Control (SPC) Control

g Define Software Quality Assurance. 2M


Ans  Quality assurance consists of the auditing and reporting functions Correct
of management. Definition-
 The goal of quality assurance is to provide management with the 2M
data necessary to be informed about product quality, thereby
gaining insight and confidence that product quality is meeting its
goals.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

2. Attempt any THREE of the following: 12M


a Explain Software Engineering as layered technology approach. 4M
Ans Software engineering is a layered technology. The layers of software Correct
engineering as shown in the above diagram are:- Diagram -1M,
explanation -
3M

1. A Quality Focus:

Any engineering approach (including software engineering) must rest


on an organizational commitment to quality. Total quality
management, six sigma and similar philosophies foster a continuous
process improvement culture, and it is this culture that ultimately
leads to the development of increasingly more effective approaches
to software engineering. The bedrock that supports software
engineering is a quality focus.

2. Process Layer:

The foundation for software engineering is the process layer.


Software Engineering process is the glue that holds the technology
layers together and enables rational and timely development of
computer software. Process defines a framework that must be
established for effective delivery of software engineering technology.
The software process forms the basis for management control of
software projects and establishes the context in which technical
methods are applied, works products (models, documents, data,
reports, forms etc.) are produced, milestones are established, quantity
is ensured and change is properly managed.

3.Methods:
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Software Engineering methods provide the technical ―how to


building software. Methods encompass a broad array of tasks that
include communication, requirements analysis, design modeling,
program construction, testing and support.

4.Tools:

Software Engineering tools provide automated or semi-automated


support for the process and the methods. When tools are integrated so
that information created by one tool can be used by another, a system
for the support of software development, called computer–aided
software engineering is established.

b Explain with example Decision table 4M


Ans  Decision table is a software testing technique used to test Explanation-2
system behaviour for different input combinations. M, Example
 This is a systematic approach where the different input of Decision
combinations and their corresponding system behaviour table- 2 M
(Output) are captured in a tabular form. That is why it is also
called as a Cause-Effect table where Cause and effects are
captured for better test coverage.
 Example 1: Decision Base Table for Login Screen

 The condition is simple if the user provides correct username


and password the user will be redirected to the homepage. If
any of the input is wrong, an error message will be displayed.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Decision Table

Conditions Rule 1 Rule2 Rule3 Rule 4


Username(T/F
) F T F T
Password(T/F) F F T T
Output(E/H) E E E H

 Legend:
T – Correct username/password

F – Wrong username/password

E – Error message is displayed

H – Home screen is displayed

 Interpretation:
 Case 1 – Username and password both were wrong. The
user is shown an error message.
 Case 2 – Username was correct, but the password was
wrong. The user is shown an error message.
 Case 3 – Username was wrong, but the password was
correct. The user is shown an error message.
 Case 4 – Username and password both were correct, and
the user navigated to homepage.
c Explain following elements of management spectrum: 4M
i. People
ii. Process
iii. Product
iv. Project
Ans The management Spectrum: 4p’s Explanation
each element
Effective software project management focuses on the four P’s: of
people, product, process, and project. management
spectrum –
The People: 1M
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

1. The “people factor” is so important that the Software Engineering


Institute has developed a People Capability Maturity Model (People-
CMM) to continually improve its ability to attract, develop, motivate,
organize, and retain the workforce needed to accomplish its strategic
business objectives.
2. The people capability maturity model defines the following key
practice areas for software people:
a. Staffing
b. communication and coordination
c. work environment
d. performance management
e. Training, compensation, competency analysis and development,
career development, workgroup development, team/culture
development and others.
3. Organizations that achieve high levels of People-CMM maturity have
higher likelihood of implementing effective software project
management practices.

The Product:

1. Before a project can be planned, product objectives and scope should


be established, alternative solutions should be considered and
technical and management constraints should be identified.
2. Without this information, it is impossible to define reasonable (and
accurate) estimates of the cost, an effective assessment of risk, a
realistic breakdown of project tasks, or a manageable project schedule
that provides a meaningful indication of progress.
3. Objectives identify the overall goals for the product (from the
stakeholders’ points of view) without considering how these goals
will be achieved.
4. Scope identifies the primary data, functions, and behaviors that
characterize the product
5. The alternatives enable managers and practitioners to select a “best”
approach, given the constraints imposed by delivery deadlines,
budgetary restrictions, personnel availability, technical interfaces, and
other factors.

The Process:
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

1. A software process provides the framework from which a


comprehensive plan for software development can be established.
2. A small number of framework activities are applicable to all software
projects, regardless of their size or complexity.
3. A number of different task sets—tasks, milestones, work products,
and quality assurance points enable the framework activities to be
adapted to the characteristics of the software project and the
requirements of the project team.
4. Finally, umbrella activities—such as software quality assurance,
software configuration management, and measurement occur
throughout the process.

The Project:

1. To manage complexity, we conduct planned and controlled software


projects.
2. The success rate for present-day software projects may have improved
but our project failure rate remains much higher than it should be.
3. To avoid project failure, a software project manager and the software
engineers who build the product must avoid a set of common warning
signs, understand the critical success factors that lead to good project
management, and develop a common-sense approach for planning,
monitoring, and controlling the project.

d List and explain basic principles of project scheduling. 4M


Ans Basic Principles Correct listing
– 2M,
 Compartmentalization: The project must be explanation –
compartmentalized into a number of manageable activities 2M
and tasks.
 Interdependency: The interdependency of each
compartmentalized activity or task must be determined.
 Time allocation: Each task to be scheduled must be allocated
some number of work units.
 Effort validation: Every project has a defined number of
staff members.
 Defined responsibilities: Every task that is scheduled should
be assigned to a specific team member.
 Defined outcomes: Every task that is scheduled should have
a defined outcome.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 Defined milestones: Every task or group of tasks should be


associated with a project milestone. A milestone is
accomplished when one or more work products has been
reviewed for quality.

3. Attempt any THREE of the following: 12 M


a Prescriptive process model and agile process model. 4M
Ans Prescriptive process model agile process mode 1 M for each
Difference
Prescriptive process models Agile process models ,Any Four
stress detailed definition, emphasize project “agility” Difference
identification, and application and follow a set of principles
of process activates and tasks. that lead to a more informal
approach to software process.

A prescriptive model also Agile methods note that not


describes how each of these only do the software
elements are related to one requirements change, but so do
another. team members, the technology
being used.

It is Process oriented. It is people oriented.

It follows Life cycle model It follows Iterative and


(waterfall, spiral) development Incremental development
model. model.

Documentation required is to Documentation required is to


be comprehensive and be minimal and evolving.
constant.

Predictive planning is required Adaptive planning is required.

Customers role is important. Customers role is critical.

Formal communication is Informal communication is


required. required.

To maintain quality heavy To maintain quality continuous


planning and strict control with control of requirements and
late heavy testing is required.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

development with continuous


testing is required.

b Describe any four principles of communication for software 4M


engineering :
Ans Principle 1 Listen: 1M for one
principle, Any
four princple
 Try to focus on the speaker‘s words, rather than formulating your
response to those words.
 Ask for clarification if something is unclear, but avoid constant
interruptions.
 Never become contentious in your words or actions (e.g., rolling
your eyes or shaking your head) as a person is talking.

Principle 2 Prepare before you communicate:


 Spend the time to understand the problem before you meet with
others. If necessary, perform some research to understand
business domain.
 If you have responsibility for conducting a meeting, prepare an
agenda in advance of the meeting.

Principle 3 someone should facilitate the activity:

 Every communication meeting should have a leader (a facilitator)


 To keep the conversation moving in a productive direction,
 To mediate any conflict that does occur, and
 To ensure that other principles are followed.

Principle 4 Face-to-face communication is best:

 It usually works better when some other representation of the


relevant information is present.
 For example, a participant may create a drawing /document that
serve as a focus for discussion.

Principle 5 Take notes and document decisions:


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 Someone participating in the communication should serve as


a recorder and write down all important points and
decisions.

Principle 6 Strive for collaboration:

 Collaboration occurs when the collective knowledge of


members of the team is used to describe product or system
functions or features.
 Each small collaboration builds trust among team members
and creates a common goal for the team.

Principle 7 Stay focused; modularize your discussion:

 The more people involved in any communication, the more likely


that discussion will bounce from one topic to the next.
 The facilitator should keep the conversation modular; leaving one
topic only after it has been resolved.

Principle 8 If something is unclear, draw a picture:

 Verbal communication goes only so far.


 A sketch or drawing can often provide clarity when words fail to
do the job.

Principle 9

(a) Once you agree to something, move on.

(b) If you can’t agree to something, move on.

(c) If a feature or function is unclear and cannot be clarified at the


moment,

move on.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 The people who participate in communication should recognize


that many topics require discussion and that moving on is
sometimes the best way to achieve communication agility.

Principle 10 Negotiation is not a contest or a game: It works best


when both parties win.

 There are many instances in which you and other stakeholders


must negotiate functions and features, priorities, and delivery
dates.
 If the team has collaborated well, all parties have a common goal.
Still, negotiation will demand compromise from all parties.
c Draw proper labelled “LEVEL 1 Data Flow Diagram” (DFD) for 4M
student attendance system
Ans 1 M for level
0 and 3 M for
level 1 DFD

Level 0 Context Level

Level 1 DFD student


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Level 1 for admin

d State importance of “Function point “ and “lines of code” in 4M


concerned with project estimation
Ans Currently two metrics are popularly being used widely to estimate size: 2 M for
lines of code (LOC) and function point (FP). function point
and 2 M for
Lines of Code (LOC) lines of code

LOC is the simplest among all metrics available to estimate project size.

This metric is very popular because it is the simplest to use.

Using this metric, the project size is estimated by counting the number of
source instructions in the developed program. Obviously,

while counting the number of source instructions, lines used for


commenting the code and the header lines should be ignored.

Function Point (FP):

The conceptual idea behind the function point metric is that the size of a

software product is directly dependent on the number of different

Functions or features it supports. A software product supporting many

features would certainly be of larger size than a product with less number
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

of features. Each function when invoked reads some input data and

transforms it to the corresponding output data. For example, the issue book

feature (as shown in figure) of a Library Automation Software takes the

name of the book as input and displays its location and the number of copies

available. Thus, a computation of the number of input and the output data

values to a system gives some indication of the number of functions

supported by the system. Albrecht postulated that in addition to the number

of basic functions that a software performs, the size is also dependent on

the number of files and the number of interfaces.

4. Attempt any THREE of the following: 12 M


a Describe Extreme programming with proper diagram 4M
Ans Extreme programming is a lightweight, efficient, low-risk, flexible, 1 M for
predictable, scientific, and fun way to develop a software. eXtreme Diagram and 3
Programming (XP) was conceived and developed to address the M for
explanation
specific needs of software development by small teams in the face of
vague and changing requirements. Extreme Programming is one of the
Agile software development methodologies. It provides values and
principles to guide the team behavior. The team is expected to self-
organize. Extreme Programming provides specific core practices
where-  Each practice is simple and self-complete.  Combination of
practices produces more complex and emergent behavior.

Extreme Programming is based on the following values-

 Communication

 Simplicity

 Feedback

 Courage

 Respect
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Extreme Programming involves-

 Writing unit tests before programming and keeping all of the tests
running at all times. The unit tests are automated and eliminates
defects early, thus reducing the costs.

 Starting with a simple design just enough to code the features at hand
and redesigning when required.

 Programming in pairs (called pair programming), with two


programmers at one screen, taking turns to use the keyboard. While
one of them is at the keyboard, the other constantly reviews and
provides inputs.

 Integrating and testing the whole system several times a day.

 Putting a minimal working system into the production quickly and


upgrading it whenever required.

 Keeping the customer involved all the time and obtaining constant
feedback. Iterating facilitates the accommodating changes as the
software evolves with the changing requirements.

Extreme Programming solves the following problems often faced in


the software development projects-

 Slipped schedules: Short and achievable development cycles ensure


timely deliveries.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 Cancelled projects: Focus on continuous customer involvement


ensures transparency with the customer and immediate resolution of
any issues.

 Costs incurred in changes: Extensive and ongoing testing makes sure


the changes do not break the existing functionality. A running working
system always ensures sufficient time for accommodating changes
such that the current operations are not affected.

 Production and post-delivery defects: Emphasis is on the unit tests to


detect and fix the defects early.

 Misunderstanding the business and/or domain: Making the customer


a part of the team ensures constant communication and clarifications.

 Business changes: Changes are considered to be inevitable and are


accommodated at any point of time.

 Staff turnover: Intensive team collaboration ensures enthusiasm and


good will. Cohesion of multi-disciplines fosters the team spirit

Extreme Programming takes the effective principles and practices to


extreme levels.

Extreme Programming

 Code reviews are effective as the code is reviewed all the time.

 Testing is effective as there is continuous regression and testing.

 Design is effective as everybody needs to do refactoring daily.

 Integration testing is important as integrate and test several times a


day.

 Short iterations are effective as the planning game for release


planning and iteration planning.

b List and explain any four principles of “Core Principles” of 4M


Software Engineering.

Ans The First Principle: The Reason It All Exists 1 M for one
principle and
explanation
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 A software system exists for one reason: to provide value to its


users. All decisions should be made with this in mind.
 Before specifying a system requirement, system functionality,
before determining the hardware platforms, first determine,
whether it adds value to the system.

The Second Principle: KISS (Keep It Simple, Stupid!)

 All design should be as simple as possible, but no simpler. This


facilitates having a more easily understood and easily maintained
system.
 It doesn’t mean that features should be discarded in the name of
simplicity.
 Simple also does not mean “quick and dirty.” In fact, it often
takes a lot of thought and work over multiple iterations to
simplify.
The Third Principle: Maintain the Vision
 A clear vision is essential to the success of a software project.
 If you make compromise in the architectural vision of a software
system, it will weaken and will eventually break even the well-
designed systems.
 Having a powerful architect who can hold the vision helps to
ensure a very successful software project.
The Fourth Principle: What You Produce, Others Will Consume
 Always specify, design, and implement by keeping in mind that
someone else will have to understand what you are doing.
 The audience for any product of software development is
potentially large.
 Design (make design), keeping the implementers (programmers)
in mind. Code (program) with concern for those who will
maintain and extend the system.
 Someone may have to debug the code you write, and that makes
them a user of your code.
The Fifth Principle: Be Open to the Future
 A system with a long lifetime has more value.
 True “industrial-strength” software systems must last for longer.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 To do this successfully, these systems must be ready to adapt


changes.
 Always ask “what if,” and prepare for all possible answers by
creating systems that solve the general problem.

The Sixth Principle: Plan Ahead for Reuse


 Reuse saves time and effort.
 The reuse of code and designs has a major benefit of using
object-oriented technologies.
 Planning ahead for reuse reduces the cost and increases the value
of both the reusable components and the systems into which they
are incorporated.
The Seventh principle: Think!
 Placing clear, complete thought before action almost always
produces better results.
 When you think about something, you are more likely to do it
right. You also gain knowledge about how to do it right again.
 If you do think about something and still do it wrong, it becomes
a valuable experience.
 Applying the first six principles requires intense thought, for
which the potential rewards are enormous.

c Explain RMMM plan with example . 4M


Ans 1 M for
A risk management plan or plan risk management is a document that
introduction to
a prepares to foresee risks, estimate impacts, and define responses to
risks. It also contains a risk matrix. risk and 3 M
for RMMM
A risk is "an uncertain event or condition that, if it occurs, has a positive plan example
or negative effect on a project's objectives." Risk is inherent with
any and project manager should assess risks continually and develop
plans to address them. The risk management plan contains an analysis of
likely risks with both high and low impact, as well as mitigation
strategies to help the project avoid being derailed should common
problems arise. Risk management plans should be periodically reviewed
by the project team to avoid having the analysis become stale and not
reflective of actual potential project risks.
Most critically, risk management plans include a risk strategy.
There are two characteristics of risk i.e. uncertainty and loss.

Risk Mitigation, Monitoring and Management (RMMM)


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Risk analysis support the project team in constructing a strategy to deal


with risks.

There are three important issues considered in developing an


effective strategy:
 Risk avoidance or mitigation - It is the primary strategy which is
fulfilled through a plan.
 Risk monitoring - The project manager monitors the factors and gives
an indication whether the risk is becoming more or less.
 Risk management and planning - It assumes that the mitigation effort
failed and the risk is a reality.

RMMM PlanIt is a part of the software development plan or a separate


document.

 The RMMM plan documents all work executed as a part of risk analysis
and used by the project manager as a part of the overall project plan.
 The risk mitigation and monitoring starts after the project is started and
the documentation of RMMM is completed.

Risk :Computer Crash

Mitigation :

The cost associated with a computer crash resulting in a loss of data is


crucial. A computer crash itself is not crucial, but rather the loss of data.
A loss of data will result in not being able to deliver the product to the
customer. This will result in a not receiving a letter of acceptance from
the customer. Without the letter of acceptance, the group will receive a
failing grade for the course. As a result the organization is taking steps to
make multiple backup copies of the software in development and all
documentation associated with it, in multiple locations. ·

Monitoring :

When working on the product or documentation, the staff member


should always be aware of the stability of the computing environment
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

they’re working in. Any changes in the stability of the environment


should be recognized and taken seriously. ·

Management :

The lack of a stable-computing environment is extremely hazardous to a


software development team. In the event that the computing environment
is found unstable, the development team should cease work on that
system until the environment is made stable again, or should move to a
system that is stable and continue working there.

d Explain any one project cost estimation approach. 4M

Ans (i) Heuristic Any one


approach -
Heuristic techniques assume that the relationships among the Explanation 4
different project parameters can be modeled using suitable M
mathematical expressions. Once the basic (independent)
parameters are known, the other (dependent) parameters can
be easily determined by substituting the value of the basic
parameters in the mathematical expression. Different
heuristic estimation models can be divided into the following
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

two classes: single variable model and the multi variable


model.

Single variable estimation models provide a means to


estimate the desired characteristics of a problem, using some
previously estimated basic (independent) characteristic of the
software product such as its size. A single variable estimation
model takes the following form:
Estimated Parameter = c1 * e1d1

In the above expression, e is the characteristic of the software


which has already been estimated (independent variable).
Estimated Parameter is the dependent parameter to be
estimated. The dependent parameter to be estimated could be
effort, project duration, staff size, etc. c1 and d1 are
constants. The values of the constants c1 and d1 are usually
determined using data collected from past projects (historical
data). The basic COCOMO model is an example of single
variable cost estimation model.

A multivariable cost estimation model takes the following


form:

Estimated Resource = c1 * e1d1 + c 2 * e2 d2 + ...

Where e1, e2, … are the basic (independent) characteristics


of the software already estimated, and c1, c2, d1, d2, … are
constants.

(ii) Analytical

Halstead’s Software Science – An Analytical Technique


Halstead’s software science is an analytical technique to
measure size, development effort, and development cost of
software products. Halstead used a few primitive program
parameters to develop the expressions for over all program
length, potential minimum value, actual volume, effort, and
development time.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Example:
Let us consider the following C program:
main( )
{
int a, b, c, avg;

scanf(“%d %d %d”, &a, &b, &c);


avg = (a+b+c)/3;
printf(“avg = %d”, avg);
}

The unique operators are:


main,(),{},int,scanf,&,“,”,“;”,=,+,/, printf

The unique operands are:


a, b, c, &a, &b, &c, a+b+c, avg, 3, “%d %d %d”, “avg = %d”

Therefore,
n1 = 12, n2 = 11

Estimated Length = (12*log12 + 11*log11)


= (12*3.58 + 11*3.45)
= (43+38) = 81

Volume = Length*log(23)
= 81*4.52
= 366

e Draw time chart for Libraray management system System (5 4M


days a week). Consider broad phases of SDLC.

Ans Week 1 Week 2 Week 3


D D D D D D D D D D D D D D D
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Ananlysis

Design
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Coding

Testing

Deployme
nt

Maintena
nce

5 Attempt any TWO of the following: 12 M


a Enlist requirement Gathering and Analysis for web based project 6M
for registering candidates for contest
Ans Requirement gathering includes suggestions and ideas for ways to best 6M – 1M for 1
capture the different types of requirement (functional, system, point
technical, etc.) during the gathering process.

1. Functional requirements
The functional requirements are the requirements that will enable
solving the real world problem. The web based project must be able
to register the candidates for contest.

2. Non-functional requirements
These requirements aim at providing support, security and facilitate
user interaction segment of the website.

 The project must enable the candidates to safely enter their


passwords and other biometric information.
 There must be no repetition in registration of candidates i.e the
candidates must be registered only once.

3. Business requirements: They are high-level requirements that


are taken from the business case from the projects.
For eg:-
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Qualifying criteria Allowed/Disallowed

Indian Nationality Registration Allowed

Age>18 Allowed

No criminal record Allowed

4. Architectural and Design requirements: These requirements


are more detailed than business requirements. It determines the
overall design required to implement the business requirement.
 The web based project must be supported by different
operating systems , PC and mobile compatibility etc.
 The hardware must be integrated so as to accept the
fingerprint details of a candidate and register him in the
system.
 The database of the project must be updated.
5. System and Integration requirements: At the lowest level, we
have system and integration requirements. It is detailed
description of each and every requirement. It can be in form of
user stories which is really describing everyday business
language. The requirements are in abundant details so that
developers can begin coding.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

6. Documenting the requirement using traceability matrix


A Traceability Matrix is a document that co-relates any two-
baseline documents that require a many-to-many relationship to
check the completeness of the relationship.It is used to track the
requirements and to check the current project requirements are
met.

Req no Description Test case ID Status


1 Login TC1 TC1 Pass
2 Feed in TC2 TC2 Pass
biometric
details
b Differentiate between White box and Black Box Testing. 6M
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Ans Sr White box testing Black Box Testing 6M- 1M for


.n 1point
o

1 The tester needs to have This technique is used to test


the knowledge of internal the software without the
code or program. knowledge of internal code
or program.

2 It aims at testing the It aims at testing the


structure of the item being functionality of the
tested. software.

3 It is also called structural It also knowns as data-


testing, clear box testing, driven, box testing, data-,
code-based testing, or and functional testing.
glass box testing.

4 Testing is best suited for a This type of testing is ideal


lower level of testing like for higher levels of testing
Unit Testing, Integration like System Testing,
testing. Acceptance testing.

5 Statement Coverage, Equivalence partitioning,


Branch coverage, and Path Boundary value analysis are
coverage are White Box Black Box testing technique
testing technique.

6 Can be based on detailed Can be based on


design documents. Requirement specification
document.

c Describe COCOMO II model for evaluating size of software project 6M


with any three parameters in detail
Ans COCOMO-II is the revised version of the original Cocomo 3M for
(Constructive Cost Model) and is developed at University of Southern Description,
California. It is the model that allows one to estimate the cost, effort 3M for
and schedule when planning a new software development activity. parameters
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

COCOMO II provides the following three-stage series of models for


estimation of Application Generator, System Integration, and
Infrastructure software projects:

Application
Generators and
End User Infrastructure
composition aids
Programming
Application
Composition

System
Integration

 The Application Composition Model

This model involves prototyping efforts to resolve potential high-


risk issues such as user interfaces, software/system interaction,
performance, or technology maturity. The costs of this type of
effort are best estimated by the Applications Composition model.
It is suitable for projects built with modern GUI-builder tools. It is
based on new Object Points.

 The Early Design Model

The Early Design model involves exploration of alternative


software/system architectures and concepts of operation. It uses a
small set of new Cost Drivers, and new estimating equations.
Based on Unadjusted Function Points or KSLOC.

 The Post-Architecture Model

The Post-Architecture model involves the actual development and


maintenance of a software product
Estimates
In COCOMO II effort is expressed as Person Months (PM). The inputs
are the Size of software development, a constant, A, and a scale factor, B.
The size is in units of thousands of source lines of code (KSLOC). The
constant, A, is used to capture the multiplicative effects on effort with
projects of increasing size.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

The parameters used in COCOMO II are described below:-


a. Person month- A person month is the amount of time one person
spends working on the software development project for one
month. The nominal effort for a given size project and expressed
as person months (PM) is given by Equation 1.
PMnominal =A* (Size)B
Where
A- constant
B = 0.91 + 0.01 ∑(exponent driver ratings)
- B ranges from 0.91 to 1.23
- 5 drivers; 6 rating levels each
b. Maintenance size is the amount of project code that is change. It
is calculated as below:-

Size=[(BaseCodeSize) *MCF] *MAF

COCOMO II uses the reuse model for maintenance when the amount of
added or changed base source code is less than or equal to 20% or the new
code being developed. Base code is source code that already exists and is
being changed for use in the current project. For maintenance projects that
involve more than 20% change in the existing base code (relative to new
code being developed) COCOMO II uses maintenance size.
c. Maintenance Change Factor MCF

The percentage of change to the base code is called the Maintenance


Change Factor (MCF).

MCF= (SizeAdded +SizeModified)/BaseCodeSize

d. Maintenance effort (MAF)

COCOMO II instead used the Software Understanding (SU) and


Programmer Unfamiliarity (UNFM) factors from its reuse model to
model the effects of well or poorly structured/understandable
software on maintenance effort.

MAF=1+ (SU.01*UNFM)

6 Attempt any TWO of the following: 12 M


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

a Draw and explain Transition diagram from requirement model to 6M


design model
Ans Transition diagram from requirement model to design model 2M –diiagram,
4M –
explanation

Software requirements, manifested by the data, functional, and


behavioural models, feed the design task. Using one of a number of design
methods, the design task produces a data design, an architectural design,
an interface design, and a component design. Each of the elements of the
analysis model provides information that is necessary to create the four
design models required for a complete specification of design.

Design is a meaningful engineering representation of something that is to


be built. It can be traced to a customer’s requirements and at the same time
assessed for quality against a set of predefined criteria for ―good‖ design.
In the software engineering context, design focuses on four major areas of
concern: data, architecture, interfaces, and components Design begins
with the requirements model.

The data design transforms the information domain model created during
analysis into the data structures that will be required to implement the
software. The data objects and relationships defined in the entity
relationship diagram and the detailed data content depicted in the data
dictionary provide
the basis for the data design activity. Part of data design may occur in
conjunction with the design of software architecture. More detailed data
design occurs as each software component is designed. The architectural
design defines the relationship between major structural elements of the
software, the design pattern that can be used to achieve the requirements
that have been defined for the system, and the constraints that affect the
way in which architectural design patterns can be applied.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

The architectural design representation the framework of a computer-


based system can be derived from the system specification, the analysis
model, and the interaction of subsystems defined within the analysis
model. The interface design describes how the software communicates
within itself, with systems that interoperate with it, and with humans who
use it. An interface implies a flow
of information (e.g., data and/or control) and a specific type of behavior.
Therefore, data and control flow diagrams provide much of the
information required for interface design. The component-level design
transforms structural elements of the software architecture into a
procedural description of software components. Information obtained
from the PSPEC, CSPEC, and STD serve as the basis for component
design.
b Describe CMMI. Give significance of each level. 6M
Ans The Capability Maturity Model Integration (CMMI), a comprehensive 1M- diagram ,
process meta-model that is predicated on a set of system and software 5M- 5 points
engineering capabilities that should be present as organizations reach
different levels of process capability and maturity. The CMMI represents
a process meta-model in two different ways: ( 1) Continuous model and
(2) Staged model. The continuous CMMI meta-model describes a process
in two dimensions. Each process area (e.g. project planning or
requirements management) is formally assessed against specific goals and
practices and is rated according to the following capability levels:

Level 1: Initial. The software process is characterized as ad hoc and


occasionally even chaotic. Few processes are defined, and success
depends on individual effort.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Level 2: Repeatable. Basic project management processes are established


to track cost, schedule, and functionality. The necessary process discipline
is in place to repeat earlier successes on projects with similar applications.

Level 3: Defined. The software process for both management and


engineering activities is documented, standardized, and integrated into an
organization wide software process. All projects use a documented and
approved version of the organization's process for developing and
supporting software. This level includes all characteristics defined for
level 2

Level 4: Managed. Detailed measures of the software process and


product quality are collected. Both the software process and products are
quantitatively understood and controlled using detailed measures. This
level includes all characteristics defined for level 3

Level 5: Optimizing. Continuous process improvement is enabled by


quantitative feedback from the process and from testing innovative ideas
and technologies. This level includes all characteristics defined for level
4.

c Identify and enlist requirement for given modules of employee 6M


management software
Ans i. Employee detail 2 M for
employee
ii. Employee salary detail, salary,
performance
iii.Employee performance each
This is with perspective of employee management software.
Requirements for following
modules will be as

i. Employee details
a. Getting information about the customer
b. Updation of employee details (department, change of address,
emp_code etc)
c. Assignment of tasks , duties and responsibilities.
d. Recording of employee attendance.

ii. Employee salary


a. Salary calculation
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

b. Allowances, special bonus calculation and approval


c. Tax statement/certificate
d. Apply loan/approvals

iii. Performance
a. Recording annual performance
b. Details about parameters for performance appraisal
c. Analysis performance and determining hike in payment.
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Winter – 19 EXAMINATION
Subject Name: Software Engineering Model Answer Subject Code: 22413
Important Instructions to examiners:
1) The answers should be examined by key words and not as word-to-word as given in
the model answer scheme.
2) The model answer and the answer written by candidate may vary but the examiner
may try to assess the understanding level of the candidate.
3) The language errors such as grammatical, spelling errors should not be given more
Importance (Not applicable for subject English and Communication Skills.
4) While assessing figures, examiner may give credit for principal components
indicated in the figure. The figures drawn by candidate and model answer may vary.
The examiner may give credit for any equivalent figure drawn.
5) Credits may be given step wise for numerical problems. In some cases, the assumed
constant values may vary and there may be some difference in the candidate’s
answers and model answer.
6) In case of some questions credit may be given by judgement on part of examiner of
relevant answer based on candidate’s understanding.
7) For programming language papers, credit may be given to any other program based
on equivalent concept.

Q. Sub Answer Marking


No Q. Scheme
. N.
1. Attempt any Five of the following: 10M
a Define software. Draw the failure curve for software. 2M
Ans Definition of Software Correct
definition 1M
Software is: 1. Instructions (computer programs) that when executed and diagram 1M
provide desired features, function, and performance; 2. Data structures
that enable the programs to adequately manipulate information, and 3.
Descriptive information (documents) in both hard copy and virtual forms
that describes the operation and use of the programs.

1|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

b State two characteristics of Software. 2M


Ans Characteristics of software :
 Software is developed or engineered; it is not manufactured in the Any two correct
classical sense. Characteristics -
 Software doesn’t “wear out.” But it does deteriorate! 1M each
 Although the industry is moving toward component-based
construction, most software continues to be custom built.
c Define software requirement specification 2M
Ans Concept: A software requirements specification (SRS) is a document Correct
that is created when a detailed description of all aspects of the software to definition -2M
be built that must be specified before the project is to commence. It is a
primary document for development of software. It is written by Business
Analysts who interact with client and gather the requirements to build the
software.
d Define proactive and reactive risk strategy. 2M
Ans Reactive risk strategies Correct
• Reactive risk strategy follows that the risks have to be tackled at definition -1M
the time of their occurrence. each
• No precautions are to be taken as per this strategy.
• They are meant for risks with relatively smaller impact.
• More commonly, the software team does nothing about risks until
something goes wrong.
• Then, the team flies into action in an attempt to correct the
problem rapidly. This is often called a fire-fighting mode.
• Proactive risk strategies
• It follows that the risks have to be identified before start of the
project.
• They have to be analysed by assessing their probability of
occurrence, their impact after occurrence, and steps to be followed
for its precaution.
e Name two cost estimation approaches. 2M
Ans  Heuristic Estimation Approach Any two
 Analytical Estimation Approach techniques-1M
 Empirical Estimation Approach each

f Define software quality. 2M


Ans 1.Quality means that a product satisfies the demands of its specifications Correct
2. It also means achieving a high level of customer satisfaction with the Definition-2M
product
3. In software systems this is difficult
 Customer quality requirements(e.g. efficiency or reliability) often
conflict with developer quality requirements (e.g. maintainability
or reusability)

2|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 Software specifications are often incomplete, inconsistent, or


ambiguous
g Name four software quality assurance activities. 2M
Ans These activities are performed (or facilitated) by an independent SQA
group that: Any 4 activity
i. Prepares an SQA plan for a project. name-1/2M each
ii. Participates in the development of the project’s software process
description.
iii. Reviews software engineering activities to verify compliance with the
defined software process.
iv. Audits designated software work products to verify compliance with
those defined as part of the software process.
v. Ensures that deviations in software work and work products are
documented and handled according to a documented procedure.
vi. Records any noncompliance and reports to senior management.

2. Attempt any Three of the following: 12M


a State and explain with examples four categories of software. 4M
Ans Types / Categories of Software Any 4 types
1. System Software explanation with
1. System software is a collection of programs written to service other example-4M
programs.
2. Few examples of system software are compilers, editors, and file
management utilities, process complex, but determinate, information
structures.
3. Other systems applications are operating system components, drivers,
and telecommunications.
Example : DOS, WINDOWS
2. Real-time Software
(Question: Explain the features of real world software. – 3 Marks)
1. Software that monitors or analyses or controls real-world events as they
occur is called real time.
2. Elements of real-time software include a data gathering component that
collects and formats information from an external environment, an
analysis component that transforms information as required by the
application.
3. A control/output component that responds to the external environment
and a monitoring component that coordinates all other components so that
real-time response can be maintained.
Example : airline reservation system, railway reservation system
3. Business Software
1. Business information processing is the largest single software
application area. Discrete "systems”.

3|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

2. For example: payroll, accounts receivable/payable, inventory have


evolved into management information system (MIS) software that
accesses one or more large databases containing business information.
3. Applications in this area restructure existing data in a way that
facilitates business operations or management decision making.
4. In addition to conventional data processing application, business
software applications also encompass interactive computing.
Example : Tally
4. Engineering and Scientific Software
1. Engineering and scientific software have been characterized by
"number crunching" algorithms.
2. Applications range from astronomy to volcanology, from automotive
stress analysis to space shuttle orbital dynamics, and from molecular
biology to automated manufacturing.
3. However, modern applications within the engineering/scientific area
are moving away from conventional numerical algorithms.
4. Computer-aided design, system simulation, and other interactive
applications have begun to take on real-time and even system software
characteristics.
Example : CAD / CAM software
5. Embedded Software
1. Intelligent products have become commonplace in nearly every
consumer and industrial market.
2. Embedded software resides in read-only memory and is used to control
products and systems for the consumer and industrial markets.
3. Embedded software can perform very limited and esoteric functions,
for example: keypad control for a microwave oven.
4. To provide significant function and control capability, for example:
digital functions in an automobile such as fuel control, dashboard
displays, and braking systems.
Example : Microwave, Washing machine software
6. Personal Computer Software
1. The personal computer software market has burgeoned over the past
two decades.
2.Word processing, spread sheets, computer graphics, multimedia,
entertainment, database management, personal and business fi
applications, external network, and database access are only a few of
hundreds of applications.
Example: Microsoft word, Excel.
b Explain the notations used for preparing a Data Flow diagram. 4M
Ans Circle: A circle (bubble) shows a process that transforms data inputs into Correct symbols
data outputs. with explanation
Data Flow: A curved line shows the flow of data into or out of a process -1M each
or data store.

4|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Data Store: A set of parallel lines shows a place for the collection of data
items. A data store indicates that the data is stored which can be used at a
later stage or by the other processes in a different order. The data store
can have an element or group of elements.
Source or Sink: Source or Sink is an external entity and acts as a source
of system inputs or sink of system outputs.

c Describe 4 P’s of management spectrum giving their significance. 4M


Ans The Management Spectrum – 4 Ps and their Significance Description of
Effective software project management focuses on these items (in this each P’s-1M
order) Deals with the cultivation of motivated, highly skilled people each
1. The people
i. Consists of the stakeholders, the team leaders, and the software team
2. The product
i. Product objectives and scope should be established before a project
can be planned.
3. The process
i. The software process provides the framework from which a
comprehensive plan for software development can be established.
4. The project
i. Planning and controlling a software project is done for one primary
reason…it is the only known way to manage complexity
ii. In a 1998 survey, 26% of software projects failed outright, 46%
experienced cost and schedule overruns.
d Explain four basic principles of software project scheduling.

5|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Ans Basic principles software project scheduling:


Compartmentalization: The project must be compartmentalized into a
number of manageable activities and tasks. To accomplish Any four correct
compartmentalization, both the product and the process are Decomposed. principles -1M
each
Interdependency: The interdependency of each compartmentalized
activity or task must be determined. Some tasks must occur in sequence
while others can occur in parallel. Some activities cannot commence until
the work product produced by another is available.
Other activities can occur independently.

Time allocation: Each task to be scheduled must be allocated some


number of work units (e.g., person-days of effort). In addition, each task
must be assigned a start date and a completion date that are a function of
the interdependencies and whether work will be conducted on a fulltime
or part-time basis.

Effort validation: Every project has a defined number of staff members.


As time allocation occurs, the project manager must ensure that no more
than the allocated number of people has been scheduled at any given time.

Defined responsibilities: Every task that is scheduled should be assigned


to a specific team member. Defined outcomes: Every task that is
scheduled should have a defined outcome.

Defined milestones: Every task or group of tasks should be associated


with a project milestone. Program evaluation and review technique
(PERT) and critical path method (CPM) are two project scheduling
Methods that can be applied to software development.

Defined outcomes – Every task that is scheduled should have a defined


outcome for software projects such as a work product or part of a work
product – Work products are often combined in deliverables

3. Attempt any Three of the following: 12M


a Explain Process framework with a suitable diagram. 4M
Ans A process framework establishes the foundation for a complete software Description 2M
process by identifying a small number of framework activities that are Diagram 2 M
applicable to all software projects; In addition, the process framework
encompasses a set of umbrella activities that are applicable across the
entire software process.

6|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Basic framework activities:


1. Communication: This framework activity involves heavy
communication & collaboration with the customer (and the stakeholders)
and encompasses requirements gathering and other related activities.
2. Planning: This activity establishes a plan for the software engineering
work that follows. It describes the technical tasks to be conducted; the
risks are analyzed. Project tracking should be done. Deadline is fixed.
3. Modeling: This activity encompasses the creation of models that allow
the developer & the customer to better understand software requirements
& the design that will achieve those requirements.
4. Construction: This activity combines code generation and the testing
that is required uncovering errors in the code.
5. Deployment: The software is delivered to the customer who evaluates
the delivered product and provides feedback based on the evaluation.
b Describe four principles of good planning. 4M
Ans Principle 1. Understand the scope of the project. It’s impossible to use Any 4
a road map if you don’t know where you‘re going. Scope provides the Principles; 1 M
software team with a destination. each
Principle 2. Involve stakeholders in the planning activity. Stakeholders
define priorities and establish project constraints. To accommodate these
realities, software engineers must often negotiate order of delivery, time
lines, and other project-related issues.
Principle 3. Recognize that planning is iterative. A project plan is never
engraved in stone. As work begins, it is very likely that things will change.
As a consequence, the plan must be adjusted to accommodate these
changes. In addition, iterative, incremental process models dictate re-
planning after the delivery of each software increment based on feedback
received from users.
Principle 4. Estimate based on what you know. The intent of estimation
is to provide an indication of effort, cost, and task duration, based on the
team‘s current understanding of the work to be done. If information is
vague or unreliable, estimates will be equally unreliable.
Principle 5.Consider risk as you defines the plan. If you have identified
risks that have high impact and high probability, contingency planning is
necessary. In addition, the project plan (including the schedule) should be

7|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

adjusted to accommodate the likelihood that one or more of these risks


will occur.
Principle 6. Be realistic. People don‘t work 100 percent of every day.
Noise always enters into any human communication. Omissions and
ambiguity are facts of life. Change will occur. Even the best software
engineers make mistakes. These and other realities should be considered
as a project plan is established.
Principle 7.Adjust granularity as you defines the plan. Granularity
refers to the level of detail that is introduced as a project plan is developed.
A high-granularity plan provides significant work task detail that is
planned over relatively short time increments (so that tracking and control
occur frequently). A low-granularity plan provides broader work tasks
that are planned over longer time periods. In general, granularity moves
from high to low as the project time line moves away from the current
date. Over the next few weeks or months, the project can be planned in
significant detail. Activities that won‘t occur for many months do not
require high granularity (too much can change).
Principle 8. Define how you intend to ensure quality. The plan should
identify how the software team intends to ensure quality. If technical
reviews are to be conducted, they should be scheduled. If pair
programming is to be used during construction, it should be explicitly
defined within the plan.
Principle 9. Describe how you intend to accommodate change. Even
the best planning can be obviated by uncontrolled change. You should
identify how changes are to be accommodated as software engineering
work proceeds. For example, can the customer request a change at any
time? If a change is requested, is the team obliged to implement it
immediately? How is the impact and cost of the change assessed?
Principle 10.Track the plan frequently and make adjustments as
required. Software projects fall behind schedule one day at a time.
Therefore, it makes sense to track progress on a daily basis, looking for
problem areas and situations in which scheduled work does not conform
to actual work conducted. When slippage is encountered, the plan is
adjusted accordingly.
c Draw and explain Level 1 DFD for railway reservation system. 4M
Ans Diagram 2 M
Description 2

8|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

The passenger can initiate either Reservation process or Enquiry process;


If a user opts for Reservation process then the system shall proceed with
ticket generation process and same needs to be notified to the Admin. If
user opts for enquiry module then appropriate request shall be entertain
and result to be displayed to the user.
d With an example, explain Line of Code (LOC) based estimation. 4M
Ans LOC-Based Estimation: As an example of LOC and FP problem-based Description 2M
estimation techniques, let us consider a software package to be developed Example 2M
for a computer-aided design application for mechanical components.
A review of the System Specification indicates that the software is to
execute on an engineering workstation and must interface with various
computer graphics peripherals including a mouse, digitizer, high
resolution color display and laser printer.
Using the System Specification as a guide, a preliminary statement of
software scope can be developed:
Example:
Function Estimated
LOC
User interface and control 2,300
facilities (UICF)
Two-dimensional geometric 5,300
analysis (2DGA)
Three-dimensional geometric 6,800
analysis (3DGA)
Database management (DBM) 3,350
Computer graphics display 4,950
facilities (CGDF)
Peripheral control function 2,100
(PCF)
Design analysis modules 8,400
(DAM)

9|2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Estimated lines of code 33,200

4. Attempt any Three of the following: 12M


a Explain waterfall process model. State its advantages and 4M
disadvantages.
Ans Description 2M
Any 2
advantage 1M
Any 2
Disadvantages
2M
The waterfall model is a traditional method, sometimes called the classic
life cycle. This is one of the initial models. As the figure implies stages
are cascaded and shall be developed one after the other. It suggests a
systematic, sequential approach to software development that begins with
customer specification of requirements and progresses through,
communication, planning, modeling construction and deployment. In
other words, one stage should be completed before the other begins.
Hence, when all the requirements are elicited by the customer, analyzed
for completeness and consistency, documented as per requirements, the
development and design activities commence. One of the main needs of
this model is the user ‘s explicit prescription of complete requirements at
the start of development. For developers it is useful to layout what they
need to do at the initial stages. Its simplicity makes it easy to explain to
customers who may not be aware of software development process. It
makes explicit with intermediate products to begin at every stage of
development. One of the biggest limitations is it does not reflect the way
code is really developed. Problem is well understood but software is
developed with great deal of iteration. Often this is a solution to a problem
which was not solved earlier and hence software developers shall have
extensive experience to develop such application; as neither the user nor
the developers are aware of the key factors affecting the desired outcome
and the time needed. Hence at times the software development process
may remain uncontrolled. Today software work is fast paced and subject
to a never-ending stream of changes in features, functions and information
content. Waterfall model is inappropriate for such work. This model is
useful in situation where the requirements are fixed and work proceeds to
completion in a linear manner.
Advantages of waterfall model:
1. This model is simple and easy to understand and use.
2. It is easy to manage due to the rigidity of the model – each phase
has specific deliverables and a review process.

10 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

3. In this model phases are processed and completed one at a time.


Phases do not overlap.
4. Waterfall model works well for smaller projects where
requirements are very well understood.
Disadvantages of waterfall model:
1. Once an application is in the testing stage, it is very difficult to go
back and change something that was not well-thought out in the
concept stage.
2. No working software is produced until late during the life cycle.
3. High amounts of risk and uncertainty.
4. Not a good model for complex and object-oriented projects.
5. Poor model for long and ongoing projects.
6. Not suitable for the projects where requirements are at a moderate
to high risk of changing.
b Enlist core principles of software engineering practice. 4M
Ans 1. Reason it all exists. Provide value to the user List of all 7 core
2.Keep it simple stupid principles 4M
3.Maintain the vision
4. What you reproduce, someone else will have to consume. (implement
knowing someone else will have to understand what you are doing)
5.Be open to the future
6. Plan ahead for reuse Plan ahead for reuse Think!
c Describe RMMM Strategy. 4M
Ans Risk mitigation, monitoring, and management (RMMM) plan. A risk
management strategy can be included in the software project plan or the
risk management steps can be organized into a separate Risk Mitigation,
Monitoring and Management Plan. The RMMM plan documents all work Description 4M
performed as part of risk analysis and is used by the project manager as any relevant
part of the overall project plan. Once RMMM has been documented and description shall
the project has begun, risk mitigation and monitoring steps commence. be considered
Risk mitigation is a problem avoidance activity.
Risk monitoring is a project tracking activity with three primary
objectives:
(1) To assess whether predicted risks do, in fact, occur;
(2) To ensure that risk aversion steps defined for the risk are being
properly applied; and
(3) To collect information that can be used for future risk analysis.
In many cases, the problems that occur during a project can be traced
to more than one risk. Another job of risk monitoring is to attempt to
allocate origin (what risk(s) caused which problems throughout the
project).
An effective strategy must consider three issues:
• Risk avoidance
• Risk monitoring
• Risk management and contingency planning.

11 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

If a software team adopts a proactive approach to risk, avoidance is always


the best strategy. This is achieved by developing a plan for risk mitigation.
To mitigate this risk, project management must develop a strategy for
reducing turnover. Among the possible steps to be taken are
• Meet with current staff to determine causes for turnover (e.g., poor
working conditions, low pay, and competitive job market).
• Mitigate those causes that are under our control before the project
starts.
• Once the project commences, assume turnover will occur and
develop techniques to ensure continuity when people leave.
• Organize project teams so that information about each
development activity is widely dispersed.
• Define documentation standards and establish mechanisms to be
sure that documents are developed in a timely manner.
• Conduct peer reviews of all work (so that more than one person is
"up to speed).
• Assign a backup staff member for every critical technologist. As
the project proceeds, risk monitoring activities commence. The
project manager monitors factors that may provide an indication
of whether the risk is becoming more or less likely. In the case of
high staff turnover, the following factors can be monitored:
• General attitude of team members based on project pressures.
• The degree to which the team has jelled.
• Interpersonal relationships among team members.
• Potential problems with compensation and benefits.
• The availability of jobs within the company and outside it.
In addition to monitoring these factors, the project manager should
monitor the effectiveness of risk mitigation steps. RMMM steps incur
additional project cost. Part of risk management, therefore, is to evaluate
when the benefits accrued by the RMMM steps are outweighed by the
costs associated with implementing them. In essence, the project planner
performs a classic cost/benefit analysis.
d Describe the Analytical method of project cost estimation with 4M
example.
Ans Analytical estimation techniques derive the required results starting with Description
basic assumptions regarding the project. Thus, unlike empirical and 2M
heuristic techniques, analytical techniques do have scientific basis. Example 2M
Halstead’s software science is an example of an analytical technique.
Halstead’s software science can be used to derive some interesting results
starting with a few simple assumptions. Halstead’s software science is
especially useful for estimating software maintenance efforts. In fact, it
outperforms both empirical and heuristic techniques when used for
predicting software maintenance efforts.
Halstead’s Software Science – An Analytical Technique Halstead’s
software science is an analytical technique to measure size, development

12 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

effort, and development cost of software products. Halstead used a few


primitive program parameters to develop the expressions for overall
program length, potential minimum value, actual volume, effort, and
development time. For a given program, let:
 η1 be the number of unique operators used in the program,
 η2 be the number of unique operands used in the program,
 N1 be the total number of operators used in the program,
 N2 be the total number of operands used in the program.
Example: Let us consider the following C program:
main( )
{ int a, b, c, avg;
scanf(“%d %d %d”, &a, &b, &c);
avg = (a+b+c)/3;
printf(“avg = %d”, avg);
} The unique operators are: main, (), {}, int, scanf, &, “, ”, =, +, /,
printf
The unique operands are: a, b, c, &a, &b, &c, a+b+c, avg, 3, “%d %d
%d”, “avg = %d”
Therefore, η1 = 12, η2 = 11
Estimated Length = (12*log12 + 11*log11)
= (12*3.58 + 11*3.45)
= (43+38) = 81
Volume = Length*log(23)
= 81*4.52
= 366
e Explain GANTT chart and its application for project tracking with 4M
an example.
Ans When creating software project schedule, we begin with a set of tasks. If Description and
automated tools are used, the work breakdown is input as a task network Example 3M
or task outline. Effort, duration and start date are then input for each task, Application1M
In addition, tasks may be assigned to specific individuals.
As a consequence of this input, a time-line chart, also called a Gantt chart
is generated. A time-line chart can be developed for the entire project.
The figure below depicts a part of a software project schedule that
emphasizes scoping task for a word-processing (WP) software product.
All project tasks are listed in the left-hand column. The horizontal bars
indicate the duration of each task. When multiple bars occur at the same
time on the calendar, task concurrency is implied. The diamond indicates
milestones.
Once the information necessary for the generation of a time-line chart has
been input, the majority of software project scheduling tools produce
project tables – a tabular listing of all project tasks, their planned and
actual start and end dates, and a variety of related information. Used in
conjunction with the time-line chart, project tables enable to track
progress.

13 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Application of Gantt Chart


 The sheer simplicity and ease-of-access of all relevant
information make Gantt charts an ideal choice for teams to use
them for organizing their schedules. Due to this, Gantt charts
are widely used in project management, IT and development
teams.
 Apart from them, marketing, engineering, product launch,
manufacturing teams can also use Gantt charts to get an
overview of how things are rolling on the work front.

5. Attempt any Two of the following: 12M


a Sketch a use case diagram for library management system with 6M
minimum four use cases and two actors.
Ans Correct/relevant
any four use
cases -6M

14 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

b Explain the concept of black box testing and white box testing. 6M
Ans Black Box Testing: Black box
testing
 It is a way of software testing in which the internal structure explanation -3M
or the program or the code is hidden and nothing is known and white box
about it. testing
 It also known as data-driven, box testing, data-, and functional explanation- 3M
testing.
 This type of testing is ideal for higher levels of testing like
System Testing, Acceptance testing.
 It is mostly done by software testers.
 No knowledge of implementation is needed.
 It is functional test of the software.
 Testing can start after preparing requirement specification
document.

15 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 Techniques used:
o Equivalence partitioning: Equivalence partitioning
divides input values into valid and invalid partitions
and selecting corresponding values from each partition
of the test data.
o Boundary value analysis:
checks boundaries for input values.
 Advantages of Black Box Testing
 Efficient when used on large systems.
 Since the tester and developer are independent of each
other, testing is balanced and unprejudiced.
 Tester can be non-technical.
 There is no need for the tester to have detailed functional
knowledge of system.
 Tests will be done from an end user's point of view,
because the end user should accept the system. (This
testing technique is sometimes also called Acceptance
testing.)
 Testing helps to identify vagueness and contradictions in
functional specifications.
 Test cases can be designed as soon as the functional
specifications are complete.
 Disadvantages of Black Box Testing
 Test cases are challenging to design without having clear
functional specifications.
 It is difficult to identify tricky inputs if the test cases are
not developed based on specifications.
 It is difficult to identify all possible inputs in limited
testing time. As a result, writing test cases may be slow
and difficult.
 There are chances of having unidentified paths during the
testing process.
 There is a high probability of repeating tests already
performed by the programmer.
White Box Testing:
 It is a way of testing the software in which the tester has
knowledge about the internal structure r the code or the
program of the software.
 It is also called structural testing, clear box testing, code-based
testing, or glass box testing.

16 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

 Testing is best suited for a lower level of testing like Unit


Testing, Integration testing.
 It is mostly done by software developers.
 Knowledge of implementation is required.
 It is structural test of the software.
 Testing can start after preparing for Detail design document.
 Techniques Used:
o Statement Coverage, Branch coverage, and Path
coverage are White Box testing technique.
o Statement Coverage validates whether every line of
the code is executed at least once.
o Branch coverage validates whether each branch is
executed at least once.
o Path coverage method tests all the paths of the
program.
 Advantages of White Box Testing

 Code optimization by finding hidden errors.


 White box tests cases can be easily automated.
 Testing is more thorough as all code paths are usually
covered.
 Testing can start early in SDLC even if GUI is not
available.

 Disadvantages of White Box Testing

White box testing can be quite complex and expensive.

 Developers who usually execute white box test cases


detest it. The white box testing by developers is not
detailed can lead to production errors.
 White box testing requires professional resources, with a
detailed understanding of programming and
implementation.
 White-box testing is time-consuming, bigger
programming applications take the time to test fully.

c Calculate using COCOMO model 6M


i)Effort
ii)Project duration
iii)Average staff size
If estimated size of project is 200 KLOC using organic mode.

17 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Ans Given data: size=200 KLOC mode= organic Correct Answer


for each point
1. Effort: asked -6M
E = a (KLOC) b

For organic a=2.4 and b= 1.05

E= 2.4 (200) 1.05

= 626 staff members

2. Project duration:
TDEV= c (E) d

Where TDEV= time for development

c and d are constant to be determined

E = effort

For organic mode, c= 2.5 and d= 0.38

TDEV= 2.5 (626) 0.38

= 29 months

3. Average staff size:


SS = E/TDEV

SS = 626/29 = 22 staffs

6. Attempt any Two of the following: 12M


a Define data objects, attributes, relationship, and cardinality, with 6M
example of each.
Ans Data Object: A data object is an entity/object in the real world with an Definition of
independent existence that can be differentiated from other objects. each one-4M
and example of
Example: An entity might be each-2M
o An object with physical existence (e.g., a lecturer, a
student, a car)
o An object with conceptual existence (e.g., a course, a
job, a position)

18 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Attributes: Each data object/ entity is described by a set of


attributes (e.g., Employee = (Name, Address, Birthdate (Age), Salary).
Each attribute has a name, and is associated with an entity and a domain
of legal values.
Example: Employee = (Name, Address, Birthdate (Age), Salary).
Relationship: A relationship identifies names and defines an association
between two entity types One-to-one relationship: Example: We have a
relationship between the Customers table and the Addresses table. If each
address can belong to only one customer, this relationship is "One to
One".

One –to – many relationship:


Example:
Each customer may have zero, one or multiple orders. But an order can
belong to only one customer.

Many- to – many Relationship:


Example: In some cases, you may need multiple instances on both sides
of the relationship. For example, each order can contain multiple items.
And each item can also be in multiple orders.

19 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Cardinality:
In the case of Data Modeling, Cardinality defines the number of
attributes in one entity set, which can be associated with the number of
attributes of other set via relationship set.
Example: One-to-one, One-to-many, Many-to-one, Many-to-many.
b Compare CMMI and ISO for software w.r.to 6M
i)scope
ii)Approach
Iii) Implementation.
Ans Difference between CMMI and ISO based on Difference
based on Scope-
SCOPE: CMMI is rigid and extends only to businesses developing 2M
software intensive systems. ISO is flexible and applicable to all
Approach-2M
manufacturing industries. CMMI focuses on engineering and project
and
management processes whereas ISO’s focus is generic in nature. Implementation
2M
CMMI mandates generic and specific practices and businesses have a
choice of selecting the model relevant to their business needs from 22
developed process areas. ISO requirements are same for all companies,
industries, and disciplines.

APPROACH:CMMI requires ingraining processes into business needs


so that such processes become part of corporate culture and do not break
down under the pressure of deadlines. ISO specifies to conformance and
remains oblivious as to whether such conformance is of strategic business
value or not.CMMI approaches risk management as an organized and
technical discipline by identifying risk factors, quantifying such risk
factors, and tracking them throughout the project life cycle. ISO was until
recently neutral on risk management. ISO 31000:2009 now provides
generic guidelines for the design, implementation, and maintenance of
risk management processes throughout an organization.

20 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

Although CMMI focuses on linkage of processes to business goals,


customer satisfaction is not a factor in the ranking whereas customer
satisfaction is an important part of ISO requirements.

IMPLEMENTATION:

Neither CMMI nor ISO requires the establishment of new processes.


CMMI compares the existing processes to industry best practices whereas
ISO requires adjustment of existing processes to confirm to the specific
ISO requirements. In practice, some organizations tend to rely on
extensive documentation while implementing both CMMI and ISO. Most
organizations tend to constitute in-house teams, or rely on external
auditors to see through the implementation process.

c Explain six function of requirement engineering process. 6M

Ans Requirement Engineering: The broad spectrum of tasks and techniques


that lead to an understanding of requirements is called requirements
engineering. It starts during the communication activity and continues
into the modeling activity. Requirements engineering provides the Correct/relevant
appropriate mechanism for understanding what the customer wants by explanation for
analyzing need, assessing feasibility negotiating a reasonable solution, each function-
specifying the solution ambiguously, validating the specification, and 1M
managing the requirements as they are transformed into an operational
system. It encompasses seven distinct tasks: inception, elicitation,
elaboration, negotiation, specification, validation, and management.

Inception: The question why you want to do this will be answered and
analyses to identify business need, a potential new market with breadth
and depth and services to be provided. The above points establish a basic
understanding of the problem, the people who want a solution, the nature
of the solution that is desired to understand the scope of the project.

Elicitation: This answers for what are things need to do by asking the
customer, the users, and others what the objectives for the system or
product are, what is to be accomplished, how the system or product fits
into the needs of the business, and finally, how the system or product is
to be used on a day-to-day basis

Elaboration: The information obtained from the customer during


inception and elicitation is expanded and refined during elaboration. This

21 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)

task focuses on developing a refined requirements model that identifies


requirements for three domains, information, functional and behavioral
domain. It

 Describe how the end user (and other actors) will interact
with the system.
 Business domain entities that is visible to the end user.
 The attributes of each analysis class are defined, and the
services that are required by each class are identified.
 The relationships and collaboration between classes are
identified, and a variety of supplementary diagrams are
produced.
Negotiation: It answers for is it actually required? Through which
Customers, users, and other stakeholders are asked to rank requirements
and prioritized the same. Using an iterative approach that prioritizes
requirements, assesses their cost and risk, and addresses internal conflicts,
requirements are eliminated, combined, and/or modified so that each
party achieves some measure of satisfaction.

Specification: A specification can be a written document, a set of


graphical models, a formal mathematical model, a collection of usage
scenarios, a prototype, or any combination of these to present gathered
requirements. The formality and format of a specification varies with the
size and the complexity of the software to be built.

Validation: As a part of this task documented software requirement


specification will be examining by conducting technical reviews in order
to examine errors in content or interpretation, areas where clarification
may be required, missing information, inconsistencies (a major problem
when large products or systems are engineered), conflicting requirements,
or unrealistic (unachievable) requirements.

Requirements management: Requirements management is a set of


activities that help the project team identify, control, and track
requirements and changes to requirements at any time as the project
proceeds.

22 | 2 2
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
WINTER – 2022 EXAMINATION
22413
Subject Name: Software Engineering Model Answer Subject Code:
Important Instructions to examiners:
XXXXX
1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme.
2) The model answer and the answer written by candidate may vary but the examiner may try to assess the
understanding level of the candidate.
3) The language errors such as grammatical, spelling errors should not be given more Importance (Not applicable for
subject English and Communication Skills.
4) While assessing figures, examiner may give credit for principal components indicated in the figure. The figures
drawn by candidate and model answer may vary. The examiner may give credit for any equivalent figure drawn.
5) Credits may be given step wise for numerical problems. In some cases, the assumed constant values may vary and
there may be some difference in the candidate’s answers and model answer.
6) In case of some questions credit may be given by judgement on part of examiner of relevant answer based on
candidate’s understanding.
7) For programming language papers, credit may be given to any other program based on equivalent concept.
8) As per the policy decision of Maharashtra State Government, teaching in English/Marathi and Bilingual (English +
Marathi) medium is introduced at first year of AICTE diploma Programme from academic year 2021-2022. Hence if
the students in first year (first and second semesters) write answers in Marathi or bilingual language (English
+Marathi), the Examiner shall consider the same and assess the answer based on matching of concepts with
model answer.

Q. Su Answer Marking Scheme


No b
. Q.
N.

1 Attempt any FIVE of the following: 10 M

a) State the characteristics of Software Engineering. 2M

An Characteristics of software engineering are : Any 2


s 1. Software is developed or engineered; it is not manufactured in the classical characteristics=2
sense. M
2. Software doesn’t “wear out.”
3. Although the industry is moving toward component-based construction, most
software continues to be custom built.
b) Define : i) Software ii) Software Engineering 2M

An Software: Software is: 1. Instructions (computer programs) that when executed Software
s provide desired features, function, and performance; 2. Data structures that enable definition: 1 M;
the programs to adequately manipulate information, and 3. Descriptive information Software
Engineering
(documents) in both hard copy and virtual forms that describes the operation and use
definition: 1 M
of the programs. or
any other relevant
Software Engineering: Software engineering is the establishment and use of sound
definition shall be
engineering principles in order to obtain economically software that is reliable and given marks
works efficiently on real machines.

Page No: 1 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
c) State the characteristics of SRS. 2M

An Characteristics of SRS are : any 4


s • Correct characteristics of
• Complete SRS : 2 M
• Unambiguous
• Verifiable
• Consistent
• Ranked for importance and/or stability
• Modifiable
• Traceable
d) List the project cost Estimation Approaches. 2M

An Project cost Estimation Approaches are : Any two project


s cost Estimation
1. Heuristic Estimation Approach Approaches : 2 M
2. Analytical Estimation Approach ; 1 M each
3. Empirical Estimation Approach
e) Define risk and list any two types of risk. 2M

An Risk: A risk is "an uncertain event or condition that, if it occurs, has a positive or Risk : definition: 1
s negative effect on a project's objectives." M;
OR any two types of
Risk is the uncertainty which is associated with a future event which may or may not risks : 1 M
occur and a corresponding potential for loss.
Types of risks are :
1. Generic risk
2. Product specific risk
OR
1.Schedule / Time-Related / Delivery Related Planning Risks
2. Budget / Financial Risks
3. Operational / Procedural Risks
4. Technical / Functional / Performance Risks
5. Other Unavoidable Risks
f) Define Software Quality Control and Quality Assurance. 2M

An Software Quality Control: It is a procedure that focuses on fulfilling the quality Definition of
s requested. Software Quality
Control : 1 M and
Quality Assurance: It is a procedure that focuses on providing assurance that Quality Assurance
quality requested will be achieved. Quality assurance consists of the auditing and :1M
reporting functions of management. (any other
relevant
definitions should
Page No: 2 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
be given marks)

g) List the phases of Software Quality Assurance. 2M

An Phases of Software Quality Assurance are : List of phases of


s Software Quality
 SQA Planning. Assurance : 2 M
 Activities.
 Review and Audit.

2. Attempt any THREE of the following: 12 M

a) State and describe any four types of Software. 4M

An 1. System software:System software is a collection of programs written to Stating and


s service other programs. Some system software (e.g., compilers, editors, and describing 4 types
file management utilities) process complex, but determinate, information of software : 4 M;
structures. Other systems applications (e.g., operating system components, 1 M each
drivers, telecommunications processors) process largely indeterminate data.
In either case, the system software area is characterized by heavy interaction
with computer hardware; heavy usage by multiple users; concurrent
operation that requires scheduling, resource sharing, and sophisticated
process management; complex data structures; and multiple external
interfaces.

2. Real-time software: Software that monitors/analyzes/controls real-world


events as they occur is called real time. Elements of real-time software
include a data gathering component that collects and formats information
from an external
environment, an analysis component that transforms information as required
by the application, a control/output component that responds to the external
environment, and a monitoring component that coordinates all other
components so that real-time response (typically ranging from 1 millisecond
to 1 second) can be maintained.

3. Business software: Business information processing is the largest single


software application area. Discrete "systems" (e.g., payroll, accounts
receivable/payable, inventory) have evolved into management information
system (MIS) software that accesses one or more large databases containing
business information. Applications in this area restructure existing data in a
way that facilitates business operations or management decision making. In
addition to conventional data processing application, Business software
applications also encompass interactive computing (e.g., point-of-sale

Page No: 3 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
transaction processing).

4. Engineering and scientific software: Engineering and scientific


software have been characterized by "number crunching" algorithms.
Applications range from astronomy to volcanology, from automotive stress
analysis to space shuttle orbital dynamics, and from molecular biology to
automated manufacturing. However, modern applications within the
engineering/scientific area are moving away from conventional numerical
algorithms. Computer-aided design, system simulation, and other interactive
applications have begun to take on real-time and even system software
characteristics.

5. Embedded software:Intelligent products have become commonplace in


nearly every consumer and industrial market. Embedded software resides in
read-only memory and is used to control products and systems for the
consumer and industrial markets.
Embedded software can perform very limited and esoteric functions (e.g.,
keypad control for a microwave oven) or provide significant function and
control capability (e.g., digital functions in an automobile such as fuel
control, dashboard displays, and braking systems).

6. Product line or Personal computer software: The personal computer


software market has burgeoned over the past two decades. Word processing,
spreadsheets, computer graphics, multimedia, entertainment, database
management, personal and business financial applications, external network,
and database access are only a few of hundreds of applications.

7. Web-based software: The Web pages retrieved by a browser are software


that incorporates executable instructions (e.g., CGI, HTML, Perl, or Java),
and data (e.g., hypertext and a variety of visual and audio formats). In
essence, the network becomes a massive computer providing an almost
unlimited software resource that can be accessed by anyone with a modem.

8. Artificial intelligence software:Artificial intelligence (AI) software


makes use of non-numerical algorithms to solve complex problems that are
not amenable to computation or straightforward analysis. Expert systems,
also called knowledge-based systems, pattern recognition (image and voice),
artificial neural networks, theorem proving, and game playing are
representative of applications within this category.

b) Explain structured flowchart with suitable example. 4M

An Structured flowchart represents hierarchical structure of modules. Structured


It breaks down the entire system into lowest functional modules; describe functions flowchart with
Page No: 4 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
s and sub-functions of each module of a system to a greater detail. Structured example : 4 M
flowchart partitions the system into black boxes (functionality of the system is
known to the users but inner details are unknown). Inputs are given to the black Or
boxes and appropriate outputs are generated.
any other relevant
Modules at top level called modules at low level. Components are read from top to
structured
bottom and left to right. When a module calls another, it views the called module
flowchart with
as black box, passing required parameters and receiving results. example give 4M
Symbols used in construction of structured chart
1. Module
It represents the process or task of the system. It is of three types.
 Control Module
A control module branches to more than one sub module.
 Sub Module
Sub Module is a module which is the part (Child) of another
module.
 Library Module
Library Module are reusable and invokable from any
module.

2. Conditional Call
It represents that control module can select any of the sub module on the
basis of some condition.

3. Loop (Repetitive call of module)


It represents the repetitive execution of module by the sub module.
A curved arrow represents loop in the module.

Page No: 5 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________

All the sub modules cover by the loop repeat execution of module.
4. Data Flow
It represents the flow of data between the modules. It is represented by
directed arrow with empty circle at the end.

5. Control Flow
It represents the flow of control between the modules. It is represented by
directed arrow with filled circle at the end.

6. Physical Storage
Physical Storage is that where all the information are to be stored.

Page No: 6 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________

Example : Structure chart for an Email server

c) Describe 4P's of management spectrum. 4M

An The management spectrum focuses on the four P ̳s; people, product, process and 4 P’s of
s project. management
spectrum : 4 M; 1
1. The People: M each
 People of a project includes from manager to developer, from
customer to end user .But mainly people of a project highlight the
developers.
 It is so important to have highly skilled and motivated developers that
the Software Engineering Institute has developed a People
Management Capability Maturity Model (PM-CMM),
 Organizations that achieve high levels of maturity in the people
management area have a higher likelihood of implementing effective
software engineering practices.
2. The Product:
 The product is the ultimate goal of the project.
 This is any types of software product that has to be developed.
 To develop a software product successfully, all the product objectives
and scopes should be established, alternative solutions should be
considered, and technical and management constraints should be
identified beforehand.
 Lack of these information, it is impossible to define reasonable and
accurate estimation of the cost, an effective assessment of risks, a
realistic breakdown of project tasks or a manageable project schedule
that provides a meaningful indication of progress.
3. The Process:
 A software process provides the framework from which a
comprehensive plan for software development can be established.

Page No: 7 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
 A number of different tasks sets— tasks, milestones, work products,
and quality assurance points—enable the framework activities to be
adapted to the characteristics of the software project and the
requirements of the project team.
 Finally, umbrella activities overlay the software process model.
 Umbrella activities are independent of any one framework activity
and occur throughout the process.
4. The Project:
 The project is the complete software project that includes requirement
analysis, development, delivery, maintenance and updates.
 The project manager of a project or sub-project is responsible for
managing the people, product and process.
 The responsibilities or activities of software project manager would
be a long list but that has to be followed to avoid project failure.
 A software project could be extremely complex and as per the
industry data the failure rate is high.
 Its merely due to the development but mostly due to the steps before
development and sometimes due to the lack of maintenance.

d) Describe critical path method with suitable example. 4M

An CPM:- Critical path


s (a) A critical path in project management is certain tasks that need to be method with
performed in a clear order and for a certain period. suitable example :
4M
(b) If part of one task can be slowed down or postponed for a term without
leaving work on others, then such a task is not critical.
(c) While tasks with a critical value cannot be delayed during the implemen-
tation of the project and are limited in time.
(d) Critical Path Method (CPM) is an algorithm for planning, managing and
analyzing the timing of a project.
(e) The step-by-step CPM system helps to identify critical and non-critical
tasks from projects’ start to completion and prevents temporary risks.
(f) Critical tasks have a zero run-time reserve. If the duration of these tasks
changes, the terms of the entire project will be ”shifted.” That is why
critical tasks in project management require special control and timely
detection of risks.
(g) The method was developed by one of the American companies in 1957.
Its employees planned to close, repair and restart chemical plants.
(h) The tasks in this project were numerous and complex; that’s why they
required such a method.
(i) After that, Critical Path Method was quickly spread to agricultural and
construction projects where people wanted to learn how to avoid routine
tasks.
Page No: 8 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
(j) Today, this method of identifying critical tasks is widely used in many
industries, including software development.

Example :

3. Attempt any THREE of the following: 12 M

a) Distinguish between waterfall model and spiral model. 4M

An Difference Waterfall and Spiral Model: Any 4: 1 M each


s Parameters Waterfall Model Spiral Model
Working Nature Sequential method Evolutionary method
Involvement of Minimum, at end of Maximum, earlier in
Customer project completion project development
Identification &
After completion of all Earlier while developing
rectification of
stages the project
errors
Simplicity Easy Model Complex Model
One after another, In iteration, easy to go
Flow of the Phases
difficult to go back back
Project size Small Large
Flexibility to change
Difficult Easy
contents
Cost Less More
Framework type Linear Iterative

b) Describe any four Software analysis-modeling principles. 4M

An Four Software analysis modeling principles: Any 4: 1 M each


s 1. Principle 1: The information domain of a problem must be represented and
understood.
Page No: 9 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
The information domain encompasses the data that flow into the system, the data
that flow out of the system, and the data stores that collect and organize persistent
data objects.

2. Principle 2: The functions that the software performs must be defined. Software
functions provide direct benefit to end users and also provide internal support for
those features that are user visible. Some functions transform data that flow into the
system. In other cases, functions affect some level of control over internal software
processing or external system elements. Functions can be described at many
different levels of abstraction, ranging from a general statement of purpose to a
detailed description of the processing elements that must be invoked.

3. Principle 3: The behavior of the software must be represented.


The behavior of computer software is driven by its interaction with the external
environment. Input provided by end users, control data provided by an external
system, or monitoring data collected over a network all cause the software to behave
in a specific way.

4. Principle 4: The models that depict information function and behavior must be
partitioned in a manner that uncovers detail in a layered (or hierarchical) fashion.
Requirement’s modeling is the first step in software engineering problem solving. It
allows you to better understand the problem and establishes a basis for the solution.
Complex problems are difficult to solve in their entirety. For this reason, you should
use a divide and-conquer strategy. A large, complex problem is divided into sub
problems until each sub problem is relatively easy to understand. This concept is
called partitioning or separation of concerns, and it is a key strategy in requirements
modeling.

5. Principle 5: The analysis task should move from essential information toward
implementation detail.
Requirements modeling begin by describing the problem from the end-user ‘s
perspective. The essence of the problem is described without any consideration of
how a solution will be implemented.
c) Draw DFD for Railway Reservation Management System for level 0 and 4M
level 1.

An Level 0 DFD: railway Reservation System: 2 M for Level 0


s and 2M for Level
1
OR
any other relevant
Level o and 1 shall

Page No: 10 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
be given marks

Fig: Level 0 DFD: Railway Reservation System

Fig: Level 1 DFD: Railway Reservation System

Page No: 11 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
d) Explain line of code metrics for size estimation. 4M

An Line of code metrics for size estimation: LOC count the total number of Proper
s lines of source code in a project. explanation=4M

The units of LOC are:


KLOC- Thousand lines of code
NLOC- Non-comment lines of code
KDSI- Thousands of delivered source instruction

The size is estimated by comparing it with the existing systems of the same
kind. The experts use it to predict the required size of various components
of software and then add them to get the total size.

Parameters to count LOC:


1. count only executable lines.
2. count executable lines plus data definitions.
3. count executable lines, data definitions and comments.
4. count physical lines on input screen.

Consider the following example for counting LOC:


KCSI: thousands changed source instructions.
KSSI: thousands shipped source instructions.

First Release of Product Y


KCSI = KSSI = 50 KLOC
Defects/KCSI = 2.0
Total number of defects = 2.0 × 50 = 100

Second Release,
KCSI = 20 KSSI = 50+ 20 (new and changed lines of code) -4
(assuming 20% are changed lines of code) = 66

Defect/KCSI = 1.8 (assuming 10% improvement over the first release).


Total number of additional defects = 1.8 x 20 = 36.

Third Release,
KCSI=30
KSSI 66+30 (new and changed lines of code) -6 (assuming 20% of
changed lines of code) = 90.
Targeted number of additional defects (no more than previous release) =
36. Defect rate target for the new and changed lines of code: 36/30= 1.2
defects/KCSI or lower.

Page No: 12 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
Advantages:
1)Universally accepted and is used in many models like COCOMO.
2)Estimation is closer to the developer’s perspective.
Disadvantages:
1)Different programming languages contain a different number of lines.
2)No proper industry standard exists for this technique.
3)It is difficult to estimate the size using this technique in the early stages
of the project.

4. Attempt any THREE of the following: 12 M

a) Explain Dynamic Systems Development Method (DSDM). 4M

An Dynamic Systems Development Method (DSDM): 1 M for diagram


s
3M for
explanation

1. Feasibility Study:
It establishes the essential business necessities and constraints related to the
applying to be designed then assesses whether or not the application could be a
viable candidate for the DSDM method.

2. Business Study:
It establishes the use and knowledge necessities that may permit the applying to
supply business value; additionally, it is the essential application design and
identifies the maintainability necessities for the applying.
3. Functional Model Iteration:
It produces a collection of progressive prototypes that demonstrate practicality
Page No: 13 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
for the client.
(Note: All DSDM prototypes are supposed to evolve into the deliverable
application.) The intent throughout this unvarying cycle is to collect further
necessities by eliciting feedback from users as they exercise the paradigm.
4. Design and Build Iteration:
It revisits prototypes designed throughout useful model iteration to make sure
that everyone has been designed during a manner that may alter it to supply
operational business price for finish users. In some cases, useful model iteration
and style and build iteration occur at the same time.
5. Implementation:
It places the newest code increment (an “operationalized” prototype) into the
operational surroundings. It ought to be noted that:
(a) the increment might not 100% complete or,
(b) Changes are also requested because the increment is placed into place. In
either case, DSDM development work continues by returning to the useful
model iteration activity.
b) State software engineering practices and its importance. 4M

An Software Engineering practices and its importance: Software


s Software Engineering Practices: Engineering
1. Understand the problem (communication and analysis). practices=2M
2. Plan a solution (modeling and software design).
3. Carry out the plan (code generation). (any 2 Points)
4. Examine the result for accuracy (testing and quality assurance).

Understand the problem: and


• Who has a stake in the solution to the problem? That is, who are the stakeholders?
Software
• What are the unknowns? What data, functions, features, and behavior are required
Engineering
to properly solve the problem?
importance=2M
• Can the problem be compartmentalized? Is it possible to represent smaller
problems that may be easier to understand? (any 2 Points)

Can the problem be represented graphically? Can an analysis model be created?

Plan the solution:


• Have you seen similar problems before? Are there patterns that are recognizable in
a potential solution? Is there existing software that implements the data, functions,
features, and behavior that are required?
• Has a similar problem been solved? If so, are solutions readily apparent for the sub-
problems?
• Can you represent a solution in a manner that leads to effective implementation?
Can a design model be created?

Carry out the plan:


• Does the solution confirm to the plan? IS source code traceable to the design
Page No: 14 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
model?
• Is each component part of the solution probably correct? Have the design and code
been received, or better, has correctness proof been applied to the algorithm?

Examine the result:


• Is it possible to test each component part of the solution? Has a reasonable testing
strategy been implemented?
• Does the solution produce results that confirm to the data? Functions, features and
behavior that are required? Has the software been validated against all stakeholder
requirements?

Importance of Software Engineering:


The importance of software engineering lies in the fact that a specific piece of
Software is required in almost every industry, every business, and purpose. As
time goes on, it becomes more important for the following reasons.
1. Reduces Complexity
Dealing with big Software is very complicated and challenging. Thus to reduce
the complications of projects, software engineering has great solutions. It
simplifies complex problems and solves those issues one by one.
2. Handling Big Projects
Big projects need lots of patience, planning, and management, which you never
get from any company. The company will invest its resources; therefore, it should
be completed within the deadline. It is only possible if the company uses software
engineering to deal with big projects without problems.
3. To Minimize Software Costs
Software engineers are paid highly as Software needs a lot of hard work and
workforce development. These are developed with the help of a large number of
codes. But programmers in software engineering project all things and reduce the
things which are not needed. As a result of the production of Software, costs
become less and more affordable for Software that does not use this method.
4. To Decrease Time
If things are not made according to the procedures, it becomes a huge loss of time.
Accordingly, complex Software must run much code to get definitive running
code. So it takes lots of time if not handled properly. And if you follow the
prescribed software engineering methods, it will save your precious time by
decreasing it.
5. Effectiveness
Making standards decides the effectiveness of things. Therefore a company
Page No: 15 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
always targets the software standard to make it more effective. And Software
becomes more effective only with the help of software engineering.
6. Reliable Software
The Software will be reliable if software engineering, testing, and maintenance are
given. As a software developer, you must ensure that the Software is secure and
will work for the period or subscription you have agreed upon .

c) State and explain the component of Risk Management. 4M

An Component of Risk Management: Any 4


s Risk Management is the system of identifying addressing and eliminating these components=
problems before they can damage the project.
4M

Fig: Components of Risk Management

Components:
1. Risk Identification
Risk identification is the process of documenting potential risks and then
categorizing the actual risks the business faces.
When identifying risk, it’s also important to not just think about the risks that the
business currently faces, but those that might emerge in the future, as well.

2. Risk Analysis
Once risks have been identified, the next step is to analyze their likelihood and
potential impact.
How exposed is the business to a particular risk? What is the potential cost of a risk
becoming a reality?
An organization might divide risks into “serious, moderate, or minor” or “high,
medium, or low” depending on their potential for disruption.

Page No: 16 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________

3. Response Planning
Response planning answers the question: What are we going to do about it?
For example, if during identification and analysis, you realized that the business is at
risk of phishing attacks because its employees are unaware of email security best
practices, your response plan might include security awareness training.

4. Risk Mitigation
Risk mitigation is the implementation of your response plan.

It is the action your business and its employees take to reduce exposure.

5. Risk Monitoring
Risks are not static; they change over time.
Risk monitoring is the process of “keeping an eye” on the situation through regular
risk assessments.

d) Describe following project cost estimation approaches 4M


i) Heuristic
ii) Empirical
An Project cost estimation approaches 2M for Heuristic
s 1. Empirical Estimation Technique: and 2 M for
Empirical estimation is a technique or model in which empirically derived Empirical
formulas are used for predicting the data that are a required and essential part of
the software project planning step.
These techniques are usually based on the data that is collected previously from a
project and also based on some guesses, prior experience with the development of
similar types of projects, and assumptions.
It uses the size of the software to estimate the effort.
In this technique, an educated guess of project parameters is made. Hence, these
models are based on common sense. However, as there are many activities
involved in empirical estimation techniques, this technique is formalized.
2. Heuristic Technique:
Heuristic means “to discover”.
The heuristic technique is a technique or model that is used for solving problems,
learning, or discovery in the practical methods which are used for achieving
immediate goals.
These techniques are flexible and simple for taking quick decisions through
shortcuts and good enough calculations, most probably when working with
complex data. But the decisions that are made using this technique are necessary
to be optimal.
In this technique, the relationship among different project parameters is expressed
using mathematical equations. The popular heuristic technique is given
by Constructive Cost Model (COCOMO). This technique is also used to increase
or speed up the analysis and investment decisions.

Page No: 17 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
e) Prepare macro time line chart for 15 days of college management system (5 4M
days a week) consider phases of SDLC.
An Time Chart: Correct Time line
s chart=4M

Fig:Time line chart for 15 days of college management system

5. Attempt any TWO of the following: 12 M

a) Sketch use-case diagram for Library management with minimum four use cases 6M
and two actors.
An Use-case diagram for Library management. Correct Diagram
s for any four use
cases and Actor
=6M

Page No: 18 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________

b) Differentiate between white box testing and black box testing. 6M

Page No: 19 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
An 6M
s
Sr.no White box testing Black Box Testing 1M = 1 Point
1 The tester needs to have the This technique is used to test the
knowledge of internal code or software without the knowledge of
program. internal code or program.
2 It aims at testing the structure of It aims at testing the
the item being tested. functionality of the
software.
It is also called structural testing, It also knowns as data- driven,
clear box testing, code-based box testing, data and functional
3 testing, or glass box testing. testing.

4 Testing is best suited for a lower This type of testing is ideal for
level of testing like Unit Testing, higher levels of testing like
Integration testing. System Testing, Acceptance
testing.
5 Statement Coverage, Branch Equivalence partitioning, Boundary
coverage, and Path coverage are value analysis are Black Box
White Box testing technique. testing technique
6 Can be based on detailed design Can be based on Requirement
documents. specification document.
7 Example: By input to check and Example: Search something on
verify loops google by using keywords
c) Describe a Cocomo and Cocomo-lI models. 6M

An COCOMO Model : 3 M for


s Explanation of
 COCOMO is one of the most widely used software estimation models in the COCOMO Model
world.
 This model is developed in 1981 by Barry Boehm to give estimation of and
number of man-months it will take to develop a software product.
3 M for
 COCOMO predicts the efforts and schedule of software product based on size
Explanation of
of software.
COCOMO Model-
 COCOMO has three different models that reflect complexity II
1. Basic Model
2. Intermediate Model
3. Complete Model

Page No: 20 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________

1) Basic COCOMO: The basic COCOMO is employed for rough


calculations, limiting software estimation precision. This is because the
model only considers lines of source code and constant values derived from
software project types rather than other elements that significantly impact the
software development process.

2) Intermediate COCOMO: The Intermediate COCOMO model expands


the Basic COCOMO model that takes into account a collection of cost
drivers to improve the cost estimating model's accuracy.

3) Complete/Detailed COCOMO: The model contains all qualities of both


Basic COCOMO and Intermediate COCOMO techniques for each software
engineering process. The model considers each project's development phase
(analysis, design, and so on).

Estimation of Effort: Calculations –


Basic Model gives an approximate estimation of the project parameter.
The Basic COCOMO Estimation model given by following Expression ,

The Cocomo model divides software projects into 3 types-

1. Organic Project
It belongs to small & simple software projects which are handled by a small team
with good domain knowledge and few rigid requirements.
Example: Small data processing or Inventory management system.

2. Semidetached Project
It is an intermediate (in terms of size and complexity) project, where the team having
mixed experience (both experience & inexperience resources) to deals with
rigid/nonrigid requirements.
Example: Database design or OS development.

3. Embedded Project
This project having a high level of complexity with a large team size by considering
all sets of parameters (software, hardware and operational).
Example: Banking software or Traffic light control software.

COCOMO II Model :

Page No: 21 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
COCOMO-II is the revised version of the original Cocomo (Constructive Cost
Model) and is developed at University of Southern California. It is the model that
allows one to estimate the cost, effort and schedule when planning a new software
development activity.

 The Application Composition Model

This model involves prototyping efforts to resolve potential high- risk


issues such as user interfaces, software/system interaction, performance, or
technology maturity. The costs of this type of effort are best estimated by
the Applications Composition model. It is suitable for projects built with
modern GUI-builder tools. It is based on new Object Points.

 The Early Design Model

The Early Design model involves exploration of alternative


software/system architectures and concepts of operation. It uses a small set
of new Cost Drivers, and new estimating equations. Based on Unadjusted
Function Points or KSLOC.
 The Post-Architecture Model

The Post-Architecture model involves the actual development and


maintenance of a software product Estimates. In COCOMO II effort is
expressed as Person Months (PM). The inputs are the Size of software
development, a constant, A, and a scale factor, B. The size is in units of
thousands of source lines of code (KSLOC). The constant, A, is used to
capture the multiplicative effects on effort with projects of increasing size.

6. Attempt any TWO of the following: 12 M

a) Recognize requirement for following modules of hospital management software 6M


i) Customer module
ii) Administrator module
iii) Account module

An Requirement for following modules of hospital management software: 6M=2M for each

Page No: 22 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
s i) Customer module Module
a) Services provided in hospital
b) Facility to register patients and view their report and history.
c) Avaibility of beds and wards etc.
d) Showing Dr qualification, avaibility for OPD.

ii) Administrator module


a)Administrator can view as well as alter ant information of the Hospital
Management System
b) Authority to all purchase and employee Management.
c) Updating Availability beds and wards.
d) Add patients details and assigning ID.
iii) Account module
a) Details about patients Health Insurance.
b) Bill Generation.
c) Develop maintains and analyses budgets, preparing periodic reports that compare
budgeted costs to actual costs.
d) Oversee the Hospitals Billing Department.

b) Draw neat labelled diagram of translation of requirement model in to design 6M


model and explain it with details.
An Translation of Requirement model into design model : 2M : Diagram
s

4M : Explanation

Software requirements, manifested by the data, functional, and behavioral models,


feed the design task. Using one of a number of design methods, the design task
produces a data design, an architectural design, an interface design, and a component
design. Each of the elements of the analysis model provides information that is
necessary to create the four design models required for a complete specification of
design.

Page No: 23 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
Design is a meaningful engineering representation of something that is to be built. It
can be traced to a customer’s requirements and at the same time assessed for quality
against a set of predefined criteria for ―good‖ design. In the software engineering
context, design focuses on four major areas of concern: data, architecture, interfaces,
and components Design begins with the requirements model.
The data design transforms the information domain model created during analysis
into the data structures that will be required to implement the software. The data
objects and relationships defined in the entity relationship diagram and the detailed
data content depicted in the data dictionary provide the basis for the data design
activity. Part of data design may occur in conjunction with the design of software
architecture. More detailed data design occurs as each software component is
designed.
The architectural design defines the relationship between major structural elements
of the software, the design pattern that can be used to achieve the requirements that
have been defined for the system, and the constraints that affect the way in which
architectural design patterns can be applied.

The architectural design representation the framework of a computer based system


can be derived from the system specification, the analysis model, and the interaction
of subsystems defined within the analysis model. The interface design describes how
the software communicates within itself, with systems that interoperate with it, and
with humans who use it. An interface implies a flow of information (e.g., data and/or
control) and a specific type of behavior. Therefore, data and control flow diagrams
provide much of the information required for interface design. The component-level
design transforms structural elements of the software architecture into a procedural
description of software components. Information obtained from the PSPEC, CSPEC,
and STD serve as the basis for component design.

c) Explain CMMI Techniques with its level. 6M

An CMMI Techniques : 1M : diagram ,


s 5M : Any 5 Point
The Capability Maturity Model Integration (CMMI), a comprehensive process meta-
model that is predicated on a set of system and software engineering capabilities that
should be present as organizations reach different levels of process capability and
maturity. The CMMI represents a process meta-model in two different ways: ( 1)
Continuous model and (2) Staged model. The continuous CMMI meta-model
describes a process in two dimensions. Each process area (e.g. project planning or
requirements management) is formally assessed against specific goals and practices
and is rated according to the following capability levels.

Page No: 24 | 25
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________

Level 1: Initial. The software process is characterized as ad hoc and occasionally


even chaotic. Few processes are defined, and success depends on individual effort.

Level 2: Repeatable. Basic project management processes are established to track


cost, schedule, and functionality. The necessary process discipline is in place to
repeat earlier successes on projects with similar applications.
Level 3: Defined. The software process for both management and engineering
activities is documented, standardized, and integrated into an organization wide
software process. All projects use a documented and approved version of the
organization's process for developing and supporting software. This level includes
all characteristics defined for level 2
Level 4: Managed. Detailed measures of the software process and product quality
are collected. Both the software process and products are quantitatively understood
and controlled using detailed measures. This level includes all characteristics defined
for level 3
Level 5: Optimizing. Continuous process improvement is enabled by quantitative
feedback from the process and from testing innovative ideas and technologies. This
level includes all characteristics defined for level 4.

Page No: 25 | 25

You might also like