You are on page 1of 3

Institute of Business Administration

Faculty of Computer Science

Course Outline
CSE211 – Software Engineering
Credit hours: 3
Prerequisites: CSE 246 Data Structures and Algorithms
Recommended prior learning: Basic knowledge of Programming.
Directed Unsupervised Activity: 100 hrs
Course Tutor: Shakeel A. Khoja       
Consultation hours for this course: Mon-Fri xx:xx

Course aims:

 Introduce Software Engineering Skills, particularly Analysis, Design and Validation


 Introduce the problems encountered in engineering a large software product
 Introduce Structured and Object-Oriented methods of Software Engineering.

Course description:

This course is about the overview of developing real-world software. Software systems are among the
most complex artefacts that humans build. However their failure rate is also high and expensive.
Software engineering tackles the size and complexity of real-world software development by adopting a
disciplined approach to designing, developing and maintaining the software.

The course presents a broad overview of the main ideas of software engineering and introduces current
software engineering techniques. The course has a strongly practical flavour, including a group project
that emphasizes systems analysis. UML is used as standard notation for modelling and will be used
extensively in this course.

Learning Outcomes:

Knowledge and Understanding


Having successfully completed the course, you will be able to demonstrate knowledge and
understanding of:

1. Models of the Software Development Process.


2. Structured Analysis and Object Modeling techniques in the Software Development Process.
3. The use of CASE tools as an aid to Object Modeling
4. Software testing, particularly module testing techniques

Intellectual Skills
Having successfully completed the course, you will be able to:

1. Debate the suitability for a small to medium project of two or more development methodologies.
2. Choose appropriate tools and techniques to estimate and plan a small to medium project.
3. Analyze the software requirements of a simple system
4. Plan the testing for a software module.
Practical Skills

Having successfully completed the course, you will be able to:

1. Describe two or more development methodologies.


2. Estimate and plan a small to medium project.
3. Use a CASE tool.
4. Do Use Case and UML modelling for a simple system.
5. Select test cases for a software module.

Indicative learning strategy:


Topics Covered:
 * Introduction and Overview
o Waterfall model
o Spiral model
o Prototyping and incremental development
 Requirements Analysis
 Structured Methods
o ER-Diagrams
o DFD and ELH Diagrams
o CASE tools and UML diagrams
 Object Oriented Methods
 Architecture and Systems Integration
 Design to Implementation
 Validation and Verification
o Black box testing
o White box testing
o Integration Testing strategies
 Project Planning and Management
o Function Point Analysis
o COCOMO and other estimation method

Indicative references/learning materials:


Text Book: Roger S. Pressman, Software Engineering: A practitioner’s approach Seventh Edition,
Mcgrawhill Higher Education

Reference Books:
 Ian Sommerville, Software Engineering, Addison Wesley,
 Shari Lawrence Pfleeger, Software Engineering Theory and  Practice, Prentice Hall,
 S. Bennett, J. Skelton, et al. (2001). Schaum's outline of UML, McGraw-Hil

Assessment strategy:

Assessment Method Contribution to the


final mark
Mid Term Examinations 30% (15 + 15)
Final Examination 40%
Quizzes 10%
Assignment / Mini Project 20%

You might also like