Assignment 1
Assignment 1
PESHAWAR PAKISTAN
Main Campus
Lab Task : 1
Submitted By
1.Waterfall Model:
Why: The Waterfall model is a good choice when requirements are well-understood and stable. Since
the customer has thoroughly documented the requirements, this model can provide a structured and
sequential approach to development.
Advantages: It offers clear phases, making it easy to manage and track progress. Well-suited for
projects with strict regulatory or compliance requirements.
Considerations: Not flexible for changing requirements, and customer feedback may be
incorporated late in the process.
Why: This model is suitable when you want to manage complexity by breaking the project into
smaller, manageable pieces. It allows for early delivery of some functionality, which can be beneficial
for validation with the customer.
Advantages: Ensures regular feedback from the customer, adapts well to changing requirements,
and allows for risk mitigation through incremental development.
Considration: Requires more customer involvement throughout the project and may require
additional effort for integration testing.
3.Spiral Model:
Why: The Spiral model combines iterative development with risk management. It is suitable for
projects with significant complexity and uncertain requirements, where risk mitigation is crucial.
Advantages: Allows for risk assessment and management in each phase, making it well-suited for
complex projects. Provides opportunities for customer feedback and adaptation.
Q2. You have been asked to develop a small application that analyzes each
course offered by a
university and reports the average grade obtained in the course (for a given
term). What
software process model would you choose?. Explain
For a small application that analyzes university courses and calculates average grades for a given term,
the Agile Development Model would be a good choice.
Here's why:
Step by Step: Agile lets you build the app in small steps. You start with basic features and keep adding
more based on feedback and needs.
Flexible: It works well when things change, like grading systems or what the app needs to do. You can
adjust as you go.
Teamwork: Agile keeps you talking to the people who need the app. Their ideas help make it better.
Regular Updates: You can show parts of the app as you finish them, so people can start using it
sooner.
Q3.You have been appointment a project manager for a major software products
company. Your
job is to manage the development of the next generation version of its widely
used word
processing software because competition is intense, tight deadlines have been
established and
announced. What software process model(s) would you choose. Explain
I would choose an Incremental Model combined with elements of the Agile Model.
Incremental Model: Divide the project into smaller, manageable parts (increments). Develop and
deliver essential features incrementally. This approach allows for the release of functional
components sooner, addressing immediate user needs and gaining a competitive edge.
Agile Elements: Incorporate Agile principles to ensure flexibility and adaptability to changing
requirements. Frequent communication with users and stakeholders will help in receiving feedback
and making necessary adjustments quickly.
Q4:University is currently running through different departments like admission, administration,
accounts, teaching department, library etc. Every department has its own specific processes and
each department is using computer based system to some extent but not complete computer
based solution. There is also inter departmental communication. It is decided by the higher
management that all the departments should be integrated under one system and that system
should accommodate all the processes. Duration for completion is one year. Risks which can
arise, should be accommodated implicitly keeping the time factor in mind. As system will be
used in public sector, so verification and validation factors must be administered accordingly.
What software process model(s) would you choose & why. Explain
To integrate all university departments into one system within a year, while handling potential risks
and ensuring the system's quality, I would choose the Incremental Model.
Here's why:
Breaking it Down: Divide the big project into smaller parts. Each part will join a few departments
together.
Step by Step: Develop and connect these parts one by one. This way, you get useful parts sooner.
Handling Problems: If there are issues or changes, it's easier to fix them in smaller parts.
Checking Quality: You can test and make sure each part works well before putting it all together.
Time and Progress: Show progress to everyone by delivering working parts along the way.