Here, The Course Note and syllabus of Software Engineering at the 4th semester of the Diploma in Computer Engineering/IT CTEVT.
Software Engineering
EG 2202 CT
Total: 8 hours/week
Year: II Lecture: 4 hours/week
Semester: II Tutorial: 1 hour/week
Practical: 3
hours/week Course
Course Contents:
Unit 1. |
Introduction to system analysis and design 1.1 A modern approach to systems
analysis and design 1.2 System development role and responsibilities 1.3 Types of Information systems and systems development |
[8] |
|
|
1.4 Developing Information systems and the system development
life cycle |
|
|
Unit 2. |
Introduction to software
engineering |
[5] |
|
2.1 |
Software
Engineering Fundamental •
General definition •
Program versus software •
Software process •
Software characteristics •
Software applications |
||
|
2.2 |
Some
terminologies: •
Deliverables and milestones •
Product and process •
Measures, metrics and measurement •
Software process and product metrics •
Generic and customized software product
|
|
|
2.3 |
Roles
of management in software development |
|
•
People, product, process
and project
Unit 3. |
Software Development Life Cycles
Models: 3.1 Build and fix model 3.2 The waterfall model 3.3 Prototyping model 3.4 Iterative enhancement model 3.5 Spiral model
3.6 Rapid application development model
(RAD) 3.7 Selection criteria of a lifecycle model |
[6] |
Unit 4. |
Software Project Management: 4.1 Responsibilities of software project Manager 4.2 Project
planning 4.3 Metrics for
project size estimation 4.4 Empirical Estimation technique 4.5 COCOMO-A heuristic estimation technique 4.6 Scheduling 4.7 Organization and team structure 4.8 Staffing 4.9 Risk Management 4.10 Software Configuration Management |
[6] |
Unit 5. |
Software Requirement Analysis &
Specification: 5.1 Requirement engineering 5.2 Requirement elicitation •
Interviews •
Brainstorming series •
Use case approach 5.3 Requirement analysis •
Data flow diagram •
Data dictionary •
Entity-Relationship diagram •
Software prototyping 5.4 Requirement documentation •
Nature of SRS •
Characteristics of a good SRS •
Organization of SRS |
[8] |
Unit 6. |
Software Design: 6.1 Design concepts, importance, and objectives 6.2 Modularity •
Cohesion •
Coupling •
Relation between cohesion and coupling 6.3 Strategy of design •
Bottom-up approach •
Top-down approach •
Hybrid approach |
[6] |
|
6.4 Function oriented design 6.5 IEEE recommended practices for software
design 6.6 Object-oriented design |
|
|
Unit 7. |
Software Metrics: 7.1 Software metrics: what & why? 7.2 Token count 7.3 Data structure metrics 7.4 Information flow metrics 7.5 Metrics analysis |
[5] |
|
Unit 8. |
Software Reliability: 8.1 Basic Concepts 8.2 Software quality 8.3 Software reliability model 8.4 Capability maturity model (CMM) |
[5] |
|
Unit 9. |
Software Testing: |
[6] |
|
9.1 |
Testing
process |
||
|
9.2 |
Some
important terminologies |
|
|
9.3 |
Functional
testing •
Boundary value analysis •
Equivalence class testing •
Decision table-based testing •
Special value testing |
|
|
9.4 |
Structural
testing •
Path testing •
Cyclomatic complexity •
Graph metrics •
Data flow testing •
Mutation testing |
|
|
9.5 |
Levels
of testing |
|
|
9.6 |
Debugging
techniques, tools and approaches |
|
|
9.7 |
Testing
tools |
|
Unit 10. |
Software Maintenance: 10.1 Introduction
10.2 Maintenance process 10.3 Maintenance model 10.4 Estimation of maintenance costs 10.5 Regression testing 10.6 Reverse engineering 10.7 Software Re-engineering 10.8 Configuration management 10.9 Documentation |
[5] |
Practical: [45]
The
practical should contain all features mentioned above.