0% found this document useful (0 votes)
16 views16 pages

Software Engineering Qa

The document discusses various aspects of software engineering, including the benefits of software metrics, the definition and importance of configuration management, and the blue print methodology. It also covers quality parameters in software systems, differences between testing techniques like alpha and beta testing, and white box versus black box testing. Additionally, it outlines the generic views of software engineering and the implementation process of software, emphasizing the need for proper planning and user training.

Uploaded by

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

Software Engineering Qa

The document discusses various aspects of software engineering, including the benefits of software metrics, the definition and importance of configuration management, and the blue print methodology. It also covers quality parameters in software systems, differences between testing techniques like alpha and beta testing, and white box versus black box testing. Additionally, it outlines the generic views of software engineering and the implementation process of software, emphasizing the need for proper planning and user training.

Uploaded by

James Oludiji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

SOFTWare engineering

QUESTIONS AND SOLUTIONS

JANUARY 1, 2023
Software Engineering

Software Engineering Process

1. What are the benefits of metrics in software engineering?


Software metrics have a very large area and during the period of software
development process it has much kind of applications regarding this.
Software metrics plays a major role in software Engineering, The benefits are
given below:
1. It makes the better control, planning and clear visibility.
2. It helps to increase the production and quality.
3. With the help of this we can measure the size of the software.
4. We can find out the cost of developed software.
5. With the help of software metrics we can find out the errors which
creates problem on the first level of development life cycle.
6. We can find out the many kind of test techniques and method during
this process.
7. With the help of this we can better control and examine this process of
development life cycle.
8. We can take idea that how much cost and size would be this software.
9. With the help of better supervision on this we can find out the more
important information about the capacity of productivity and quality.
10. With the help of software metrics we can analyse the problem
which occurred in development process and helpful in better decision
making.
2. Explain the term Configuration management.
Software configuration management, SCM is an activity which is used at
every level and every part of the process of software Engineering. Every
improvement takes the shape of better control. This is a discipline which
controls betters and according to client need in software Engineering. With
the help of this many types are changes which play an important role in
software Engineering and development process.
In the simple way if we define the term configuration of management, this is
the tool which makes better control, easy maintenance during the whole
process of software development. With the help of software configuration
management we can easily find out what modification and controlling
required by the developer. SCM have the capacity to control all those effects
which comes in software projects. The main objectives of SCM is increase the
production by reduce the errors.

1|Page
When a software development process start then SCM take change by
identification, control, alteration, audit and etc. after that the output of total
process provided to our customer. We can clarify the action of SCM as:
1. Software configuration identification - Normally software is used
in various kinds of programs and documentation and data related to
each program is called configuration identification. With the help of C.I
we can make a guide line which will be helpful in software
development process, several time the requirement of guideline for
check the document and design of software. Document related to SCM
are the useful item, with the help of this we can make better control
and take a basic unit for configuration.
2. Software configuration control - This is the process of deciding with
the help of this we make coordination between the changes which is
necessary and apply them as per mentioned in guideline. Configuration
control board gives the permission for any kind of change or
modification which is necessary for the project. Many times CCB take
advice of those members which are the part of software development
process.
3. Accounting status of Software configuration - The process of
maintaining record of all data which is necessary for the software is
called accounting status of software. It has all the data related to the
old software to new software that what changes are done or required
for the fulfillment of the customer need.
4. Auditing of software configuration - Auditing of software
configuration is may be defined as an art with the help of this we can
understand that the required actions or changes are done by the
developer or not. Some of the item involved in the process of verifying
or auditing.
o Function is properly performed by the software.
o The process of documentation, data is completed or not.
Benefits
o With the help of SCM we can easily control all changes which are
done in development process.
o It gives the surety to check that changes are done on required
area.
o It is helpful to generate the new software with old components.
o SCM has the capacity to explain everything about the process of
software development.

3. Define the blue print methodology.

2|Page
Most of the time blue print term is used in construction companies. A blue
print may be defined as a paper which has information of design, technical
drawing, documenting etc. on it. In the simple words we can say that blue
print is a copy which has the plan of a building structure. Normally the detail
of every plan is known as blue print. The output of the design efforts
containing the following:
 With the help of blue print we can get the information that how every
parts related to each other.
 Specification for any new pieces.
 Definition for any new data.
Every software design has a goal that he provides a detail for the design
which has all the information. With the help of that information a trusted
system may be build. For getting the system design a systematically
approach is used. We have two types of approaches.
1. Functional oriented approach - In functional oriented design the
design consists of module definition where each module supported a
functional abstraction. Modularization is the base of functional oriented
design. The decomposition is centered on the item identification of the
large system functions and the elaboration in a top down manner. The
processes in a system are decomposed in to components called
module. The goal of the functional oriented design is to specific
numbers of module could be developed, altered and reused on self-
basis in the final program.
2. Object oriented design approach - Object oriented methodology
plays a major role in object oriented design when code planning made
then the programmer have only object in this mind rather than
procedure. For representing an entity an objects use an encapsulated
data or procedures grouped together. By the interaction of these
objects an object oriented program is described. For making the
structure system classes and objects are used in object oriented
design. It also uses a notation that expresses classes and objects
referred to as logical decomposition as well as modules and processes
which are referred to as physical decomposition. During the process of
software design the major activity is to use four software design
concepts.
o Abstraction
o Hiding information
o Functional independence
o Modularity

4. Give your views about what is more important - the product


or the process.

3|Page
A product may be defined as an output. A product can produce the good
services. A process may be defined as an investment of time and efforts for
getting a good product. Now the question arise that what is most important
the process or product.
The answer of this question has the quality of variable because it is based on
situations. The user targeted on product and developer has the focus on
processing. When a user use any product then he don't know how it was
formed. A good product is called in only that situation when it fulfils the
purpose. Process is a base of every product, without process no any product
can be built so with that reason it show that process plays a major role in
getting a good product.
Product and process both are equally important if there is any error find in
processing then it cannot get the right the right product. If we give the
efforts and input improper way then it can give the surety that the product
will be correct and reliable. In short a quality product can be getting through
a process and the product quality shows the process quality of the product.

Software Engineering Quality


1. Give the detail of quality parameters which are used in a
software system.
Following is the list of quality parameters:
1. Correctness - Correctness is that state of a system which has free
from every kind of problems; errors and software fulfill the customer
needs. In other word it is according to user and developer
Expectations.
2. Reliability - Quality of Reliability is find on that stage where developer
have fully confident about his software that software can satisfied the
user and customer that the action performed by the software is
according to desired time and desired situations.
3. Efficiency - The level of efficiency always calculated by the time
period which software use for performing functions. Difference of time
period used from actual to expected is show the level of efficiency
positive or negative.
4. Integrity - This is that state of software where only that user can
access the software who have the permission otherwise other person
cannot access the software.

4|Page
5. Transformable - The software must have the capacity of
transformable because without this quality use of system on large
basis is not possible. So software should be transferred from one
computer to other computer and one site to other site. With the help of
this facility a number of users can use it at the same time.
6. Accuracy - Accuracy is that state of software where software has zero
percent errors and fulfils all the customer requirements.
7. Robustness - When a software performs with the given data and left
automatically all such information which is either not accurate or not
having the quality of performance, is called robustness.
8. Testability - Under this situation for checking the functionality efforts
are most required.
9. Maintainability - To get the problems in a program some effort is
needed. Capacity of maintenance is very necessary of every program.

2. What are the difference between alpha testing and Beta


testing?

No. Alpha testing Beta Testing

Alpha testing may be


defined as a system Beta testing may be
testing which is done defined as system
1 by the customer at the testing which is done
place where developer by the customer on
has developed the customer's own sites.
system.

2 Alpha testing takes Application is tested in


place once Beta Testing after
development is development and

5|Page
complete. testing is completed.

The problems faced by


Alpha testing continues
customer are reported
until customer agrees
and software is re-
3 that system
released after beta
implementation is as
testing for next beta
per his/her expectation.
test cycle.

To get problems and


defects before final
Alpha testing results in
4 release of the product,
minor design changes.
beta testing is very
helpful.

Alpha testing is done is Beta testing is done in


a controlled manner normal environment
5 because software is and developers are not
tested in developer's present during beta
area. testing.

3. What are the difference between white box testing and


black box testing techniques?

White box testing Black box testing


No.
techniques techniques

Black box testing


techniques may be
White box testing may
define as a software
be defined as a
testing techniques
software testing where
1 where the person who
internal function of a
test the product having
software system is
no any idea about the
tested.
internal of a system
being tested.

White box testing have


some others name like Functional testing is
2 structure Testing and also a second name of
glass box testing, open black box testing.
box testing extra.

3 For testing the Performance and

6|Page
structure of a program behavior of the system
white box testing tested with black box
techniques is used. testing techniques.

"How" is the important "What" is very


4 part of white box important part in Black
testing technique box testing.

Checking out the input Output are verified


and output is not the after inputting
goal of white box instruction if outout
testing but to check have the desired
5 different kind of quality then with the
programming and help of black box
structure of data is the testing technique,
goal of white box complete functionality
testing techniques. is tested.

Black box testing is


It gives result in the
done at the end of the
6 early stage of the
development of the
development
application.

A set of
This technique is used
instructions/scenarios
7 to check the accuracy
are considered for
of each function.
black box testing.

Equivalence testing,
Basic path testing
boundary value testing
8 technique is used in
techniques are used in
white box testing.
black box testing.

White box testing has Black box testing has


9 focus on structural focus on information
control. domain primarily.
Using black box testing,
Following are some of
we can figure out errors
the items tested using
easily in
white box testing.
 Incorrect
10 Loops of a
 functions
procedure  Data structure
 Internal data errors
structure  Performance
 Decision points de;ays

7|Page
4. What are test cases in Software Engineering?
A test case may be defined as a set of instructions for getting an error in
system by causing a failure. Testing software is not so much expensive in the
comparison of software testing. Much kind of aspects are to be kept in mind
when test cases are selected.
 The aim of the test case should be getting a program which have no
errors, if any error find in program to solve it quickly.
 The selected test case should contain all inputs to the program.
 A specified area should be present for the valuation of a test case.
 A test case should be plan quickly as possible in development process.
 A good testing should have following qualities:
1. correctness
2. Reliability
3. Usability
4. Efficiency
5. Integrity
6. Flexibility
7. Structure

Software Engineering Models


1. Explain the generic views of software Engineering.
The process of a software development has three Generic views which are:
1. Definition Phase - It is the base of Definition phase. The experts get
the knowledge about "What".
o Information needed for processing.
o Which functions are required?
o Expectations about the capacity.
o Interface which is established.
o Area of the validation.
This phase defines all the expectations depending on the standard of
the software Engineering. It contains three steps.
o Analysis of system
o Planning of project
o Requirement Analysis
2. Development phase - Focus point of development phase is "How".
After the explanation of "What" it turn to "How". Various type of
question raised in developer mind that how to design the data
structure and Architecture of software, Procedural detail how to

8|Page
implemented and how design convert in a programming language and
testing of software how to perform. Three special steps always taken in
this phase which are
o Design of software
o Coding
o testing of software system
3. Maintenance phase - The main focus of maintenance phase is
change which cause is correction of errors, adaption of new idea,
According to the needs of software after change in customer mood.

2. What is the process of implementation of a software?


The process of implementation of a software may be define as a process of
translation old software to new software with a new developed software who
have extra functions and making it operational without any interruption in an
organization functioning system. The time period which starts from the
acceptance of the tested design to its satisfactory operated it covers all the
time period. The software implementation is a very big operation and for the
implementation of a software better planning is must require. The planning
of implementation of software should be implemented from a short point and
after the success it implemented on whole area. For the implementation of a
new software a good knowledge is must require and some requirement of a
system are hardware, file conversion actions and some personal needs of
software.
Activities involved in software implementation
When old software and new software is modified and implemented then it
contains three basic actions.
1. Personal training - For the implementation of new software, the
training of users and operators is necessary part. The training activity
plays a major part in operating and maintaining the software by user.
Thus we can say that operators and user both require training.
o Software operator training - Most software run smoothly
depends on the computer user. The training of computer operator
gives the satisfaction that he can do every action and data entry.
In the process of training a list of problem can be figured out and
solution can be provided to then so that they can solve their
problems on their base and build the knowledge about this. If
they get unusual problem they can contact the concerned
person. With the help of training they become friendly with
software and solve can their problem easily.
o User training - User training helps the user in operating the
system in efficient way. During the training a manual is given to

9|Page
every user so that they can understand the problem and solved
it. The content of training is about the use of data that how they
can edit, add, query and delete the records. If a user have not
sufficient capability of working on system then many kind of
errors and problems can occur.
2. Conversion - With the help of conversion process a old software can
be replaced with new software. The process of conversion is useful in
only that case where new software is fully tested and report is positive.
It involves many kinds of actions which are:
o From old to new software system all files and data base
converted.
o Providing the user training of the each staff of the organization
which has the right of using new software.
o Conversion of forms. This may involve discarding old data.
o Converting administration. In the process of converting
administration process the role of each member is divided
according the needs and the responsibility is also divided
according to their job regarding new software.
3. Post implementation Review - After the process of implementation
and conversion of software some reviews are taken by the user and
the experts. This is the normal process of getting the following points:
o What is the working of a software system?
o How it has been accepted by the user?
o Area of updating

Performance of a software measured with the help of a post


implementation review. It helps in deciding that software gets the
specification with how much efficiency.
Types of implementation
We have three types of implementation method which are given below:
1. Fresh implementation - Fresh implementation of software may be
defined as a process where a manual record are replaced with new
software. During the process of fresh implementation some problems
come in the form of conversion of files, user training, accurate system
of files etc.
2. Replacement implementation - When an old software is replaced
with a new software implementation that the name of this process is
Replacement implementation. This process is very difficult and a
proper planning is needed for this, otherwise many problems can arise.
3. Modified implementation - When an old software is replaced by new
software with some alteration then this process is called modified
implementation. We can easily handle this type of implementation
because area of modification is not so large in files.
3. Explain the term, software maintenance.

10 | P a g e
Maintenance of a software system may be define which is used to concerned
about the alteration or changes which are done in software system after the
release. Maintenance of software is the part of software Engineering.
Maintenance of software has a great value in the development of a system.
Needs of Maintenance is required after
 When the user get the product at his own place.
 Installation
 When software is in operational stage.
When any alteration or modification is done in software during the operation
time then it is called maintenance. Maintenance of software have a large
area which has correcting coding, and design faults, documentation and
updating of user support. IEEE gives the definition of maintenance as
Software maintenance is modification of a software product after delivery to
correct faults to improve performance or other attribute or to adapt the
product to a modified environment.

According to Stephan - Software maintenances is a detailed activity that


include
Error detections and corrections
Enhancement of capabilities
deletion of obsolete capabilities
Optimization
Reason of Maintenance of software
In the life of a software maintenance activity have a great value. In the
comparison of development cost, the maintenance cost is higher. Normally
Maintenance of a software take 40 to 70 % cost of total costing of software
life cycle. Cost and difficulty are the two drawbacks in maintenance of
software. We have some reasons which increases the need of software
maintenance.
 Where user needs change time to time.
 When technology of hardware change.
 When the environment of a system changed.
 To increase the ability or capacity of system.
 To keep the same quality of the product.
 To resolve the Errors.
 For getting the best output with the help of existing software.
 To reject the unusual effects.
 For making the software more compatible in the favor of user.

Types of software Maintenance


1. Corrective Maintenance - Corrective maintenance may be define
with those alteration which is done for the solving those errors which

11 | P a g e
was available in the software. With the help of corrective maintenance
method software can change by removing all the faults. Thus the goal
of this method is to correct the software from every type of errors. A
software have many kind of faults just like specification errors, logical
errors, coding error etc., and corrective maintenance solve all those
types of faults. For the recovery of a system many types of actions
performed in corrective Maintenance.
According to K. Bennett,

Maintenance personal sometimes resolve to emergency fixes known as


patching to reduce the pressure from the management.

20 % of total maintenance cost is the part of corrective method.


2. Adaptive Maintenance - Adaptive maintenance may be defined by
that alteration in software system to survive in that area where this
system operates. Environment refers those situations which affects the
software from outside. According to R. Books,

A change to the whole or part of this environment will require a


corresponding alteration of the software.

20 % of the total maintenance cost is the part of adaptive


maintenance.
3. Perfective maintenance - To increase the efficiency, performance,
maintainability, effectiveness of software that is called perfective
maintenance. Most of the times enhancement also includes perfective
maintenance as one of its part. After changes user operate this
software for the purpose which it was developed by developer. For
example: if GUI not attract the customer then some change are made
for improving the looks and design of the software. Just to get the
perfection the changes are made otherwise it is not necessary in
normal cases. The demand of the perfective maintenance could be
completed by software Engineering. All changes which improve the
quality are including in perfective maintenance. The reason of
alteration in a system could be a cause in improve the efficiency and
functions and easy to understand. 50% of the total maintenance cost is
the part of perfective maintenance.

4. Explain the waterfall model in detail.


This method is very old and trendy which normally used because simplicity is
the key of success of this method. In this method every action taken is
planned in prior in a process of software development. For the small size of

12 | P a g e
projects waterfall method is very suitable. The specialty of this method is
that every stage has a sequence. After the end of one stage, the next stage
started at that point and the output of every stage converted in input for the
every next steps. So with this reason the the second name of this model is
Sequence Model. With the study about system the first stage started and
after that analysis, design, coding, testing and controlling take place one by
one. Every stage completed one by one in a sequence like waterfall so this is
the reason of this name.

Benefits of waterfall Methodology

 With the reason of simplicity and sequence system it is very easy to


use it.
 User can understand it quickly because simplicity is the main quality of
this method.
 It defines the complete information about every step.
 This model is very helpful in planning and scheduling of projects.
 It reduces the cost of Error correctness.
 Importantly it increases the possibility that the system fulfill the
customer needs.

Limitations of waterfall Methodology


 Expectations become very quickly in this process which is not correct.
 Risk factors not involved in this model which is very necessary part for
every model.
 In this method training sessions of user is not necessary.

13 | P a g e
 We cannot find any error till time testing of software not done.
 Between user and developer the interaction gap is low.
Major outputs in a development project which follows the waterfall model are following:

No. Activity Phase Output Documents

1 Requirement analysis SRS documents

2 Design phase Data flow diagram

3 Coding Program code

4 Unit Testing Module test report

5 System testing System test report

Final system
6 Acceptance testing
documentation

5. Give a description of prototyping model.


This is a working system and the objective of the model is to develop those
ideas which are tested regarding a new system and could be used again.
Prototyping is processes of making a model for the system which can be
develop. The main part of this model is before the design and coding we
could not fix the need of software while we could think about the needs of
customer from software system. The prototype model made on the basis of
knowledge about the needs of customer. Prototype model provide the design
which gives the thoughts how system did the works. The objective of
prototype is to make good understanding about system needs. At the last we
get that such result which will be of very low variance. The prototype after
the process of development, the end user gives the chance to take the
benefit of prototype and provide the important thoughts about this
developer.
 What is good
 Area of alteration
 Missing information
 Requirement which is not necessary
After getting the feedback necessary alterations made in prototype model
and provide it again to user for using it. This approach is suitable in that case
where two below given points covered.
1. When a little amount of needs should know at the starting time.
2. When a customer wants a short area testing instead of fully software.

14 | P a g e
Benefits of prototype Methodology

 This model is more suitable where customer needs not cleared.


 This Type of model use in that area where the size of problem are
large.
 It decreases the cost of maintenance. The main factor of using this
model is its cost reductions.
 This model is very helpful in decrease the gap of communication
between those persons who use the software and that group of
developed the software system.
 In the comparison of final software alteration in prototyping model
alteration is quickly and cheaper.
Limitations of prototyping Methodology
 To get the quick work if may possible that it ignores the quality.
 It can increase the cost of software system because most of time
design and code not used.
 Expectations of users increase from the software after looking the
working process of prototype model.
 When the result of prototyping is not according to customer needs in
that case they can make negative thought about that system.

15 | P a g e

You might also like