Software Engineering Midterm Exam Preparation
- SDLC
- Waterfall Model
- Sequential Model (V-shaped Model)
- Incremental Model
- Rad Model
- Agile Model
- UML diagram
- Sequential Diagram
- Process Model Diagram
- Used Case Diagram
- 10 MCQs
- 3 short question answers
- 1 long
- Generate a diagram in which the actor shows the process / sequence related the scenario. (Sequence diagram)
- Generate a diagram in which the process / flow related to the scenario. (Process model)
- Generate a diagram in which you have to design an actor flow with a cardinality of the specification. (Used case DIAGRAM)
SDLC
WATERFALL Model
Agile Model
UML Diagram
Sequence Diagram
Process Model Diagram (Flowchart)
Use Case Diagram
Theory (Summarized )
1. Software Development Life Cycle (SDLC)
Definition:
The SDLC is a structured approach to
software development that outlines a process for planning, creating,
testing, and deploying an information system.
Phases:
- Requirement Analysis: Gather and document user requirements.
- System Design: Create system architecture and design specifications.
- Implementation (Coding): Write and build the software system.
- Testing: Verify the software to ensure it meets requirements.
- Deployment: Install the system for use in the live environment.
- Maintenance: Fix issues and make updates after deployment.
Importance: Ensures systematic development, reduces risk, and improves software quality.
2. Waterfall Model
Definition:
A linear and sequential SDLC model
where each phase must be completed before the next begins.
Phases:
- Requirements Gathering
- System Design
- Implementation
- Testing
- Deployment
- Maintenance
Advantages:
- Simple and easy to understand.
- Works well for small, well-defined projects.
Disadvantages:
- Rigid and inflexible; changes are hard to implement.
- Late detection of issues due to delayed testing.
3. Sequential Model (V-shaped Model)
Definition:
An extension of the Waterfall Model
where testing is explicitly planned in parallel with development stages.
Phases:
- Requirements (Unit Testing Plan created alongside).
- System Design (Integration Testing Plan created).
- Detailed Design (System Testing Plan created).
- Implementation.
- Testing phases occur in reverse order (Unit Testing, Integration Testing, System Testing).
Advantages:
- Ensures validation and verification at every stage.
- Better defect detection.
Disadvantages:
- Rigid like the Waterfall Model.
- Not suitable for projects with unclear requirements.
4. Incremental Model
Definition:
The project is divided into small,
manageable increments, and each increment delivers part of the system's
functionality.
Phases:
- Initial Planning.
- Increment Development (Analyze, Design, Build, Test).
- Integration of each increment.
Advantages:
- Delivers functional software early.
- Accommodates changes in requirements.
Disadvantages:
- Requires good planning.
- Integration can become complex.
5. RAD Model (Rapid Application Development)
Definition:
A prototype-driven approach focusing
on quick development with user feedback in iterative cycles.
Phases:
- Requirements Planning: Define system requirements.
- User Design: Develop prototypes with user input.
- Construction: Build the final system using feedback.
- Cutover: Implement and deploy the system.
Advantages:
- Short development cycles.
- High customer involvement.
Disadvantages:
- Not suitable for large projects.
- Requires highly skilled developers and users.
6. Agile Model
Definition:
An iterative and incremental model
focusing on collaboration, customer feedback, and small, rapid releases.
Key Features:
- Divides the project into sprints or iterations.
- Emphasizes adaptability and customer satisfaction.
Advantages:
- High flexibility for changing requirements.
- Delivers a usable product after every iteration.
Disadvantages:
- Requires close collaboration.
- Challenging to predict project timelines.
7. UML Diagrams (Unified Modeling Language)
Definition:
A standard visual language for
specifying, constructing, and documenting software systems.
Types of UML Diagrams:
-
Structural Diagrams:
- Class Diagram, Component Diagram, Object Diagram.
-
Behavioral Diagrams:
- Use Case Diagram, Sequence Diagram, Activity Diagram.
-
Interaction Diagrams:
- Sequence Diagram, Communication Diagram.
8. Sequential Diagram (Sequence Diagram)
Definition:
A UML diagram that shows how objects
interact with each other over time.
Components:
- Actors: Represent users or other systems.
- Objects: Represent system components.
- Messages: Show the flow of communication between objects.
Usage:
- Visualizing system interactions in a time-ordered sequence.
9. Process Model Diagram
Definition:
A diagram representing the processes
and workflows within a system.
Examples:
- Activity Diagrams (showing workflows).
- Data Flow Diagrams (DFDs, showing data movement).
10. Use Case Diagram
Definition:
A UML diagram used to capture
functional requirements of a system.
Components:
- Actors: Users or external systems interacting with the system.
- Use Cases: Functionalities provided by the system.
- Relationships: Links between actors and use cases.
Usage:
- Identifies the scope of the system and user interactions.
Important Slides:
![]() |
2 Comments
Love you hamza bhai
ReplyDeleteluv u hgya wadda wadda
ReplyDelete