305396 Software Design (2-2)

Academic year: 2549              Semester: 1

 

Instructor Contact Information

Instructor: Suradet Jitprapaikulsarn

Office: EE-408

E-mail: suradet at nu.ac.th

 

Course Overview

Software Design is a creative activity in the software development process.  In this course, we will apply various software design approaches to develop some common applications.  The focus is on adapting the methods to the ever-changing requirements while taking into considerations factors such as internationalization, localization, modeling, and so on.

 

Course Objectives

This is one of the essential courses for software engineering specialty.  After completing this course, students should have a basic practical understanding of the following:

  1. The impact of design decision on the software.
  2. Various approaches in designing software.
  3. Various tools for designing software.
  4. The impact of ever-changing requirements on the software being developed.

 

Instructional Approach

There is no textbook for this class but the references listed below are helpful.  Students must also be able to write programs to demonstrate their ability to implement the design.  Since this is a pragmatic course, students will apply various approaches to design software.  Each month student will review literature on software design to expand the knowledge beyond what available in the textbooks.

 

Reference

  1. K. Barclay and J. Savage, Object-Oriented Design with UML and Java, Elsevier, 2004, ISBN 0-7506-6098-8
  2. Cay Horstmann, Object-Oriented Design & Patterns, John Wiley, 2004, ISBN 0-471-31966-X
  3. Eric J. BraudeSoftware Design: From Programming to Architecture, John Wiley, 2004, ISBN 0-471-20459-5
  4. David Budgen, Software Design, 2nd Edition, Addison-Wesley, 2003, ISBN 0-201-72219-4
  5. Hong Zhu, Software Design Methodology, Elsevier, 2005, ISBN 0-7506-6075-9

 

Course Outline

Week No.

Topics

1

Basic Concepts of Design

2

Design Quality

3

Design Principles

4

Software Architecture

5

Description of Software Architectures

6

Typical Architectural Styles

7

Using Styles in Design

8

Midterm Examination

9

Architectural Design Space

10

Scenario-Based Analysis and Evaluation

11

Analysis and Evaluation of Modifiability

12

Quality Trade-Off Analysis

13

Model-Based Analysis

14

Handling Changes

15

Design Rejuvenation

16

Conclusion

17

Final Examination

 

Course Evaluation

The course grade will be based on

Item

Weight

Assignments

45%

Literature reviews

20%

Notes & Journal

5%

Exams

30%

 

Academic Policy

 

Notes

The above description is only tentative; it may be changed at the instructor’s discretion.



Last update 14 June 2006, 03:35
Copyright © 2006 Suradet Jitprapaikulsarn