Course Title : SOFTWARE ENGINEERING
Course Code : 315323 Computer Engineering
Semester : Fifth

I. RATIONALE
Software Engineering is the foundation for professional processes to be followed for designing, developing, testing and maintaining software involving principles, different techniques, and practices for software development. This course enable students to develop requisite abilities to follow systemic and disciplined approach to software development that aims to create high quality, reliable and maintainable software.
II. INDUSTRY / EMPLOYER EXPECTED OUTCOME
Apply software engineering principles to develop software product.
III. COURSE LEVEL LEARNING OUTCOMES (COS)
Students will be able to achieve & demonstrate the following COs on completion of course based learning
CO1 – Select suitable software development process model
CO2 – Prepare software requirement specification.
CO3 – Construct different Software design models
CO4 – Apply different planning and cost estimation techniques for a software product
CO5 – Apply project management techniques in software development.
CO6 – Use quality assurance principles in software development

Class Test 1 + Class Test 2 + Practical Exam Marks + End Sem Exam Marks

Unit – I Software Development Process
1.1 Software characteristics, Types of software.
1.2 The Process: Software Engineering: A Layered approach -Process, Methods and Tools
1.3 Software development framework.
1.4 Software Process Model: Waterfall Model
1.5 Incremental Process Model: RAD Model
1.6 Evolutionary Process Models: Prototyping model, Spiral model
1.7 Agile Process Model: Extreme Programming, Adaptive Software Development (ASD), Scrum,
Dynamic System Development Method (DSDM), CRYSTAL. Agile Unified Process (AUP)

Unit – II Software Requirement Engineering
2.1 Software Engineering core principles.
2.2 Software Practices: Communication, Planning, Modelling, Construction, Software deployment
(Statement and meaning of each principles for each practice).
2.3 Requirement Engineering: Requirement Gathering and Analysis, Types: Functional, Product, organizational, External Requirements, Eliciting Requirements, Developing Use-cases, Building requirement models, Negotiation, Validation.
2.4 Software Requirement Specification: Need, Format, and its Characteristics.

Unit – III Software Modelling and Design
3.1 Translating Requirement model into design model: Data Modelling.
3.2 Analysis Modelling: Elements of Analysis model.
3.3 Design modelling: Fundamental Design Concepts (Abstraction, Information hiding, Structure, Modularity, Concurrency, Verification, Aesthetics).
3.4 Design notations: Data Flow Diagram (DFD), Structured Flowcharts, Decision Tables.
3.5 UML Modelling :Use-Case ,Class Diagrams, Sequence Diagrams.
3.6 Testing – Meaning and purpose, testing methods – Black-box and White-box, Static and Dynamic testing, Level of testing, V-model

Unit – IV Software Project Cost Estimation
4.1 The Management Spectrum – 4P’s.
4.2 Metrics for Size Estimation: Line of Code (LoC), Function Points (FP).
4.3 Project Cost Estimation Approaches: Overview of Heuristic, Analytical, and Empirical Estimation.
4.4 COCOMO (Constructive Cost Model), COCOMO II.
4.5 Risk Analysis and Management: Risk identification, Risk assessment, Risk management and monitoring, Risk Refinement and Mitigation, RMMM Plan.

Unit – V Software Project Management
5.1 Project Scheduling: Basic principles, Work breakdown structure, Activity network
5.2 Project Tracking: Timeline charts, Earned Value Analysis, Gantt Charts.
5.3 Scheduling techniques: Critical Path Method(CPM), Program Evaluation Review Technique(PERT)

Unit – VI Software Quality Assurance
6.1 Software Quality Management vs. Software Quality Assurance.
6.2 Phases of Software Quality Assurance: Planning, activities, audit, and review.
6.3 Quality Evaluation standards: Six Sigma, CMMI: Levels, Process areas.

Unit Wise Marks Distribution

Sr.No Unit No Unit Title Aligned
COs
Learning
Hours
R-
Level
U-
Level
A-
Level
Total
Marks
1 Software Development Process CO1 7 2 6 4 12
2 Software Requirement
Engineering
CO2 9 4 6 4 14
3 Software Modelling and Design CO3 9 4 4 8 16
4 Software Project Cost Estimation CO4 8 2 2 8 12
5 Software Project Management CO5 4 2 2 4 8
6 Software Quality Assurance CO6 3 2 2 4 8
40 16 22 32 70
Shares: