Software Engineering
EG 3213 CT
|
Total:
6 hour /week
|
Year:
III
|
Lecture:
3 hours/week
|
Semester: VI
|
Tutorial: hour/week
Practical: 3
hours/week
|
Course Description:
This course aims to guide the students in both the
theoretical and practical aspects of developing computer solutions for
real-world problems. One will study the tools and techniques used in analysis
and design of software systems, and apply those tools within a recognized
software development methodology and within the context of a case study.
Course
Objectives:
After completing this course the students will be able
to:
1. Introduce
the theory and foundations of software engineering
2. Explain
Software Project Management
3. Describe
some key aspects of a software engineering process
4. Apply
fact-finding and problem-solving skills
5. Determine
the requirements for a software system
6. Enlist/Explain
key aspects of models and processes for design of a software system
7. Apply
current trends in the area of software engineering
Course
Contents:
Unit
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
1
|
Introduction to software engineering
|
1.1 Introduction to software
1.2 Program Vs software
1.3 Software components
1.4 . Characteristics of software
1.5 Types of software
1.6 Generic view of software engineering
1.7 Software process and software process
model.
|
[4]
|
|
|
2
|
Software
Development Life Cycles Models:
|
2.1 Build and fix model
2.2 The waterfall model
2.3 Prototyping model
2.4 Iterative enhancement model
|
[4]
|
|
|
Unit
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
|
|
2.5 Spiral model
2.6 Rapid application development model
(RAD)
2.7 Selection criteria of a lifecycle
model
|
|
|
|
3
|
Software Project Management:
|
3.1 Activities in project management
3.2 Software project planning
3.3 Software project management plan
3.4 Software project scheduling and
techniques
3.5 Software project team management
and organization
3.6 Project estimation techniques
3.7 COCOMO model
3.8 Risk analysis and management
3.9 Risk management process
3.10 Software configuration management
3.11Software change management
3.12Version and release management
|
[7]
|
|
|
4
|
Software
Requirement Analysis &
Specification:
|
4.1 Requirement engineering
4.2 Requirement elicitation
4.2.1
Interviews
4.2.2
Brainstorming series
4.2.3 Use case
approach
4.3 Requirement analysis
4.3.1. Data
flow diagram
4.3.2 Data
dictionary
4.3.3
Entity-Relationship diagram
4.3.4 Software
prototyping
4.4 Requirement documentation
4.4.1 Nature of
SRS
4.4.2
Characteristics of a good
SRS
4.4.3
Organization of SRS
|
[6]
|
|
|
Unit
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
5
|
Software Design:
|
5.1 Objectives of design
5.2 Design framework
5.3 Software design models
5.4 Design process
5.5 Architecture design
5.6 Low level design
5.7 Coupling and cohesion
5.8 Software design strategies
5.9 Function oriented design
5.10 Object oriented design
5.11 Function oriented design Vs
Object oriented design
|
[5]
|
|
|
6
|
Software Metrics:
|
6.1 Software
metrics: what & why?
6.2 Token count
6.3 Data structure metrics
6.4 Information flow metrics
6.5 Metrics analysis
|
[4]
|
|
|
7
|
Software Reliability:
|
7.1 Basic Concepts
7.2 Software quality
7.3 Software reliability model
7.4 Capability maturity model (CMM)
|
[4]
|
|
|
8
|
Software Testing:
|
8.1 Testing process
8.2 Some important terminologies
8.3 Unit testing
8.4 Integration testing
8.5 System testing
8.6 Regression Testing
8.7 Performance testing
8.8 White Box testing and black box testing
8.9 Acceptance
testing
8.10 Alpha and Beta testing
8.11 Debugging techniques, tools and
approaches
|
[6]
|
|
|
9
|
Software
Maintenance:
|
9.1 Need for software maintenance 9.2 Types
of software maintenance
|
[3]
|
|
|
Unit
|
Topics
|
Contents
|
Hours
|
Methods/
Media
|
Marks
|
|
|
9.3 Software maintenance process
model.
9.4 Software maintenance cost
|
|
|
|
10
|
Quality assurance
|
10.1 Software quality attributes
10.2 Quality factors
10.3 Quality control
10.4 Quality assurance
10.5 Software quality assurance
10.6 Software safety
10.7 The ISO 9000 model
10.8 SEI capability maturity model
10.9 Verification and validation
|
(2)
|
|
|
|
Practical:
|
The practical should contain all features
mentioned above.
|
[45]
|
|
|
Recommended books:
1. Software
engineering, Udit Agarwal,
publication
2. Fundamentals
of Software Engineering by Ghezzi, Jayazeri and Mandrioli, Prentice-Hall.
3. Fundamentals
of Software Engineering by Rajib Mall
4. Software
Engineering by Ian Sommerville, Addison-Wesley, ISBN 0-201-17568-1
5. Software
Engineering by Roger Jones
6. Modern
System analysis and design, Jeffrey A. Hoffer, Joey F. George, Joseph S.
Valacich
No comments:
Post a Comment