MASINDE MULIRO UNIVERSITY OF SCIENCE & TECHNOLOGY

ECE 822 - SOFTWARE ENGINEERING
SENATE APPROVED SYLLABUS

 

ECC 811: SOFTWARE ENGINEERING

Course Purpose

The purpose of this course is to provide students with the principles of suitable structured high level language programming techniques, the software planning, design, development, implementation, testing and maintenance required for problem solving in electrical/computer engineering applications.

Expected Learning Outcomes

At the end of the course the student should be able to:

1.         Solve electrical/computer engineering problems using suitable structured high level language programing methodologies.

2. Plan, design, develop, test, implement and maintain software applied to solving related electrical/computer engineering problems.

 

Course Content

Software Engineering Description 
.Introduction of structured High-Level Language Programming (e.g. using the C-language). Introduction of real-time virtual machine. Interprocess communication mechanisms. Implementing the virtual machine. Table driven software: the finite state machine (FSM); state transition diagrams; application to Real Time (RT.) systems and protocol handling. Software implementation of the GSM. Software implementation of the FSM. Software Life cycle and reliability. Requirements definition and software specification.

Software design: top-down design; Introduction to object-oriented software design. Software validation. Software test: test plan, documentation.

Software maintenance: waterfall model. Introduction to formal methods of program specification, program construction and proof of correction. Software Processes. Software Requirements. Analysis and Specification. Software Architecture. Planning a Software Project. Function-Oriented Design. Object-Oriented Design. Detailed Design. Coding. Testing

Mode of Delivery

Lectures, tutorials, self-paced/guided e-learning, practicals, system modelling, computer simulations and hardware design exercises.

Course Assessment 

During the period of the course, assessment will be conducted by Continuous Assessment Tests (CATs) and final Examination at end of the course. The course will be evaluated by 60% final examination and 40% CATs

Prescribed Textbook

1. Pankaj Jalote, An integrated approach to software engineering, 3rd Edition (2005 or Later Edition), Springer, ISBN: 81-7319-702-4.

Recommended Textbooks