CS2301 SOFTWARE ENGINEERING - Important Questions With Answers PDF
CS2301 SOFTWARE ENGINEERING - Important Questions With Answers PDF
CS2301 SOFTWARE ENGINEERING - Important Questions With Answers PDF
Planning
Analysis
Design
Implementation
Testing
Installation
Maintenance
Phase V – Testing
The testing is a process that goes hand in hand with the production of the machine code.
There are a number of testing strategies. First unit testing is done and then integration
testing. Alpha testing is to see if the software is as per the analysis model whereas beta
testing is to see if the software is what the customer wanted.
Phase VI – Installation
The software is released to the customer.
5) What are the purposes of Data Flow diagrams, Entity-Relationship diagrams? Give an
example diagram of each. (10 mks)
The purpose of data flow diagrams is to provide a semantic bridge between users and systems
developers. The diagrams are:
7) What is the difference between SRS document and design document? What are the
contents we should contain in the SRS document and design document.
SRS Document
SRS document is a contract between the development team and the customer. Once the SRS
document is approved by the customer, any subsequent controversies are settled by referring the
SRS document. SRS document defines the customer’s requirements in terms of Functions,
performance, external interfaces and design constraints.
SRS Includes:
• Functional
• Non functional
• User
• Interface
• System
Design Document
The purpose of a design is to describe how the enhancements will be incorporated into the existing
project. It should contain samples of the finished product. This could include navigational
mechanism screenshots, example reports, and component diagrams.
Design Includes:
• E-R Diagrams
• Data flow diagrams
• Data Dictionary
8) Explain all the phases involved in the implementation phase. (10 mks)
Conduct system Test
In this test software packages and in – house programs have been installed and tested, we need to
conduct a final system test. All software packages, custom- built programs, and many existing
programs that comprise the new system must be tested to ensure that they all work together
This task involves analysts, owners, users, and builders.
Train Users
Converting to a new system necessitates that system users be trained and provided with
documentation that guides them through using the new system. Training can be performed one on
one; however group training is preferred. This task will be completed by the system analysts and
involves system owners and users.
9) List and explain different types of testing done during the testing phase. (10 mks)
Unit
Involves the design of test cases that validate that the internal program logic is functioning
properly, and that program inputs produce valid outputs. All decision branches and internal code
flow should be validated. Unit testing involves the use of debugging technology and testing
techniques at an application component level and is typically the responsibility of the developers,
not the QA staff.
Integration
As the system is integrated, it is tested by the system developer for specification compliance.
•Concerned with testing the system as it is integrated from its components
•Integration testing is normally the most expensive activity in the systems integration process
•Should focus on:
•Interface testing where the interactions between sub-systems and components are tested
•Property testing where system properties such as reliability, performance and usability are tested
System
Testing the system as a whole to validate that it meets its specification and the objectives of its
users. The testing of a complete system prior to delivery. The purpose of system testing is to
identify defects that will only surface when a complete system is assembled. That is, defects that
cannot be attributed to individual components or the interaction between two components. System
testing includes testing of performance, security, configuration sensitivity, startup and recovery
from failure modes. Involves test cases designed to validate that an application and its supporting
hardware/software components are properly processing business data and transactions. System
testing requires the use of regression testing techniques to validate that business functions are
meeting defined requirements.
Black Box
This is testing without knowledge of the internal workings of the item being tested. For example,
when black box testing is applied to software engineering, the tester would only know the "legal"
inputs and what the expected outputs should be, but not how the program actually arrives at those
outputs. It is because of this that black box testing can be considered testing with respect to the
specifications, no other knowledge of the program is necessary. For this reason, the tester and the
programmer can be independent of one another, avoiding programmer bias toward his own work.
White Box
Also known as glass box, structural, clear box and open box testing. White Box is a software
testing technique whereby explicit knowledge of the internal workings of the item being tested are
used to select the test data. Unlike Black Box testing, white box testing uses specific knowledge of
programming code to examine outputs. The test is accurate only if the tester knows what the
program is supposed to do. He or she can then see if the program diverges from its intended goal.
White box testing does not account for errors caused by omission, and all visible code must also be
readable.
10) List and explain all the phases involved in the construction phase. (10 mks)
Build and Test Networks
• In many cases new or enhanced applications are built around existing networks. If so there is
no problem.
• However if the new application calls for new or modified networks they must normally be
implemented before building and testing databases and writing or installing computer programs
that will use those networks.
• This phase involves analysts, designers and builders
• A network designer and network administrator assume the primary responsibility for completing
this task.
Build and Test Databases
• This task must immediately precede other programming activities because databases are the
resource shared by the computer programs to be written. If new or modified databases are
required for the new system, we can now build and test those databases.
• This task involves system users, analysts, designers, and builders.
• The same system specialist that designed the database will assume the primary responsibility in
completing this task
13) What is user acceptance testing? Explain different testings in user acceptance testing.
Why is it necessary?
User Acceptance Testing is a phase of software development in which the software is tested in the
"real world" by the intended audience.
Beta Testing
The beta phase of software design exposes a new product, which has just emerged from in-house
(alpha) testing, to a large number of real people, real hardware, and real usage. Beta testing is not
a method of getting free software long-term, because the software expires shortly after the testing
period.
User acceptance testing is used to know if the system is working or not (both clients & in-house)
Non functional
• Constraints on the services or functions
• Time constraints
• Constraints on the development process
Objects are members, or instances, of a class formed by assigning specific values to the variables
in the class.
A generalization is used when two classes are similar, but have some differences. Look at the
generalization below:
In this example the classes Corporate Customer and Personal Customer have some similarities
such as name and address, but each class has some of its own attributes and operations. The
class Customer is a general form of both the Corporate Customer and Personal Customer classes.
This allows the designers to just use the Customer class for modules and do not require in-depth
representation of each type of customer.
24) Write out the reasons for the Failure of Water Fall Model?
Reasons For The Failure Of Water Fall Model :
• Real Project rarely follow Sequential Flow. Iterations are
made in indirect manner
• Difficult for customer to state all requirements explicitly
• Customer needs more patients as working product reach only
at Deployment phase
37) What is the difference between the “Known Risks” and Predictable Risks” ?
Known Risks :-
• That can be uncovered after careful evaluation of the
project plan, the business, and technical environment
in which the product is being developed
• Example : Unrealistic delivery rate
Predictable Risks :-
• Extrapolated from past project experience
• Example : Staff turnover
48) What is the Origin of changes that are requested for software?
Origin Of Change :-
• New Business or Market Condition
• New Customer Needs
• Reorganization or business growth/downsizing
• Budgetary or Scheduling constraints
52) What are the issues to be considered for developing tactics for WebApp Configuration
Management?
• Context
• People
• Scalability