Page 4 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 4
SYLLABUS
Principles of Software Engineering
Objectives: • To enable the student to understand software development process.
• To enable the student to learn various software engineering approaches.
• To enable the student to implement various software testing techniques.
• To enable the student to prepare software requirement specification documents.
• To enable the student to learn various verification and validation techniques.
• To enable the Student to practice software engineering concepts using UML.
COURSE CONTENTS:
S. No. Topics
1. Introduction: Concept of Software Engineering. Software Engineering Challenges & Approach.
2. Software Processes & models: Processes and Models, Characteristics of Software Model, Waterfall, Prototype,
Iterative, Time Boxing. Comparison.
3. Software Requirements: Problem Analysis, DataFlow, Object Oriented Modelling, Prototyping. Software
Requirement Specification Document: SRS, Characteristics, Components, Specification Language, Structure of
Document.
4. Introduction to Validation, Metrics: Function Point & Quality Metrics. Software Architecture: Architecture
Views, Architecture Styles:Client/Server, Shared Data.
5. Software Project Planning: Process Planning, Effort Estimation, COCOMO Model, Project Scheduling and
Staffing. Intro to Software Configuration Management: Quality Plan, Risk Management, Project Monitoring.
6. Functional Design: Principles, Abstraction, Modularity, Top Down, Bottom Up Approach. Coupling, Cohesion.
Structure Charts, Data Flow Diagrams, Design Heuristics.
7. Intro to Verification: Meaning, Metrics: Network, Stability, Information Flow.
8. Detailed Design: Process Design Language. Logic/Algorithm Design. Verification of Logic/Algorithm Design.
Metrics: Cyclomatic Complexity, Data Bindings, Cohesion Metric.
9. Coding: Common Errors, Structured Programming, Programming Practices, Coding standards. Coding Process:
Incremental, Test Driven, Pair Programming. Refactoring: Meaning and Example. Verification, Metrics: Size &
Complexity
10. Testing: Fundamentals, Error, Fault, Failure, Test Oracles, Test Cases & Criteria. Black Box: Equivalence Class
Partitioning, Boundary Value Analysis. White Box: Control Flow Based, Data Flow Based Testing Process: Levels
of Testing, Test Plan, Test Case Specifications, Execution and Analysis. Logging and Tracking.Metrics: Failure
Data and Parameter Estimation.