January – April 2021 semester
CHUKA UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE
ACSC 434: SOFTWARE ENGINEERING II (45; 3.0 C.Fs)
LECTURER: FREDRICK M. MUTHENGI
CONTACT: email: fmmuthengi@chuka.ac.ke Tel: 0718 711 185
1.0. COURSE PURPOSE
This course aims to refine student skills for software development in radical and
distributed computing environment.
2.0. LEARNING OUTCOMES
At the end of the course, the student should be able to:
Demonstrate knowledge of advanced issues, principles and practices in software
engineering.
Produce software development artefacts (Requirements Specifications, etc.).
Assess and critique software engineering projects and determine which principles and
practices are most appropriate to the given situation.
Justify the selection of specific software engineering practices.
3.0. COURSE CONTENT
Review of software development life-cycle. Human factors in software development. Comparative
study of requirement engineering methods, design methods. CASE environments. Software testing
techniques. Safety critical systems. Distributed software engineering. Configuration management.
Maintenance management; Quality management;
4.0. COURSE OUTLINE
Week Topic Sub-topic
1. Review of software - Review of SDLC
development life-cycle - Review of software process activities
2. Software testing - Testing Theories
- Black box vs White box techniques
3. Configuration - Change management
management - Version management
- System building
- Release management
4. Quality Management - Software quality
- Software standards
5. Quality Management - Reviews and inspections
January – April 2021 semester
- Software measurement and metrics
6. CAT 1 CAT 1
7. CASE environments - Use CASE tools
- Categories of CASE tools
- Object oriented CASE tools
8. Safety Critical Systems - Dependability properties
- Availability and reliability
- Safety
- Security
9. Distributed Software - Distributed systems issues
Engineering - Client-server computing
10. Distributed Software - Architectural patterns
Engineering - Software as a Service (SaaS)
11. CAT 2 CAT 2
12. Human factors in - What is a human factor?
software development - Human factors in interface design,
implementation, testing and maintenance
13. Human factors in - Human Computer Interaction (HCI)
software development User interface
User interface design approaches
Usability
- Ergonomics
14. Maintenance - Software maintenance overview
management - Maintenance management activities
15. Revision - Revision guidelines
- Questions
5.0. TEACHING METHODOLOGY
Lectures, assignment, practical and tutorial sessions in Computer Laboratory, individual and
group assignments, and exercises
6.0. COURSE EVALUATION
CAT 1 = 10%
CAT 2 = 10%
OTHER ASSESSMENTS = 10%
End of Semester Examination = 70%
Total =100%
Pass mark: 40%
7.0. COURSE TEXTBOOKS
i. Ian Summerville (2011), Software Engineering, 9th Ed. Addison Wesley
ii. Pressman R. (2010), Software Engineering: A Practitioner’s Approach, 7th ed.
McGraw Hill
January – April 2021 semester
iii. Bennett S., McRobb S., & Ray F. (2010), Object-Oriented Systems Analysis and
Design Using UML, 4th Edition McGraw Hill
iv. Martin, R. C. (2003). Agile software development: principles, patterns, and
practices. Prentice Hall PTR.
v. Shaw, M., & Garlan, D. (1996). Software architecture: perspectives on an
emerging discipline (Vol. 1, p. 12). Englewood Cliffs: Prentice Hall.