Software_Project_Management_Notes
Software_Project_Management_Notes
2. Risk Analysis:
- Assess:
- Probability (High, Medium, Low)
- Impact (Cost, Time, Quality)
- Techniques: Qualitative & Quantitative Analysis.
3. Risk Prioritization:
- Use Risk Matrix to rank risks based on severity.
4. Risk Planning:
- Mitigation Plan: Actions to reduce probability/impact.
- Contingency Plan: Backup plans if risk occurs.
--------------------------------------------------
3. Modeling Requirements:
- Use Use Case Diagrams, DFDs, ERDs to represent requirements
visually.
Requirement Specification:
- Prepare Software Requirement Specification (SRS) document.
SRS Components:
1. Functional Requirements: Specific features (e.g., user login,
transaction processing).
2. Non-Functional Requirements: Performance, Security, Scalability,
Usability.
3. System Interfaces: External hardware, software, or other system
interactions.
4. Constraints & Assumptions: Technology limitations, legal
constraints.
--------------------------------------------------
Applications:
- Project size estimation
- Cost estimation
- Productivity measurement
--------------------------------------------------
UNIT 2
Definition:
- A methodology based on objects which bundle data and behavior.
Key Concepts:
1. Object: Contains data (attributes) and behavior (methods).
2. Class: Template for creating objects.
3. Encapsulation: Hiding internal details.
4. Inheritance: Reusing existing classes.
5. Polymorphism: One interface, multiple forms.
6. Abstraction: Simplifying complex reality.
Phases of OOSD:
1. Object-Oriented Analysis (OOA)
2. Object-Oriented Design (OOD)
3. Object-Oriented Programming (OOP)
Advantages:
- Modularity, Reusability, Maintainability, Scalability.
--------------------------------------------------
Definition:
- Testing software without knowledge of internal code/logic.
Steps:
1. Understand Requirements: Study specifications, use cases.
2. Design Test Cases: Inputs + Expected Outputs.
3. Execute Tests: Provide inputs, observe outputs.
4. Compare Results: Match actual outputs with expected results.
5. Report Defects: Log deviations and bugs.
Advantages:
- No need to understand code.
- Helps find interface & functional errors.