2014 Winter Model Answer Paper
2014 Winter Model Answer Paper
2014 Winter Model Answer Paper
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Page 1 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
The Third Principle: Maintain the Vision
A clear vision is essential to the success of a software project. Without one, a project almost
unfailingly ends up being "of two [or more] minds" about itself.
Compromising the architectural vision of a software system weakens and will eventually break
even the most well designed systems. Having an empowered Architect who can hold the vision
and enforce compliance helps ensure a very successful software project.
The Fourth Principle: What You Produce, Others Will Consume.
Seldom is an industrial-strength software system constructed and used in a vacuum. In some way
or other, someone else will use, maintain, document, or otherwise depend on being able to
understand your system. So, always specify, design, and implement knowing someone else will
have to understand what you are doing. The audience for any product of software development is
potentially large. Specify with an eye to the users. Design, keeping the implementers in mind.
Code with concern for those that must maintain and extend the system. Someone may have to
debug the code you write, and that makes them a user of your code. Making their job easier adds
value to the system.
The Fifth Principle: Be Open to the Future
A system with a long lifetime has more value. In today's computing environments, where
specifications change on a moment's notice and hardware platforms are obsolete when just a few
months old, software lifetimes are typically measured in months instead of years. However, true
"industrial-strength" software systems must endure far longer. To do this successfully, these
systems must be ready to adapt to these and other changes. Systems that do this successfully are
those that have been designed this way from the start. Never design yourself into a corner.
Always ask "what if ", and prepare for all possible answers by creating systems that solve the
general problem, not just the specific one. This could very possibly lead to the reuse of an entire
system.
The Sixth Principle: Plan Ahead for Reuse
Reuse saves time and effort. Achieving a high level of reuse is arguably the hardest goal to
accomplish in developing a software system. The reuse of code and designs has been proclaimed
as a major benefit of using object-oriented technologies. However, the return on this investment is
not automatic. To leverage the reuse possibilities that OO programming provides requires
forethought and planning. There are many techniques to realize reuse at every level of the system
Page 2 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
development process. Those at the detailed design and code level are well known and
documented. New literature is addressing the reuse of design in the form of software patterns.
However, this is just part of the battle. Communicating opportunities for reuse to others in the
organization is paramount. How can you reuse something that you don't know exists? Planning
ahead for reuse reduces the cost and increases the value of both the reusable components and the
systems into which they are incorporated.
Seventh Principle: Think!
This last Principle is probably the most overlooked. 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 valuable experience. A side effect of thinking is learning to
recognize when you don t know something, at which point you can research the answer. When
clear thought has gone into a system, value comes out. Applying the first six Principles requires
intense thought, for which the potential rewards are enormous.
Page 3 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Software must accepted by the users for which it was designed.
8. Portability:
It refers to the ease with which software developers can transfer software from one platform to
another, without changes.
9. Integrity:
It refers to the degree to which unauthorized access to the software can be prevented.
10. Robustness:
It refers to the degree to which the software can keep on functioning in spite of being provided
with invalid data.
Page 4 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
2. A person purchase a car
3. A person sells a car
4. person cleans a car
The relationship ―owns‖, ―purchase‖, ―sells‖, and ―cleans‖ define the relevant connections
between ― person ―and ―car‖.
Person Car
Page 5 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
d) What do you mean by process framework? Explain with suitable diagram.
(Description – 2 Marks, Diagram – 2 Marks)
Ans: A process framework establishes the foundation for a complete software process by identifying a
small number of framework activities that are applicable to all software projects, regardless of
their size or complexity.
In fig each framework activity is populated by a set of software engineering actions. A collection
of related tasks that produces a major software engineering work product.
Each action in process framework is populated with individual work tasks that accomplish some
part of the work implied by the action.
Five generic framework activities can be used during the development of small programs, the
creations of large web applications and for the engineering of large complex computer-based
systems.
1. Communication:
Communication framework activity involves heavy communication and collaboration with the
customer, encompasses requirements gathering and other related activities .
2. Planning:
Planning activity establishes a plan for software engineering work that follows. Planning
describes the technical tasks to be conducted, the resources that will be required, the risks that are
likely the work products to be produced.
3. Modeling:
Modeling activity encompasses the creation of models that allow the developer and the customer
to better understand software requirements specifications and the design that will achieve those
requirements.
4. Construction:
Construction activity combines code generation and the testing.
5. Deployment:
The software is delivered to the customers who evaluates the delivered product and provides
feedback based on the evaluation.
Page 6 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Page 7 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
(5) Information flow continuity must be maintained from level to level, and
(6) One bubble at a time should be refined.
Considering the Safe Home product, a level 0 DFD for the system is shown in Figure. The
primary external entities (boxes) produce information for use by the system and consume
information generated by the system. The labeled arrows represent data objects or data object type
hierarchies. For example, user commands and data encompass all configuration commands, all
activation/deactivation commands, all miscellaneous interactions, and all data that are entered to
qualify or expand a command.
Page 8 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Page 9 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Fifth iteration might be a beta test, or it could be the final build for initial release (if the previous
circuit was satisfactory enough to warrant this)
Problem with the spiral model: may not appear controllable to the customer, particularly if the
customer is more accustomed to the waterfall model.
Page 10 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Following are various Analysis Modeling Principles
1. The information domain of a problem must be represented and understood.
– define data objects
– describe data attributes
– establish data relationships
2. The functions that the software is to perform must be defined.
– Identify functions that transform data objects
3. The behavior of the software (as a consequence of external events) must be represented.
– indicate different states of the system
– specify events that cause the system to change state
4. The models that depict information function and behavior must be partitioned in a
manner that uncovers detail in a layered (or hierarchical) fashion.
– Refine each model to represent lower levels of abstraction
– refine data objects
– create a functional hierarchy represent behavior at different levels of detail
5. The analysis process should move from essential information toward implementation
Page 11 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
program flow, makes the design and implementation of software components easier, an d makes
overall processing more efficient.
Principle #4: - Interfaces must be designed with care
The manner in which data flows between the components of a system has much to do with
processing efficiency, error propagation, and design simplicity. A well designed interface makes
integration easier and assists the tester in validating component functions.
Principle #5: - User interface design should be tuned to the needs of the end-user
In every case it should stress ease of user. The user interface is the visible manifestation of the
software. No matter how sophisticated its internal functions, no matter how comprehensive its
data structures, no matter how well designed its architecture, a poor interface design often le ads
to the perception that the software is bad.
Principle #6: - Component level design should be functionally independent. Functional
independence is a measure of the ―single mindedness‖ of a software component. The
functionality that is delivered by a component should be cohesive – that is it should focus on one
and only one function or sub -function.
Principle #7: - Component should be loosely coupled to one another and to the external
environment. Coupling is achieved in many ways – via a component interface, by messaging,
through global data. As the level of coupling increases, the likelihood or error propagation also
increases and the overall maintainability of the software decreases.
Principle #8: - Design representation should be easily understandable the purpose of design is
to communicate information to practitioners who will generate code, to those who will test the
software, and to others who may maintain the software in the future. If the design is difficult to
understand, it will not serve as an effective communication medium.
Principle #9 The design should be developed iteratively. With each iteration the designer
should strive for greater simplicity. Like almost all creative activities, design occurs iteratively.
The first iterations works to refine the design and correct errors, but later iterations should strive
to make the design as simple as possible.
Page 12 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
b) Describe 4 layers of software engineering.
(Description - 3 Marks, Diagram - 1 Mark)
Ans: Software Engineering – A Layered Technology approach.
Software engineering is a layered technology. Referring to Figure any engineering approach
(including software engineering) must rest on an organizational commitment to quality. Total
quality management and similar philosophies foster a continuous process improvement culture,
and this culture ultimately leads to the development of increasingly more mature approaches to
software engineering. The bedrock that supports software engineering is a quality focus. 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 for a set of key process areas that must be established for effective
delivery of software engineering technology. The key process areas form the basis for
management control of software projects and establish the context in which technical methods are
applied, work products (models, documents, data, reports, forms, etc.) are produced, milestones
are established, quality is ensured, and change is properly managed.
Software engineering methods provide the technical how-to's for building software. Methods
encompass a broad array of tasks that include requirements analysis, design, program
construction, testing, and support. Software engineering methods rely on a set of basic principles
that govern each area of the technology and include modeling activities and other descriptive
techniques. 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
Page 13 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
used by another, a system for the support of software development, called computer-aided
software engineering, is established.
c) With neat diagram explain the translation of analysis model into design model.
(Description - 2 Marks, Diagram - 2 Marks)
Ans:
Software design is applied regardless of the software process model that is used. Beginning once
software requirements have been analyzed and specified, software design is the first of three
technical activities –design, code generation, and test- that are required to build and verify the
software. Each activities transforms information in manner that ultimately results in validated
computer software.
Each of the elements of the analysis model provides information that is necessary to create the
four models required for a complete specification of design.
1. The data/class design transforms analysis classes into design classes along with data structure
required for a complete specification of design.
2. The architectural design defines the relationship between major structural elements of the
software; architectural styles and design patterns help achieve the requirements defined for the
system
Page 14 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
3. The interface design describes how the software communicates with systems that interoperate
with it and with humans that use it.
4. The component-level design transforms structural elements of the software architecture into
procedural description of software components.
The flow of information during software design is illustrated in fig.
d) Describe the RAD process model with neat diagram and its advantages.
(Description -2 Marks, Diagram -1 Mark, Advantages - 1 Mark)
Ans:
RAD Model
Page 15 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Business modeling: - The information flow among business functions is modeled in a way that
answers the following questions: What information drives the business process? What
information is generated? Who generates it? Where does the information go? Who processes it?
Data modeling: - The information flow defined as part of the business modeling phase is refined
into a set of data objects that are needed to support the business. The characteristics (called
attributes) of each object are identified and the relationships between these objects defined. Data
modelling is considered in.
Process modeling: - The data objects defined in the data modeling phase are transformed to
achieve the information flow necessary to implement a business function. Processing descriptions
are created for adding, modifying, deleting, or retrieving a data object.
Application generation: - RAD assumes the use of fourth generation techniques (Section 2.10).
Rather than creating software using conventional third generation programming languages the
RAD process works to reuse existing program components (when possible) or create reusable
components (when necessary). In all cases, automated tools are used to facilitate construction of
the software.
Testing and turnover: - Since the RAD process emphasizes reuse, many of the program
components have already been tested. This reduces overall testing time. However, new
components must be tested and all interfaces must be fully exercised.
Advantages:-
1. Faster implementation of Project
2. Parallel implementation
3. Projects divided into small teams results into better implementation
Page 16 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Establishes data relationships
Identifies functions that transform data objects
Indicates different states of the system
Specifies events that cause the system to change state
Refines each model to represent lower levels of abstraction
Refines data objects
Creates a functional hierarchy represent behavior at different levels of detail
Page 17 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
6. The incremental model is iterative in nature. When an incremental model is used, the first
increments are often a ―core product.‖
7. Thai is basic requirements are addressed, but many supplementary features remain
undelivered. Incremental development is useful when staffing is unavailable for a complete
implementation by the business deadline that has been established for the project.
8. In this model the product is designed, implemented, integrated and tested as a series of
incremental builds.
9. Each build consist of code pieces from various modules interacting to provide a specific
functional capability.
Example:
Word processing software developed using the incremental paradigm might deliver basic file
management editing and document production in the first increment, more sophisticated editing
and document production capabilities in second increment;
Spelling and grammar checking in third increment and advanced page layout capability in fourth
increment and it should be noted that the process flow for any increment can incorporate the
prototyping paradigm.
Page 18 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Cardinality Modality
Cardinality defines the range of object-to object Modality indicates whether or not a relationship
Relationships between objects is mandatory
Expected Values are 1:1 , 1:N, N:M Expected values are 0 or 1 only
It does not, however, provide an indication of It provides indication of participation in the
whether or not a particular data object must relationship by having values as 1, if value is 0 no
participate in the relationship. participation in relationship will exist.
It gives maximum numbers occurrences in It gives minimum numbers occurrences in
relationship relationship
b) What are different data design element and architectural design elements?
(Data Design Element - 2 Marks, Architectural Design Elements - 2 Marks)
Ans: Data Design Elements
Like other software engineering activities, data design (sometimes referred to as data architecting)
creates a model of data and/or information that is represented at a high level of abstraction (the
customer/user‘s view of data). This data model is then refined into progressively more
implementation-specific representations that can be processed by the computer-based system. In
many software applications, the architecture of the data will have a profound influence on the
architecture of the software that must process it.
The structure of data has always been an important part of software design. At the program
component level, the design of data structures and the associated algorithms required to
manipulate them is essential to the creation of high-quality applications. At the application level,
the translation of a data model (derived as part of requirements engineering) into a database is
pivotal to achieving the business objectives of a system. At the business level, the collection of
information stored in disparate databases and reorganized into a ―data warehouse‖ enables data
mining or knowledge discovery that can have an impact on the success of the business itself. In
every case, data design plays an important role.
Page 19 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Architectural Design Elements
The architectural design for software is the equivalent to the floor plan of a house. The floor plan
depicts the overall layout of the rooms; their size, shape, and relationship to one another; and the
doors and windows that allow movement into and out of the rooms. The floor plan gives us an
overall view of the house. Architectural design elements give us an overall view of the software.
The architectural model is derived from three sources: (1) information about the application
domain for the software to be built; (2) specific requirements model elements such as data flow
diagrams or analysis classes, their relationships and collaborations for the problem at hand; and
(3) the availability of architectural styles and patterns.
The architectural design element is usually depicted as a set of interconnected subsystems, often
derived from analysis packages within the requirements model. Each subsystem may have its own
architecture (e.g., a graphical user interface might be structured according to a preexisting
architectural style for user interfaces).
c) What is requirement engg. ? What is its need? What are different subtasks included in it?
(Requirement Engineering-1 Mark, Need - 1 Mark, Subtask - 2 Marks)
Ans: Requirement Engineering:-
Software process perspective, requirements engineering is a major software engineering action
that begins during the communication activity and continues into the modeling activity. It must be
adapted to the needs of the process, the project, the product, and the people doing the work.
Need of Requirement Engineering:-
Requirements engineering tools assist in requirements gathering, requirements modeling,
requirements management, and requirements validation.
Subtasks included Requirement Engineering:-
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements management
Page 20 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Page 21 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
on: Communication, like any software engineering activity, takes time. Rather than iterating
endlessly, the people who participate 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.
e) What are PSP and TSP frame work activities? Explain their meaning in detail.
(PSP Framework activities 2 Marks, TSP Framework activities 2 Marks)
Ans: PSP Framework Activities includes:-
The PSP model defines five framework activities:
Planning: This activity isolates requirements and develops both size and resource estimates. In
addition, a defect estimates (the number of defects projected for the work) is made. All metrics
are recorded on worksheets or templates. Finally, development tasks are identified and a project
schedule is created.
High-level design: External specifications for each component to be constructed are developed
and a component design is created. Prototypes are built when uncertainty exists. All issues are
recorded and tracked.
High-level design review: Formal verification methods (Chapter 21) are applied to uncover
errors in the design. Metrics are maintained for all important tasks and work results.
Development: The component-level design is refined and reviewed. Code is generated, reviewed,
compiled, and tested. Metrics are maintained for all important tasks and work results.
Postmortem: Using the measures and metrics collected (this is a substantial amount of data that
should be analyzed statistically), the effectiveness of the process is determined. Measures and
metrics should provide guidance for modifying the process to improve its effectiveness.
TSP Framework Activities includes:-
TSP defines the following framework activities: project launch, high-level design,
implementation, integration and test, and postmortem.
Page 22 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Project Launch: It reviews core objective and describes the TSP structure and content. It assigns
terms and roles to developers and describes the customer needs statement. It also establishes team
and individual goals.
High Level Design: It creates high-level design, specifies the design, and inspects the design
develop an integration test plan.
Implementation: Implementation uses the TSP to implement modules/unit, creates a detailed
design of modules/units, reviews the design, translates the design to code, review the code,
compile and test the modules/units and analyze the quality of the modules/units.
Integration and Test: Testing builds and integrates these builds into a system. It conducts a
system test and produce user documentation.
Postmorterm: It conducts a postmortem analysis, writes a cycle report and produce peer and
team evaluations.
Page 23 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
b) Differentiate validation and verification.
(Any 4 Points of comparison shall be consider - 1 Mark each comparison point)
Ans:
Validation Verification
Validation is a dynamic mechanism of Verification is a static practice of verifying
validating and testing the actual product. documents, design, code and program.
It always involves executing the code. It does not involve executing the code.
It is computer based execution of program. It is human based checking of documents and
files.
Validation uses methods like black box Verification uses methods like inspections,
(functional) testing, gray box testing, and white reviews, walkthroughs, and Desk-checking etc.
box (structural) testing etc.
Validation is to check whether software meets Verification is to check whether the software
the customer expectations and requirements. conforms to specifications.
It can catch errors that verification cannot catch. It can catch errors that validation cannot catch.
It is High Level Exercise. It is low level exercise.
Target is actual product-a unit, a module, a bent Target is requirements specification, application
of integrated modules, and effective final and software architecture, high level, complete
product. design, and database design etc.
Validation is carried out with the involvement Verification is done by QA team to ensure that
of testing team. the software is as per the specifications in the
SRS document.
It generally follows after verification. It generally comes first-done before validation.
c) Explain briefly :
i) Unit testing
ii) System testing
(Unit Testing - 2 Marks, System Testing- 2 Marks, Description of types of System testing is
optional; any figure of unit testing shall be consider)
Ans:
i.Unit Testing
Unit testing focuses verification effort on the smallest unit of software design—the software
component or module. Using the component-level design description as a guide, important
control paths are tested to uncover errors within the boundary of the module. The relative
complexity of tests and the errors those tests uncover is limited by the constrained scope
established for unit testing. The unit test focuses on the internal processing logic and data
Page 24 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
structures within the boundaries of a component. This type of testing can be conducted in parallel
for multiple components.
O
R
Security Testing: Security testing attempts to verify that protection mechanisms built into a
system will, in fact, protect it from improper penetration. ―The system‘s security must, of course,
be tested for invulnerability from frontal attack—but must also be tested for invulnerability from
flank or rear attack.‖
Stress Testing: Stress testing executes a system in a manner that demands resources in abnormal
quantity, frequency, or volume. For example, (1) special tests may be designed that generate ten
Page 25 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
interrupts per second, when one or two is the average rate, (2) input data rates may be increased
by an order of magnitude to determine how input functions will respond, (3) test cases that require
maximum memory or other resources are executed, (4) test cases that may cause thrashing in a
virtual operating system are designed, (5) test cases that may cause excessive hunting for disk-
resident data are created. Essentially, the tester attempts to break the program.
Performance Testing: Performance tests are often coupled with stress testing and usually require
both hardware and software instrumentation. That is, it is often necessary to measure resource
utilization (e.g., processor cycles) in an exacting fashion. External instrumentation can monitor
execution intervals, log events (e.g., interrupts) as they occur, and sample machine states on a
regular basis. By instrumenting a system, the tester can uncover situations that lead to degradation
and possible system failure.
Page 26 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Features of SCM:-
Versioning: As a project progresses, many versions of individual work products will be created.
The repository must be able to save all of these versions to enable effective management of
product releases and to permit developers to go back to previous versions during testing and
debugging.
Dependency tracking and change management: The repository manages a wide variety of
relationships among the data elements stored in it. These include relationships between enterprise
entities and processes, among the parts of an application design, between design components and
the enterprise information architecture, between design elements and deliverables, and so on.
Requirements tracing: This special function depends on link management and provides the
ability to track all the design and construction components and deliverables that result from a
specific requirements specification (forward tracing). In addition, it provides the ability to identify
which requirement generated any given work product (backward tracing).
Configuration management: A configuration management facility keeps track of a series of
configurations representing specific project milestones or production releases.
Audit trails: An audit trail establishes additional information about when, why, and by whom
changes are made. Information about the source of changes can be entered as attributes of specific
objects in the repository.
Using the CTC format for the reuse risk one could write:
Page 27 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Given that all reusable software components must conform to specific design standards and that
some do not conform, then there is concern that (possibly) only 70 percent of the planned reusable
modules may actually be integrated into the as-built system, resulting in the need to custom
engineer the remaining 30 percent of components.
This general condition can be refined in the following manner:
Sub-condition 1: Certain reusable components were developed by a third party with no
knowledge of internal design standards.
Sub-condition 2: The design standard for component interfaces has not been solidified and may
not conform to certain existing reusable components.
Sub-condition 3: Certain reusable components have been implemented in a language that is not
supported on the target environment.
The consequences associated with these refined sub-conditions remain the same
(i.e., 30 percent of software components must be custom engineered), but the refinement helps to
isolate the underlying risks and might lead to easier analysis and response.
Page 28 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Control the process to ensure that future work does not reintroduce the causes of defects.
These core and additional steps are sometimes referred to as the DMAIC (define, measure,
analyze, improve, and control) method. If an organization is developing a software process (rather
than improving an existing process), the core steps are augmented as follows:
Design the process to (1) avoid the root causes of defects and (2) to meet customer requirements.
Verify that the process model will, in fact, avoid defects and meet customer requirements.
This variation is sometimes called the DMADV (define, measure, analyze, design, and verify)
method.
Page 29 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Level 3: Defined all capability level 2 criteria have been achieved. In addition, the process is
tailored from the organization‘s set of standard processes according to the organization‘s
tailoring guidelines, and contributes work products, measures, and other process-improvement
information to the organizational process assets .
Level 4: Quantitatively managed all capability level 3 criteria have been achieved. In
addition, the process area is controlled and improved using measurement and quantitative
assessment. Quantitative objectives for quality and process performance are established and used
as criteria in managing the process
Level 5: Optimized all capability level 4 criteria have been achieved. In addition, the process
area is adapted and optimized using quantitative (statistical) means to meet changing customer
needs and to continually improve the efficacy of the process area under consideration.
b) What are the principles used for project scheduling? Explain their meaning.
(Each principle explanation - 1 Mark)
Ans: Compartmentalization
The project must be compartmentalized into a number of manageable activities, actions,
and tasks; both the product and the process are decomposed.
Interdependency
The interdependency of each compartmentalized activity, action, or task must be
determined. Some tasks must occur in sequence while others can occur in parallel. Some actions
or activities cannot commence until the work product produced by another is available.
Time allocation
Each task to be scheduled must be allocated some number of work units. In addition, each task
must be assigned a start date and a completion date that are a function of the interdependencies.
Start and stop dates are also established based on whether work will be conducted on a full-time
or part-time basis.
Effort validation
Every project has a defined number of people on the team. 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
Page 30 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
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 for software projects such as a work
product or part of a work product. Work products are often combined in deliverables.
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 and has been
approved.
Page 31 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
amount of top level design and analysis. Information engineering encompasses requirements
gathering at the strategic business level and at the business area level.
Software requirements analysis. The requirements gathering process is intensified and focused
specifically on software. To understand the nature of the program(s) to be built, the software
engineer ("analyst") must understand the information domain for the software, as well as required
function, behavior, performance, and interface. Requirements for both the system and the
software are documented and reviewed with the customer.
Design: Software design is actually a multistep process that focuses on four distinct attributes of a
program: data structure, software architecture, interface representations, and procedural
(algorithmic) detail. The design process translates requirements into a representation of the
software that can be assessed for quality before coding begins. Like requirements, the design is
documented and becomes part of the software configuration.
Code generation: The design must be translated into a machine-readable form.
The code generation step performs this task. If design is performed in a detailed manner, code
generation can be accomplished mechanistically.
Testing: Once code has been generated, program testing begins. The testing process focuses
on the logical internals of the software, ensuring that all statements have been tested, and on the
functional externals; that is, conducting tests to uncover errors and ensure that defined input will
produce actual results that agree with required results.
Support: Software will undoubtedly undergo change after it is delivered to the customer (a
possible exception is embedded software). Change will occur because errors have been
encountered, because the software must be adapted to accommodate changes in its external
environment (e.g., a change required because of a new operating system or peripheral device), or
because the customer requires functional or performance enhancements. Software
support/maintenance reapplies each of the preceding phases to an existing program rather than a
new one.
Page 32 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Page 33 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
1. Low level components are combined in clusters that perform a specific software
function.
2. A driver (control program) is written to coordinate test case input and output.
3. The cluster is tested.
4. Drivers are removed and clusters are combined moving upward in the program structure.
Page 34 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
Page 35 of 36
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2005 Certified)
WINTER – 14 EXAMINATION
Subject Code: 17513 Model Answer Subject Name: Software Engineering
____________________________________________________________________________________________________
organizations to undertake increasingly complex applications by helping to attract, grow,
motivate, deploy, and retain the talent needed to improve their software development capability.
The people management maturity model defines the following key practice areas for
software people: recruiting, selection, performance management, training, compensation,
career development, organization and work design, and team/culture development.
Organizations that achieve high levels of maturity in the people management area have a
higher likelihood of implementing effective software engineering practices. The PM-CMM
is a companion to the software capability maturity model that guides organizations in the
creation of a mature software process.
Following are the various categories of people associated with the project.
The Stakeholders: - This include Senior managers, Project (technical) managers, Practitioners,
Customers, End user
Team Leaders: - Leaders of various teams associated with the project
The Software Team:- Entire software team
Agile Teams: - Temporary teams associated with software
Coordination and Communication Issues
Page 36 of 36