CS8494 QB
CS8494 QB
PART A Questions
Verification Validation
The set of activities that ensure that software The set of activities that ensure that the
correctly implements a specific function.
software has been built is traceable to customer
requirements
Verification represents the set of activities that Validation represents the set of activities that
are carried out to confirm that the softwareensure that the software that has been built is
correctly implements the specific functionality satisfying the customer requirements.
Evolutionary models are iterative. They are characterized in a manner that enables you to
developincreasingly more complete versions of the software.
Software prototyping, refers to the activity of creating prototypes of software applications, i.e.,
incomplete versions of the software program being developed.
4. List two deficiencies in waterfall model. Which process model do you suggest to
overcome eachdeficiency? APRIL/MAY 2017
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.
5. What is the significance of the spiral model when compared with other models.
NOV/DEC 2017
The process model can be defined as the abstract representation of process. The appropriate
process model can be chosen based on abstract representation of process. These process models
will follow some rules for correct usage.
Agile Modeling
Scrum
Software is instructions (computer programs) that are intended to provide desired Features,
function, and performance Characteristics:
Software is developed or engineered; Software doesn’t “wear out” most software continues to be
custom built.
• Functionality
• Reliability
• Usability
• Efficiency
10. If you have to develop a word processing software product, what process model will
you choose? Justify your answer. NOV/DEC 2016
Incremental model: incremental paradigm might deliver basic file management, editing, and
document production functions in the first increment; more sophisticated editing and document
production capabilities in the second increment; Spelling and grammar checking in the third
increment; and advanced page layout capability in the fourth increment
11. What are the advantages and disadvantages of iterative software development
model NOV/DEC 2015
Advantages
In iterative model we can only create a high-level design of the application before we actually
begin to build the product and define the design solution for the entire product.
Less time is spent on documenting and more time is given for designing.
Disadvantages
Costly system architecture or design issues may arise because not all requirements are
gathered up front for the entire lifecycle
Drawing the customer into the team. Eliminate “us and them” attitude.Planning in
an uncertain world has its limits and plan must be flexible.
The development guidelines stress delivery over analysis and design although these
activates are not discouraged, and active and continuous
Unit-2 requirements Analysis and Specifications
1. What is software? List the characteristics. APRIL/MAY 2018
Software is instructions (computer programs) that are intended to provide desired Features,
function, and performance
Characteristics:
2. What are the linkages between data flow and E-R Diagram? (APRIL/MAY 2016)
An ER diagram is the Entity Relationship Diagram, showing the relationship between different
entities in a process.
A Data Flow diagram is a symbolic structure showing how the flow of data is used in different
process stages.
Correct – The SRS should be made up to date when appropriate requirements are
identified.
Complete – To make SRS complete,it shold be specified what a software designer wants
tocreate software.
Traceable – What is the need for mentioned requirement? This should be correctly
identified.
Extending the system by providing more tellers for customers.- functional Requirements
The data dictionary can be defined as an organized collection of all the data elements of the
system with precise and rigorous definitions so that user and system analyst will have a common
understanding of inputs, outputs, components of stores and intermediate calculations.
A feasibility analysis evaluates the project's potential for success; therefore, perceived objectivity
is an important factor in the credibility of the study for potential investors and lending
institutions.
While designing the user interface of software the requirement collection can be done by
focusing on the profile of user who will interact with the system. Skill level, business
understanding and general grasping to the new system are recorded. Users can be categorized
into different categories and for each category of user requirements are elicitations.
Functional requirements:
These are statements of services the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations. In some cases, the
functional requirements may also explicitly state what the system should not do.
Non-functional requirements:
These are constraints on the services or functions offered by the system. They include timing
constraints, constraints on the development process and standards. Non-functional requirements
often apply to the system as a whole. They do not usually just apply to individual system features
or services.
Petri nets are a basic model of parallel and distributed systems. The basic idea is to describe
state changes in a system with transitions.
10. Define feasibility study and list the types. (NOV/DEC 2015)
Feasibility is defined as the practical extent to which a project can be performed successfully.
Type of feasibility:
Technical feasibility,
3.Economic feasibility
The outcome of feasibility study is the results obtained from the following questions: x Which
system contributes to organizational objectives? x Whether the system can be engineered? Is it
within the budget? x Whether the system can be integrated with other existing system?
❖ Component-level design occurs after the first iteration of the architectural design
❖ The design of data structures, interfaces, and algorithms should conform to well-established
2 . List down the steps to be followed for User Interface design. (APRIL/MAY 2015)
1. Using information developed during interface analysis, define interface objects and actions
(operations).
2. Define events (user actions) that will cause the state of the user interface to change. Model this
behavior.
3. Depict each interface state as it will actually look to the end user.
4. Indicate how the user interprets the state of the system from information provided through the
interface.
3. What are the golden rules for an interface design? (NOV/DEC 2015)
4. What is the need for architectural mapping using data flow? (MAY/JUNE 2016,
APRIL/MAY 2017)
5. What architectural styles are preferred for the following systems? Why? (NOV/DEC
2016)
6. Write a note on FURPS model of design quality. (NOV/DEC 2015) (NOV/DEC 2017)
FURPS is an acronym representing a model for classifying software quality attributes (functional
and non-functional requirements):
Functionality
Usability
Reliability
Performance
Supportability
7. If a module has logical cohesion, what kind of coupling is this module likely to have?
(MAY/JUNE 2016)
When a module that performs a tasks that are logically related with each other is called logically
cohesive. For such module content can be suitable for coupling with other modules.
The content coupling is a kind of coupling when one module makes use of data or control
information maintained in other module.
Inheritance in software design model is interfacing module will be done from top (base class) to
bottom (derived classes)
9. What UI design patterns are used for the following? (NOV/DEC 2016) (APRIL/MAY
2017)
(c) Navigation through menus and web pages - vertical dropdown menu, horizontal dropdown
menu, accordion menu
(d) Shopping cart- product page, pricing table, coupon, shopping cart
10. List four design principles of a good design? APR/MAY- 11APRIL/MAY 2018
Data design
Architectural design
Interface design
Component-level design
Data coupling – The data coupling is possible by parameter passing or data interaction.
Control coupling – The modules share related control data in control coupling.
Common coupling – The common data or a global data is shared among modules.
Content coupling-Content couplingoccurs when one module makes use of data or control
information maintained in another module.
Regression testing may be conducted to ensure that new errors have not been introduced.
Regression Testing is required when there is a
Defect fixing
A TEST CASE is a set of conditions or variables under which a tester will determine whether a
system under test satisfies requirements or works correctly.
Unit Testing
Integration Testing
System testing
Acceptance Testing.
5. What are the testing principles the software engineer must apply while performing
the software testing? (MAY 18)
6. List two customers related and technology related risks. (APR/MAY 2017)
•Do the customer’s requirements demand the creation of new algorithms or input or output
technology?
1. Maintainability. It is easier to fix bugs because the source code is easy to read and the intent
of its author is easy to grasp. This might be achieved by reducing large monolithic routines into a
set of individually concise, well-named, single-purpose methods.
A classic system-testing problem is “finger pointing.” This occurs when an error is uncovered,
and the developers of different system elements blame each other for the problem.
9. Why does software fail after it has passed from acceptance testing? (APR/MAY
2016)
During acceptance testing, the random input is used for testing. This may lead to the situation
that some input values that may cause failure go unhandled. The practical problem with
acceptance testing is that it is time consuming. Hence in order to keep testing cost low, there is
restricted number of test cases.
Smoke Testing, also known as “Build Verification Testing”, is a type of software testing that
comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions
work. The results of this testing is used to decide if a build is stable enough to proceed
with further testing.
11. Why does software fail after it has passed from acceptance testing?APR/MAY 2016
Each acceptance test represents some expected result from the system. Customers are responsible
for verifying the correctness of the acceptance tests and reviewing test scores to decide which
failed tests are of highest priority. Acceptance tests are also used as regression tests prior to a
production release. A user story is not considered complete until it has passed its acceptance
tests. This means that new acceptance tests must be created for each iteration or the
development team will report zero progress.
Alpha test: The alpha testing is attesting in which the version of complete software is tested by
the customer under the supervision of developer. This testing is performed at developer’s site.
Beta test: The beta testing is a testing in which the version of the software is tested by the
customer without the developer being present. This testing is performed at customer’s site.
Drivers and stub software need to be developed to testincompatible software. The “driver” is
a program that accepts the test data and prints the relevant results.
The “stub” is a subprogram that uses the module interfaces and performs the minimal data
manipulation if required.
Software scope
Resources
Project estimation
Decomposition
2. What are the different types of productivity estimation measures? (APR/MAY 2017)
COCOMO
Cyclomatic Complexity
Compartmentalization
Interdependency
Time allocation
Effort validation
Defined responsibilities
Deined outcomes
Defined milestones
The Risk Information Sheet documents a Risk that may during the life-time of a specific
Software Project. Risk Information Sheets can be used in to supplement or in the place of a
formal Risk Mitigation, Monitoring and Management (RMMM) Plan
Project risk - that the building costs may be higher than expected because of an increase in
materials or labor costs.
Business risk - even if the stadium is constructed on time and within budget that it will not
make money for the business.
The budgeted cost of work scheduled (BCWS) is determined for each work task represented
in the schedule. During estimation, the work (in person-hours or person-days) of each
software engineering task is planned. BCWS= sum of BCWSi Hence, BCWSi is the effort
planned for work task i
7. Write any two differences between “known risk” and predictable risk”. NOV/DEC
2019
Known risk: It can be uncovered after careful evaluation project plan, business and technical
environment in which the project is being developed, other reliable information resources.
E.g. unrealistic delivery date, lack of software poor development environment. Predictable
risks are those risks that can be identified in advance based on pas project experience. For
example: Experienced and skilled staff leaving the organization in between
9. List two customers related and technology related risks. (APR/MAY 2017)
10. How is productivity and cost related to function points? (NOV/DEC 2016)
Inconsistent productivity rates between projects may be an indication that a standard process
is not being followed. Productivity is defined as the ratio of inputs/outputs. For software,
productivity is defined as the amount of effort required to deliver a given set of functionality.
The true cost of software is the sum of all costs for the life of the project including all
expected enhancement and maintenance costs. The more invested up front should reduce per
unit cost for future enhancement and maintenance activities. The unit cost can be hours/FP or
$/FP
PART B Questions
2. Discuss the prototyping model. What is the effect of designing a prototype on the overall
cost of the software project? MAY/JUNE 2016
3. Describe the type of situations where iterative enhancement model might lead to
difficulties
MAY/JUNE 2016
4. Elucidate the key features of the software process models with suitable examples.
MAY/JUNE 2016
5. List the principles of agile software development. NOV/DEC 2016, NOV/DEC 2019
6. What is a process model? Describe the process model that you would choose to
manufacture a car.Explain giving suitable reasons. MAY/JUNE 2017, NOV/DEC 2019
(Spiral Model)
3. Write a note on what are the difficulties in elicitation, requirement elicitation. APRIL /
MAY 2017,APRIL/MAY 2017
4. Explain the organization of SRS and highlight the importance of each subsection. MAY
/JUNE2016, APRIL/MAY 2017
6. Describe the requirements change management process in detail. MAY /JUNE 2016
4. Discuss the differences between Object Oriented and Function Oriented Design.
(APR/MAY2016)
5. What is structured design? Illustrate the structured design process from DFD to
structured chartwith a case study. (NOV/DEC 2016)
10. Outline the steps in designing class based components with an example.
NOV/DEC 2019
7. Define risk. List types of risk and explain phases in risk management.
APR/ MAY 2019, NOV/DEC 2019