Software Engineering Questions: Concepts + PYQs

Question 1 : What is RAD model - Advantages, Disadvantages & when to use it ?

Solution :

how RAD model works

The rapid application development model is a software development methodology that focuses on building prototypes rapidly and getting user’s feedback.

How does RAD works with active participation of users

  1. Requirement planning :stakeholder define the project scope and requirements
  2. user description : create prototypes and gather user feedback
  3. Construction : develop and refine the Software based on user Requirement
  4. Cutover : Test , implement and train users

Advantages and disadvantages :

Advantages Disadvantages
fatser development time high costs
flexibility Dependent on skilled team
improved quality can't used for cheap projects

When to use RAD

  1. when project requirement are not fully understood or likely to change
  2. when technical risk is not high
  3. when user's feedback is readily available
  4. when clients need to be involved in the development
  5. when time-to-market is critical
  6. when application needs to be developed quickly

Question 2 : Who are the different categories of users of the SRS document? what are their expectations from the SRS document ?

Solution :

The different categories of users of the SRS document are :

  1. Developers
  2. project managers
  3. quality assurance tester(QAT)
  4. End - User

Their expectation from the SRS documents are :

  1. Developer : precise detail about the system features and functions to guide implementation; clear definition of technical specification, interfaces and data formats.
  2. Project Manager : identification of potential risk and dependencies
  3. QAT :Detailed test cases and acceptance criteria to design effective test strategies
  4. End Users : easy to understand description of how the system will function and interact with them.

Question 3: Explain how the uses of software engineering principles help to develop software products cost-efectively and timely

Software engineering’s primary benefit is a structured approach of s/w development by adhering to well-defined processes and methodologies. Software engineering ensures that projects are completed on time within budget and to the required quality standards.

The uses of SE principles helps to develop sw products cost effectively and on time as explained below:

  1. Cost effectiveness :Structured software engineering practices help manage project cost effectively by ensuring efficient Resource Planning and utilisation. by using well defined process and methodologies, software engineering reduces the risk of budget overruns and delays. cost effective project management is crucial for both small and large scale projects, enabling organisation to achieve their goals without financial strain
  2. Timely Delivery : Software engineering methodologies ensure the timely delivery of software projects. These Frameworks promote iterative development, continuous feedback and regular updates. It ensures that the progress is going according to schedule and also maintains clients' satisfaction.

Question 4: why do you feel that characteristics of of requirements play a very significant role in the selection of a life cycle model?

This is because of following reasons :-

Types of requirements :-

  1. Functional vs Non - functional :- Different life cycle models are suited for different types of requirements such as functional or Non - functional requirements
  2. complexity :- Requirements with high complexity may require more iterative or agile approach

Stability of Requirements :-

  1. stable vs changing : life cycle models like waterfall are suitable for stable requirements While iterative models are better suited for changing of requirements
  2. Rate of change : Requirements that change rapidly may require more flexible or adaptive life cycle models

prioritization of requirement :

  1. Must haves vs Nice-to-Haves :Life cycle model can be chosen based on prioritization of requirements with official requirements addressed first.