Software Engineering Mid Term Prepration

 Software Engineering Midterm Exam Preparation


Mid-Term Syllabus:
  1. SDLC
  2. Waterfall Model
  3. Sequential Model (V-shaped Model)
  4. Incremental Model
  5. Rad Model
  6. Agile Model
  7. UML diagram
  8. Sequential Diagram
  9. Process Model Diagram
  10. Used Case Diagram
Paper Pattern (possible)
  • 10 MCQs 
  • 3 short question answers 
  • 1 long
Used Cases:
  • 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)
                        
Note: Theory and Notes are at the end of the File (article).

SDLC

"System Development Life Cycle"


WATERFALL Model





Sequential Model (V-Shaped Model)


Incremental Model


Rad 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:

  1. Requirement Analysis: Gather and document user requirements.
  2. System Design: Create system architecture and design specifications.
  3. Implementation (Coding): Write and build the software system.
  4. Testing: Verify the software to ensure it meets requirements.
  5. Deployment: Install the system for use in the live environment.
  6. 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:

  1. Requirements Gathering
  2. System Design
  3. Implementation
  4. Testing
  5. Deployment
  6. 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:

  1. Requirements (Unit Testing Plan created alongside).
  2. System Design (Integration Testing Plan created).
  3. Detailed Design (System Testing Plan created).
  4. Implementation.
  5. 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:

  1. Initial Planning.
  2. Increment Development (Analyze, Design, Build, Test).
  3. 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:

  1. Requirements Planning: Define system requirements.
  2. User Design: Develop prototypes with user input.
  3. Construction: Build the final system using feedback.
  4. 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:

  1. Structural Diagrams:
    • Class Diagram, Component Diagram, Object Diagram.
  2. Behavioral Diagrams:
    • Use Case Diagram, Sequence Diagram, Activity Diagram.
  3. 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:



Handwritten Notes:



Post a Comment

2 Comments