Course Outline 2022
Program of
Study
Jimma University
Jimma Institute of Technology
Faculty of Computing and Informatics
BSc. in Software Engineering program(Dept)
Courses code SE 3095
Courses Title Software Component Design(SE3095)
Degree Program B.Sc. in Software Engineering
Module name Software Design
Module number 04
Instructor/Tutor Contact address and Consultation Hours:
Email :rabirageleta2@gmail.com
ECTS credit (CP) 5(3)
Contact hours per Tutorials & Laboratory &
week seminars workshop
Lectures Home Total
Study
2 0 3 5 10
Year /semester IV / I
Pre-requisites OOAD, OOP, DSA, and Software Requirement Engineering
Status of the Compulsory
course
1
Course Outline 2022
Course Description:
This course deals with the design and implementation of software subsystems. The concept of design
patterns is introduced and common patterns are applied to the development of software components.
Laboratory projects provide an opportunity for teams of students to implement components and to
integrate them into complete systems.
Course Objectives:
Upon successful completion of this course, the student will:
apply object-oriented design patterns in software application-specific contexts
determine the appropriate design pattern to apply in a specific context
design and implement small software components and systems
apply UML class and sequence diagrams in the process of designing and documenting software
applications
use computer-aided software engineering (CASE) tools in the design and software documentation
process
conduct independent research on software design patterns
document software design patterns in both written and oral reports
lastly you should familiar yourself with a wide variety of software construction techniques
and tools, design patterns in the design of software, Thread, Thread synchronization, inter-
Thread and process communication, with the concept of extreme programming approaches.
Course Schedule, topics,and weeks
Week Topic
1 and 2 Introduction to Design Pattern
3 and 4 Multi-Threading and Thread Synchronization
5 and 6 Inter-process communication using shared memory, pipes, and sockets
7,8 and 9 Design patterns , Pattern application issues, and Anti-patterns
Lab Laboratory topics:
Abstract Factory Pattern,Adapter Pattern
Investigation of multi-threaded data collections
2
Course Outline 2022
Application of specific design patterns
Development of application to demonstrate the use of a chosen
design pattern
Demonstration of example application
Teaching and learning methods: lectures , Laboratory session, home study, assignment,
Assessment & Evaluation Methods
Group Assignments with presentation = 15 %;
Project =25 % ;
Mid-exam /quiz=20 %; and
Final examination= 40 %
Grading: as per University’s regulation
Course policy: concerning attendance, participation, punctuality, academic integrity, assignment
submission are essential.
Texts and references:
Head First Design Patterns Freeman and Freeman, O’Reilly, 2004