Assignment 01 (SE)
Assignment 01 (SE)
COURSE NAME
SOFTWARE ENGINEERING (CS-321)
SEMESTER
4th Spring 2025
SUBMMITED BY
ROSHAN AKMAL
(23014119-103)
RAFIA
(23014119-104)
ZAIB UN NISA
(23014119-129)
SUBMMITED TO
SIR JABBAR
SECTION
BsCs-B (EVE)
Question # 01
Insulin
Delivered
Feedback Pump
Loop Status
Key Features:
1. Real-Time Monitoring: Tracks blood sugar levels all the time with a sensor.
2. Data Analysis: Checks the sensor readings to make sure they are accurate.
3. Insulin Computation: Calculates how much insulin the patient needs.
4. Automated Delivery: Automatically sends the correct insulin dose through the pump.
5. Feedback Mechanism: Watches the system and adjusts the insulin if needed.
6. Safety Features: Includes error detection to prevent wrong doses.
2. A Mental Health Case Patient Management System:
Block Diagram:
Register
Setup
Patient
Consultation
Receptionist Health Visitors
t
Nurse Doctor
General
Condition, Report
Cost of treatment
report
Key Features:
1. Patient Registration: Staff can add new patients and update their details.
2. Health Visitor Assignment: Assigns nurses or health visitors to take care of patients.
3. Record Management: Keeps all patient records in one place, which can be updated by
staff.
4. Doctor Consultations: Manages doctor appointments and treatment plans.
5. Report Generation: Creates reports about patients' health and treatment costs.
6. Data Analysis & Statistics: Shares statistics for research or decision-making.
Question # 02
medium
Releases
Advantages:
1. Easy to manage: The Waterfall Model follows a simple, step-by-step process, which makes it
easy to manage and understand.
2. Predictable timeline: The model follows a fixed timeline, so it's easier to predict when each
stage will be finished.
Disadvantages:
1. No flexibility: Once the process starts, you cannot make changes easily.
2. High risk: If problems are found later in the process, fixing them can be costly and time-
consuming.
Prototyping Model
Advantages:
1. Flexibility: The Prototyping Model allows for changes and improvements during the process,
making it easier to adjust as needed.
2. Early feedback: The model gets feedback from users early, helping to identify and fix problems
early.
Disadvantages:
1. Time-consuming: The Prototyping Model can take a lot of time because it requires multiple
cycles of building and getting feedback.
2. Lack of structure: The process may lack organization and can be messy because it doesn’t
follow a strict plan.
V-Model
Advantages:
1. Testing emphasis: The V-Model focuses strongly on testing, which helps ensure the product is
of good quality.
2. Clear phases: The model has clear and distinct steps, making it easier to understand and manage.
Disadvantages:
1. Rigid: The V-Model is strict, so it’s hard to make changes once the process has started.
2. Limited feedback: The model does not allow for early feedback from users, which can result in
problems being found too late.
Spiral Model
Advantages:
1. Flexibility: The Spiral Model is flexible and adaptable, making it easier to make changes as
needed.
2. Risk management: The model allows for assessing and managing risks, helping to identify and
deal with potential problems.
Disadvantages:
1. Complex: The Spiral Model can be complicated and hard to understand, especially for smaller
projects.
2. High overhead: The model needs a lot of planning and management, which can be time-
consuming and costly.
Incremental Model
Advantages:
1. Faster Delivery: Working software is delivered quickly in small parts.
2. Easier to Manage: Smaller increments are easier to test and fix.
Disadvantages:
1. Incomplete Features: Early versions may lack key features, making them less useful.
2. Difficult Planning: It can be hard to plan the details of each increment, leading to changes.
Question # 03
Discuss the following Agile Models
1. Adaptive Software Development
2. Dynamic System Development
3. Crystal
4. Feature Driven Development
1. Adaptive Software Development (ASD)
ASD focuses on changing the software as needed during the project. It’s flexible,
meaning the team can adjust to new requirements as the project moves forward. This
model works in cycles where, after each cycle, the team gets feedback and improves the
software in the next cycle. The goal is to deliver software quickly, get user feedback, and
then make improvements.
Working Diagram:
Speculate
Learn Collaborate
Working Description:
This model is highly flexible, which makes it ideal for projects where requirements are likely to
change or are unclear at the start. Each iteration involves creating and delivering working
software, allowing for early delivery of a usable product.
Advantages:
• Flexible to change
• Focus on customer collaboration
• Rapid prototyping leads to faster feedback
• Regular delivery of working software
Disadvantages:
• High dependency on customer involvement
• Requires skilled team members for rapid changes
• Can be difficult to manage without clear goals
• Unclear requirements may lead to scope creep
2. Dynamic System Development Method (DSDM)
DSDM is a method where the focus is on delivering the project on time and within
budget while keeping good quality. The team works closely with users and prioritizes
features based on business needs. This method breaks the project into phases, and in each
phase, the team develops small parts of the software that can be used early on.
Working Diagram:
Feasibility
Business Study
Working Description:
DSDM is an Agile framework that focuses on delivering projects on time and within budget
while maintaining quality. It follows a set of principles, including active user involvement,
iterative development, and the prioritization of features based on business needs. The process
starts with the pre-project phase, where project goals and scope are defined. Then, it moves
through feasibility, foundations, and the iterative process of evolutionary development until the
project reaches its final review and completion.
The key concept of DSDM is delivering a fully functional product in small, manageable
increments. This model emphasizes collaboration between developers and clients, ensuring the
product is closely aligned with user needs.
Advantages:
• Prioritizes business needs
• Continuous user involvement
• Provides quality deliverables
• Clear structure with phases
Disadvantages:
• Can be complex to manage
• May require significant training for team members
• High level of customer involvement needed
• Difficult to scale for large project
3. Crystal
Crystal is a flexible Agile method that tailors itself to the size and needs of the project. It
believes that each project is unique, so it adapts its approach based on how big the project
is and how complex it is. Crystal focuses on clear communication and simplicity, making
sure that software meets the user’s needs while staying easy to understand and work on.
Working Diagram:
Project
Roles Communication Delivery
Complexity
Working Description:
The Crystal methodology is based on the concept that every project is unique, so one-size-fits-all
solutions don't work. It tailors its practices according to the project’s size, criticality, and team
complexity. In Crystal, the level of rigor applied to the project depends on how critical the
project is and the size of the team. The model promotes frequent communication, close
collaboration, and focuses on delivering software with flexibility in mind.
Crystal is highly adaptive and values communication, simplicity, and frequent delivery of
working software. It encourages flexibility and allows developers to adjust the process based on
the needs of each specific project.
Advantages:
• Highly adaptable to project size
• Emphasizes communication
• Focus on simplicity and clarity
• Can be tailored to different types of teams
Disadvantages:
• Lack of strict guidelines may lead to inconsistencies
• Can be difficult to scale for large teams
• Requires a skilled and disciplined team
• May not suit projects with rigid requirements
4. Feature Driven Development (FDD)
FDD is a method where the focus is on building specific features. The project starts with
an overall plan, followed by a list of features to be built. Each feature is developed and
tested quickly, and the software is released often. This method is structured, meaning the
team follows a clear plan to develop and deliver small, working parts of the software.
Working Diagram:
Working Description:
Feature Driven Development (FDD) focuses on delivering specific, defined features in a project.
The process starts with building an overall model of the software, followed by a comprehensive
feature list. Features are then designed, built, and released iteratively. Each feature takes a small
amount of time to develop, allowing for quick results and frequent releases of working software.
FDD is a highly structured Agile approach, where each feature is treated as a small, self-
contained development unit. The focus is on completing specific features rather than larger, more
generalized deliverables.
Advantages:
• Emphasizes delivering small, well-defined features
• Clear and structured approach
• Allows for frequent releases
• Good for large teams
Disadvantages:
• Can be too rigid for highly dynamic projects
• Requires detailed feature definitions upfront
• May not provide flexibility for last-minute changes
• Heavy reliance on feature planning