0% found this document useful (0 votes)
24 views4 pages

Software Engineering Notes

The document outlines the fundamentals of software engineering, including definitions, core practices, and various development models such as Agile and prescriptive models. It covers software requirements, modeling, design concepts, project management techniques, and testing methodologies. Additionally, it discusses test planning, defect management, and metrics for evaluating software quality and process effectiveness.

Uploaded by

Tanisha Waichal
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)
24 views4 pages

Software Engineering Notes

The document outlines the fundamentals of software engineering, including definitions, core practices, and various development models such as Agile and prescriptive models. It covers software requirements, modeling, design concepts, project management techniques, and testing methodologies. Additionally, it discusses test planning, defect management, and metrics for evaluating software quality and process effectiveness.

Uploaded by

Tanisha Waichal
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/ 4

Unit I: Basics of Software Engineering

1.1 Software, Software Engineering as Layered Approach:

- Software: Set of programs and documentation.

- Software Engineering: Application of engineering principles to software.

- Layered Approach: Tools, methods, process, quality focus.

1.2 Software Development Framework:

- Generic Process Activities: Communication, Planning, Modeling, Construction, Deployment.

- Umbrella Activities: Project tracking, risk management, quality assurance.

1.3 Software Engineering Core Practices:

- Communication, Planning, Modeling, Construction, Deployment.

1.4 Prescriptive Process Models:

- Waterfall Model, Incremental Model, RAD Model, Prototyping Model, Spiral Model.

1.5 Agile Development:

- Agile Process: Iterative and incremental.

- Importance: Flexibility, customer feedback.

- Models: Extreme Programming, Scrum.

1.6 Selection Criteria for Process Model:

- Based on project size, complexity, team, budget, etc.

Unit II: Software Requirement, Modeling and Design

2.1 Requirement Engineering:

- Tasks: Inception, elicitation, elaboration, negotiation, validation.

- Types: Functional, non-functional, domain requirements.

- Use-case: Defines system behavior.

2.2 Software Requirement Specification (SRS):

- Need: Clear, structured documentation.

- Format: Introduction, functional requirements, non-functional requirements.


- Characteristics: Correct, consistent, verifiable.

2.3 Translating Requirement to Design Model:

- Use SRS to create architecture, interface, data design.

2.4 Design Modeling Concepts:

- Abstraction, information hiding, modularity, patterns, concurrency, aesthetics, verification.

2.5 Design Notations:

- Data Flow Diagram (DFD), Structured Flowcharts.

Unit III: Software Project Management

3.1 Management Spectrum - 4P's:

- People, Product, Process, Project.

3.2 Metrics for Size Estimation:

- LoC: Count of lines in source code.

- Function Points: Based on features and user input/output.

3.3 Cost Estimation Using COCOMO:

- COCOMO: Basic, Intermediate, Detailed models.

- COCOMO II: More accurate modern version.

3.4 Risks and RMMM:

- Types: Technical, project, business.

- RMMM: Risk Mitigation, Monitoring, Management.

3.5 Project Scheduling:

- CPM (Critical Path Method), PERT (Probabilistic planning).

3.6 Project Tracking:

- Timeline Charts, Gantt Charts.

Unit IV: Basics of Software Testing


4.1 Software Testing and STLC:

- Objective: Identify defects, ensure quality.

- STLC: Requirement, planning, design, execution, reporting.

4.2 Terminology:

- Error: Human mistake.

- Defect: Software flaw.

- Bug: Informal term for defect.

4.3 Test Case & Test Timing:

- Test Case: Input/output validation.

- Start: After development.

- Stop: Based on coverage, defect rate.

4.4 QA, QC, Verification & Validation:

- QA: Process-oriented.

- QC: Product-oriented.

- Standards: Six Sigma, CMMI.

4.5 Static vs Dynamic Testing:

- Static: Without execution.

- Dynamic: With execution.

4.6 White Box vs Black Box Testing:

- White: Internal logic.

- Black: Functional test only.

4.7 Levels of Testing:

- Unit, Integration, System, Acceptance.

Unit V: Test and Defect Management

5.1 Test Planning:

- Plan includes scope, strategy, schedule, risk.


5.2 Test Infrastructure Management:

- Tools, environments, resources setup.

5.3 Test Reporting:

- Execution results, summary reports.

5.4 Defect Life Cycle and Template:

- Life Cycle: New -> Open -> Fixed -> Retest -> Closed.

- Template: ID, Summary, Description, Priority.

5.5 Manual vs Automation Testing:

- Manual: Exploratory, cheaper.

- Automation: Fast, reusable scripts.

5.6 Metrics:

- Product Metrics: Size, complexity.

- Process Metrics: Defects, effectiveness.

You might also like