0% found this document useful (0 votes)
2 views3 pages

Software Engineering Quick Revision Notes

The document provides quick revision notes on software engineering, covering key topics such as Rapid Application Development (RAD), non-functional requirements, and myths versus reality in software practices. It emphasizes the importance of requirement engineering, design principles, and architectural styles, while also discussing Agile methodology and refactoring. Additionally, it includes examples of design patterns and use case diagrams relevant to e-commerce.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views3 pages

Software Engineering Quick Revision Notes

The document provides quick revision notes on software engineering, covering key topics such as Rapid Application Development (RAD), non-functional requirements, and myths versus reality in software practices. It emphasizes the importance of requirement engineering, design principles, and architectural styles, while also discussing Agile methodology and refactoring. Additionally, it includes examples of design patterns and use case diagrams relevant to e-commerce.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Software Engineering Exam Quick Revision Notes

1. Rapid Application Development (RAD)

Preferred when:

- Time-to-market is critical.

- Requirements are well understood.

- Availability of modularized components.

- Users are available for feedback.

Phases:

1. Business Modeling

2. Data Modeling

3. Process Modeling

4. Application Generation

5. Testing and Turnover

2. Categories of Non-Functional Requirements

- Performance (Response time, throughput)

- Security (Data privacy, access control)

- Usability (User interface, accessibility)

- Reliability (MTBF, failure rate)

- Maintainability (Ease of bug fixing)

- Portability (Cross-platform support)

Importance: Ensures software quality and user satisfaction.

3. Practitioner's Myths vs Reality

Myth 1: Once program works, job is done. -> Reality: Maintenance is continuous.

Myth 2: More code = better software. -> Reality: Simplicity and clarity matter.

Myth 3: Tools solve all problems. -> Reality: Skills and methodology are key.

4. 4+1 View Architecture

- Logical View: Functional requirements (class diagrams).

- Development View: Software management (component diagram).

- Process View: Runtime behavior (activity/state diagrams).


- Physical View: Deployment (nodes, devices).

- Scenarios (Use cases) link all views.

5. Agile Methodology for Project Managers

- Emphasizes collaboration and adaptability.

- Short iterations with working software.

- Regular customer feedback reduces risk.

- Helps in better resource and time management.

6. Importance of Requirement Engineering

- Foundation of software development.

- Helps identify what users need.

- Prevents scope creep.

- Leads to better design and reduced rework.

7. Software Does Not Wear Out - True

Justification:

- No physical degradation.

- Software fails due to bugs or changes in environment.

- Can be improved through updates, unlike hardware.

8. Design Principles

- Modularity: Break into manageable units

- Abstraction: Hide internal complexity

- Encapsulation: Protect data

- Separation of Concerns: Divide tasks logically

- Low Coupling, High Cohesion: Improves maintainability

9. Vertical vs Horizontal Partitioning

- Vertical: Separates control and processing (layered).

- Horizontal: Divides tasks into major functions (peer subsystems).

- Both improve modularity and maintainability.

10. Importance of Architecture

- Blueprint for system design.

- Affects scalability, performance, and security.

- Promotes reuse and maintainability.


- Guides development and integration.

11. Use Case Diagram - E-commerce

Actors: Customer, Admin

Use Cases: Browse Products, Add to Cart, Checkout, Login, Register, Manage Products (Admin)

Relations: Include (Payment in Checkout), Extend (Offer Discounts in Checkout)

12. Call and Return Architectural Style

- Hierarchical control structure.

- Layers/modules call each other and return results.

- Common in procedural programming.

- Promotes separation and reuse.

13. Refactoring

Definition: Improving internal code structure without changing external behavior.

Importance:

- Enhances code readability and maintainability.

- Reduces technical debt.

- Supports agile development.

14. Design Patterns (Examples)

- Singleton: One instance (e.g., Logger)

- Factory: Object creation logic (e.g., ShapeFactory)

- Adapter: Converts one interface to another

- Proxy: Surrogate for another object

- Observer: One-to-many dependency (e.g., Notification system)

You might also like