Skip to main content

Software Design

General

Prefix

SE

Course Number

465

Course Level

Undergraduate

College/School

College of Science and Engineering

Description

Formal methods of software analysis/design. Design patterns, standard middle-ware, software architecture including object/function oriented design. Design quality assurance management. Reverse engineering.

Prerequisites

Credits

Min

3

Max

3

Repeatable

No

Goals and Diversity

MN Goal Course

No

Cultural Diversity

No

Learning Outcomes

Outcome

Evaluate common design patterns, frameworks, and architectures.

Outcome

Analyze standard middle-ware technologies.

Outcome

Evaluate quality metrics as objectives for software designs, and then measure and assess designs to ensure the objectives have been met.

Outcome

Modify software designs using change control approaches.

Outcome

Use reverse engineering techniques to recapture the design of software.

Course Outline

Course Outline

Software design principles. 10% Design patterns (singleton, observer, iterator, strategy and template, etc.). 20% Refactoring and reverse engineering (principles of refactoring, identifying problems in codes, catalog of refactoring). 20% Formal approaches to design (benefits, ad-hoc design vs. formal approach, deficiencies of less formal approaches, mathematics in software development). 20% Performance improvement (performance tuning and benchmarking, setting up performance plan, using profiling tools, optimizing input/output, identifying bottlenecks). 20% Disciplined approaches to design change in software construction. 10%

Dependencies

Courses

SE465 is a prerequisite for:

Programs

SE465 is a completion requirement for: