Mobiprep has created last-minute notes for all topics of Software Engineering to help you with the revision of concepts for your university examinations. So let’s get started with the lecture notes on Software Engineering.
2. Function-Oriented Software Design
3. (a)Requirements analysis and specification (b) Software Design
4. Software Development Life Cycle Models
6. Software Project Management
Our team has curated a list of the most important questions asked in universities such as DU, DTU, VIT, SRM, IP, Pune University, Manipal University, and many more. The questions are created from the previous year's question papers of colleges and universities.
Differentiate between the term software development life cycle and software testing life cycle?
What do you understand by the term software development life cycle model (SDLC)?
List down SDLC techniques/ methodology.List down SDLC techniques/ methodology.
Why is the classical waterfall model called an idealistic development model?
Which life cycle model would you recommend for developing object-oriented software? Justify your answer.
Software Development Life Cycle Models
Question 1) Differentiate between the term software development life cycle and software testing life cycle?
Answer) been released the software development life cycle refers to all the phases of a software product throughout its planning, development, and use, all the way through to its eventual obsolescence or retirement. This process has many variable parts, but it can often be segmented into several main pieces. This helps developers and others to understand how a product is created, implemented and used.
Another way to look at the separation of software development life cycle phases is through the use of the terms "production environment" and "end-use environment." There is a clear distinction between the product as an internal work in progress, and a product that has
Software Testing Life Cycle (STLC) is the testing process that is executed in a well-planned manner. Various activities are carried out to improve the quality of the product. However, STLC phases only deal with testing and detecting errors but not development itself.
Question 2) What do you understand by the term software development life cycle model (SDLC)?
Answer) Software Development Life Cycle (SDLC) is a systematic process for building software that ensures the quality and correctness of the software built. SDLC process aims to produce high-quality software that meets customer expectations. The system development should be complete in the pre-defined time frame and cost. Every phase of the SDLC life cycle has its own process and deliverables that feed into the next phase. Different phases of SDLC model are as follows:
Plan: The main question here is “What do we want?” Here we gather all relevant information from stakeholders, including customers, salespeople, industry experts, programmers and analyse this information to determine what will be feasible.
Design: The main question here is “How will we build this?”. After gathering the requirements and setting goals, the next step is design. This phase would include determining the priority order of the proposed work, building a product roadmap, and obtaining stakeholder agreement on it.
Implement: The main question here is “Let’s create what we want.” This is the stage where the engineering team actually codes the product. At this stage, the development team translates the high-level overview communicated in the roadmap into a tactical set of assignments, due dates, and day-to-day work schedules.
Test: The main question here is “Did we get what we want?”. After the team has completed a version of the software, they will release it to a testing environment. Here, the QA team and the developers will test all areas of the application to spot any defects, bugs, or other problems.
Deploy: The main question here is “Let’s start using what we got.” At this stage, the team is confident it has fixed all defects and that the software has been built to the agreed-upon goals and specifications. Now it’s time to release the software to the production environment. This means the product will be generally available for customers to buy and use.
Maintain: The main question here is “Let’s get this closer to what we want.” With the software now live and being used by customers, the development team’s focus will shift to maintaining it. The developers will need to be ready to address requests for enhancements, bug fixes, and new features.
Question 3) List down SDLC techniques/ methodology. List down SDLC techniques/ methodology.
Big Bang Model
Question 4) Why is the classical waterfall model called an idealistic development model?
The classical waterfall model is said to be an idealistic one since it assumes that no development error is ever committed by the engineers during any of the life cycle phases.
However, in real-time development environments, the engineers do commit a large number of errors in almost every phase of the life cycle.
There can be many sources for the defects. Some of them are: oversight, wrong assumptions, use of inappropriate technology, communication gap among the project engineers, etc.
These defects usually get detected much later in the life cycle.
For example, a design defect might go unnoticed till we reach the coding or testing phase. Once a defect is detected, the engineers need to go back to the phase where the defect had occurred and redo some of the work done during that phase and the subsequent phases to correct the defect and its effect on the later phases.
Question 5) Briefly explain the V SDLC model
Answer) The V-model is an SDLC model where execution of processes happens in a sequential manner in a V-shape. It is also known as the Verification and Validation model. The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage. This means that for every single phase in the development cycle, there is a directly associated testing phase.
Verification: In the concept of verification in the V-Model, static analysis technique is carried out without executing the code.
Validation: This concept of V-Model comprises dynamic analysis practice (both functional as well as non-functional), and testing is done by code execution.
Requirement Analysis: In this stage of SDLC, a detailed conversation with the customer is made to understand their requirements as well as anticipation. Requirement gathering is another name of this phase.
System Design or High-level Design: In this phase of SDLC, the system is designed with the entire hardware & the setup is constructed for product development.
Architectural Design: The breakdown of system design to a more detailed version, i.e., into modules which creates different functionalities.
Low-level design or Module Design: This particular phase breaks down the entire product development into tiny modules where each intended module is specified.
Unit Testing: During the development of module design, unit testing is carried out. This plan is executed for eliminating bugs that are found in code at the development of your software.
Integration Testing: Once the unit testing is done, the integration testing is carried out where the integration of modules in the system is hardened. This testing is done in the architecture design phase.
System Testing: This ultimate test is done when the entire product is completed in conjunction with the functionality, internal dependency requirement and merging of different modules into a single unit.
User Acceptance Testing: This type of testing is carried out in front of the user or in a user environment where the product will ultimately set up. The UAT particularly test whether the product is capable enough to launch in the market or ready to work in the real world.
The following pointers are some of the most suitable scenarios to use the V-Model application.
Requirements are well defined, clearly documented and fixed.
Product definition is stable.
Technology is not dynamic and is well understood by the project team.
There are no ambiguous or undefined requirements.
The project is short.
Question 6) Which life cycle model would you recommend for developing object-oriented software? Justify your answer.
Answer) Combining the best of Lean thinking and Agile software development practices can create a healthy, sustainable culture of innovation that benefits not only the development organization, but the system as a whole.
Lean is at once a workflow methodology and a mindset, incorporating principles and practices from the manufacturing space and applying them broadly to a variety of industries, including software development. While Agile is an excellent methodology for the practical application of development best practices, it does not include instructions for scaling these practices across the organization or applying them outside of development-type work.
We can conclude this by choosing the combination of both Lean and Agile life cycle models to develop a best object-oriented software.