Solution
Solution
B.TECH
THEORY EXAMINATION 20L3-18
SOFTWARE ENGINEERING
1. Attempt all questions in brief.
a) What do you understand by software crisis?
Software Crisis is a term used in computer science for the difficulty of writing
useful and efficient computer programs in the required time .software crisis was due
to using same workforce, same methods, same tools even though rapidly increasing
in software demand, complexity of software and software challenges. With increase
in the complexity of software, many software problems arise because existing
methods were insufficient.
b) What are different software quality attributes?software Quality Attributes are
features that facilitate the measurement of performance of a software product by
Software Testing professionals, and include attributes such as availability,
interoperability, correctness, reliability, learnability, robustness, maintainability,
readability, extensibility, testability, efficiency, and portability. High scores
in Software Quality Attributes enable software architects to guarantee that a
software application will perform as the specifications provided by the client.
c) Write the difference between verification and validation.
Verification is the process of checking that a software achieves its goal without any
bugs. It is the process to ensure whether the product that is developed is right or not.
It verifies whether the developed product fulfills the requirements that we have.
Verification is static testing.
Verification means Are we building the product right?
Validation is the process of checking whether the software product is up to the
mark or in other words product has high level requirements. It is the process of
checking the validation of product i.e. it checks what we are developing is the right
product. it is validation of actual and expected product. Validation is the dynamic
testing.
d) What is Decision Tree?
what is decision table
A decision table is a brief visual representation for specifying which actions to perform
depending on given conditions. The information represented in decision tables can also be
represented as decision trees or in a programming language using if-then-else and switch-
case statements.
A decision table is a good way to settle with different combination inputs with their
corresponding outputs and is also called a cause-effect table. The reason to call cause-effect
table is a related logical diagramming technique called cause-effect graphing that is
basically used to obtain the decision table.
Importance of Decision Table:
• Decision tables are very much helpful in test design techniques.
• It helps testers to search the effects of combinations of different inputs and other
software states that must correctly implement business rules.
• It provides a regular way of starting complex business rules, that is helpful for
developers as well as for testers.
• It assists in the development process with the developer to do a better job. Testing
with all combinations might be impractical.
• A decision table is basically an outstanding technique used in both testing and
requirements management.
• It is a structured exercise to prepare requirements when dealing with complex
business rules.
• It is also used in model complicated logic.
a) What is design? Describe the difference between conceptual design and technical
design.
Software design is a process to convert the user requirements into client
requirements user interface form, that helps the software developer in coding and
implementation. The software design deals with portraying the client’s requirement
which is described in Software Requirement Specification (SRS) document into a
user interface form.
To transform requirements into a working system designers must satisfy both
customers and therefore the system builders. The customers should understand what
the system is to try to do. At an equivalent time, the system builders must
understand how to try to. To accomplish the design is split into two parts as shown
in the figure below and is named as the 2 parts iterative process. A software design
has two parts :
1. Conceptual Design :
Conceptual design is an initial/starting phase in the process of planning, during
which the broad outlines of function and sort of something are coupled. It tells the
customers that what actually the system will do. An example of Conceptual design
is given in the given figure :
b)
c) Conceptual Design
2. Technical Design :
A Technical design is a phase in which the event team writes the code and describes
the minute detail of either the whole design or some parts of it. It tells the designers
that what actually the system will do. An example of Technical design is given in
the given figure :
d)
e) Technical Design
Advantages:
• Breaking problems into parts help us to identify what needs to be done.
• At each step of refinement, new parts will become less complex and therefore
easier to solve.
• Parts of the solution may turn out to be reusable.
• Breaking problems into parts allows more than one person to solve the problem.
BASIS FOR
ALGORITHM PSEUDOCODE
COMPARISON
Q2.
a) Explain Spiral Model? Also write it's advantages and disadvantages
Spiral model is also known as Meta Model because it subsumes all the other SDLC models.
In its diagrammatic representation, it looks like a spiral with many loops, that’s the reason
it’s called as Spiral. Each loop of the spiral is called a Phase of the software development
process. This model has capability to handle risks.
These are following advantages and disadvantages of using Spiral Model
Advantages of Spiral Model:
1. Software is produced early in the software life cycle.
2. Risk handling is one of important advantages of the Spiral model, it is best
development model to follow due to the risk analysis and risk handling at every
phase.
3. Flexibility in requirements. In this model, we can easily change requirements at
later phases and can be incorporated accurately. Also, additional Functionality
can be added at a later date.
4. It is good for large and complex projects.
5. It is good for customer satisfaction. We can involve customers in the
development of products at early phase of the software development. Also,
software is produced early in the software life cycle.
6. Strong approval and documentation control.
7. It is suitable for high risk projects, where business needs may be unstable. A
highly customized product can be developed using this.
Disadvantages of Spiral Model:
1. It is not suitable for small projects as it is expensive.
2. It is much more complex than other SDLC models. Process is complex.
3. Too much dependable on Risk Analysis and requires highly specific expertise.
4. Difficulty in time management. As the number of phases is unknown at the start
of the project, so time estimation is very difficult.
5. Spiral may go on indefinitely.
6. End of the project may not be known early.
7. It is not suitable for low risk projects.
8. May be hard to define objective, verifiable milestones. Large numbers of
intermediate stages require excessive documentation.
ISO9000 is recognized and accepted in most of SEICMM is used in USA, less widely
the countries. elsewhere.
It has 5 levels:
(a). Initial
(b). Repeatable
(c). Defined
(d). Managed
(e). Optimized
It has no level.
ISO 9000 SEICMM