Software Engineering
Mid Term Suggestion Solution
1- Defination of Software Engineering by IEEE?
Ans:-IEEE defines software engineering as: The application of a systematic, disciplined,
quantifiable approach to the development, operation and maintenance of software.
2-Software Evolution Laws?
Ans:- There are 3 types of Software Evolution Laws
• S-type (static-type) - This is a software, which works strictly according to defined
specifications and solutions. The solution and the method to achieve it, both are
immediately understood before coding. For example, calculator program for
mathematical computation.
• P-type (practical-type) - This is a software with a collection of procedures. In this
software, the specifications can be described but the solution is not obvious instantly.
For example, gaming software.
• E-type (embedded-type) - This software has a high degree of evolution as there are
various changes in laws, taxes etc. in the real world situations. For example, Online
trading software.
3-Characteristics of good software.
Ans:-A software product can be judged by what it offers and how well it can be used.
This software must satisfy on the following grounds:
• Operational • Transitional • Maintenance
4- Write the Operational,Transitional and Maintenance of Software Engineering.
Ans:-
Operational :
This tells us how well software works in operations. It can be measured on:
• Budget • Usability • Efficiency • Correctness • Functionality • Dependability • Security •
Safety
Transitional :
This aspect is important when the software is moved from one platform to another:
• Portability • Interoperability • Reusability • Adaptability.
Maintenance:
This aspect briefs about how well a software has the capabilities to maintain itself in the
ever-changing environment:
• Modularity • Maintainability • Flexibility • Scalability.
5- Features of Water Fall Model.
Ans:-
1) A Water Fall Model is easy to flow.
2)It can be implemented for any size of project.
3)Every stage has to be done separately at the right time so you cannot jump stages.
4)Documentation is produced at every stage of a waterfall model allowing people to
understand what has been done.
5)Testing is done at every stage.
6- Chart of Water Fall Model
Ans:-
7- Phase of Water Fall Model.
Ans:- Waterfall model has 5 different phases, Which are following.
1)Requirement gathering and Analysis.
2)Design.
3)Coding.
4)Testing.
5)Maintenance.
8- Brief description of Phase.
Ans:- Requirement gathering and Analysis:- The software requirements are gathered from the
customer and analyzed to remove incompleteness and inconsistencies. Incomplete
requirements have omitted parts of the actual requirements, while inconsistent requirements
contradict some parts. The analysis aims to ensure accuracy and efficiency.
Design:- This phase aims to convert SRS requirements into a programming language-
codeable format, including detailed design and software architecture, using a Software Design
Document (SDD) to document the entire effort.
Coding:-
• Translates design into machine-readable form.
• Effective coding requires detailed design.
• Programs are created during this phase.
• Software is divided into small modules for coding.
• Programmers create class and structure of the entire software based on design.
Testing:- This stage involves verifying individual components and the integrated whole to
ensure error-freeness and meet requirements. The software is tested into hardware and
software parts, with two types of testing: inside and outside tests.
Maintenance:-
• Crucial phase of software life cycle, accounting for 60% of total development effort.
• Three types of maintenance: Corrective, Perfective, and Adaptive.
• Corrective maintenance corrects undiscovered errors during product development.
• Perfective maintenance enhances system functionalities based on customer requests.
• Adaptive maintenance is necessary for software porting to new environments.
9- Advantages of Water Fall Model.
Ans:-
The water fall model is easy to implementation.
➢ For implementation of small systems water fall model is use full.
➢ The project requires the fulfillment of one phase, before proceeding to the next.
➢ It is easier to develop various software through this method in short span of time.