0% found this document useful (0 votes)
9 views3 pages

Software Engineering II Course Outline

The Software Engineering 2 (EENG305) course at the University of Zimbabwe focuses on advanced industrial software engineering topics, emphasizing software reuse, distributed systems, and service-oriented architectures. Over 12-14 weeks, students will engage in practical and theoretical learning, covering areas such as component-based software engineering, embedded software, and human-machine interfaces. Assessment includes a presentation, assignment, and project, with a final exam contributing 75% to the overall grade.

Uploaded by

yenasauce
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views3 pages

Software Engineering II Course Outline

The Software Engineering 2 (EENG305) course at the University of Zimbabwe focuses on advanced industrial software engineering topics, emphasizing software reuse, distributed systems, and service-oriented architectures. Over 12-14 weeks, students will engage in practical and theoretical learning, covering areas such as component-based software engineering, embedded software, and human-machine interfaces. Assessment includes a presentation, assignment, and project, with a final exam contributing 75% to the overall grade.

Uploaded by

yenasauce
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

UNIVERSITY OF ZIMBABWE

DEPARTMENT OF ELECTRICAL ENGINEERING

SOFTWARE ENGINEERING 2- EENG305 COURSE OUTLINE

Pre-requisite EENG205
Total contact time: 50 Hours

COURSE OBJECTIVES

This course delves into advanced topics in industrial software engineering, serving
as the second installment in a three-part series. It expands on foundational concepts
introduced in EENG205, with a strong emphasis on software reuse—including
components and applications—as a critical aspect of modern software development.
Key focus areas include:

 Distributed systems and client-server architectures.


 Service-oriented architectures (SOA), bridging software reuse and distributed
systems.

Designed to be completed in 12–14 weeks, the course equips students with practical
skills and theoretical knowledge to address complex engineering challenges in
industrial software contexts.

COURSE CONTENT
Topic Hours
Introduction 7 hours
Software Reuse 8 hours
Component-Based Software Engineering 5 hours
Distributed Software Engineering 5 hours
Service-Oriented Architecture (SOA) 10 hours
Embedded Software 5 hours
Aspect-Oriented Software Engineering 5 hours
Human Machine Interface and User Experience 5 hours

COURSE OUTCOMES

1. Software Reuse

 Understand and apply application frameworks for efficient software


development.
 Explore the concept of software product lines for reusable asset
management.
 Utilize COTS (Commercial Off-the-Shelf) products to enhance reuse in
software projects.

2. Component-Based Software Engineering

 Define components and analyze component models for modular design.


 Study component-based development processes to build scalable systems.
 Master techniques for component composition to integrate reusable
modules.

3. Distributed Software Engineering

 Examine client-server computing architectures and their applications.


 Identify and address challenges in distributed systems, such as latency
and consistency.

4. Service-Oriented Architecture (SOA)


 Design and implement reusable services for flexible system integration.
 Learn service engineering principles to develop interoperable solutions.

5. Embedded Software

 Apply embedded systems design methodologies for resource-constrained


environments.
 Implement architectural patterns tailored to embedded applications.
 Perform timing analysis to ensure real-time performance.
 Evaluate real-time operating systems (RTOS) for embedded software.

6. Aspect-Oriented Software Engineering

 Achieve separation of concerns to improve code modularity.


 Understand core concepts like aspects, join points, and pointcuts.
 Apply aspect-oriented techniques to address cross-cutting concerns in
software engineering

7. Human Machine Interface and User Experience

 Fundamentals of HMI Design


 Interface Types & Technologies
 Design Process & Evaluation
 Applications & Challenges

METHODS OF ASSESSMENT

One presentation, one assignment and one project

 Course work 25%


 Final Examination 75%

Reference Book

1. Sommerville, I., Software Engineering, 10th edition, Addison Wesley, 2016

You might also like