|
|
Course Description
Software development lifecycle,
software modeling languages, advanced UML and design patterns, software
engineering tools, software project planning and tracking, software process
management, business and domain object models, architectural design,
database design techniques, class and interaction design, testing,
refactoring, user interface development, data engineering and business
components.
This course surveys current
research in software engineering. Topics include both the technical aspects
of software development
and issues pertaining to software process and
project management.
Course Topics for 2007 Fall
|
Wider Software
Engineering Context
Software Development Lifecycle, IEEE/EIA 12207 Software Life Cycle
Processes
Software and Systems Engineering: overview, examples and industrial
realities
Project Management - Project Planning and Scheduling, Team
Organization
Tools
Case studies
|
|
Software Development
Processes
Software Process Improvement and an Overview of Software Processes
Software Quality and Standards
Software Economics: Software Metrics - Measurement, Estimation and
Prediction
Requirements Management
Configuration Management
Risk Management
Software Testing and Inspection
Refactoring
Some Examples from Heavy and Agile Development Processes (CMMI, RUP,
XP, ...)
|
|
Software Architecture
UML, Design Patterns and
Frameworks
Architecture Description Languages
Pattern-Oriented Software Architecture
Component-based Development
Aspect-oriented development
Advanced Modeling: UML Extension Mechanisms, Object
Constraint Language, Model Checking, Model Driven Architecture |
Readings
In some weeks,
we will discuss selected readings in software engineering. You are expected
to attend each meeting having read all the assigned materials and prepared
brief typed summaries of each one. At the beginning of each meeting,
students will be arbitrarily chosen to lead the discussions, so your
summaries will prove invaluable when you are chosen as discussion leader.
Please bring hard copies of your summaries to the meeting.
Your summaries should include not only an
exposition of the material but also questions that arise during your
reading. The success of this course depends on your participating in the
discussion by raising these questions and engaging in the ensuing debate.
Course Report
You are expected to write a report on a software engineering topic of your
choosing, subject to my approval. I will happy to direct you toward topics
and resources.
The timeline for the reports is as follows:
Topic and abstract due:
Draft of report due:
In-class oral presentations of reports:
Final report due:
Prerequisites
CENG 401 Software Engineering
Lecture Schedule
Textbooks
Required
Recommended
|
Object-Oriented Software Engineering:
Conquering Complex and Changing Systems, Using UML, Patterns, and Java,
Bernd
Bruegge and
Allen H. Dutoit, Prentice-Hall, 2004. |
|
Head Start Design Patterns,
Elizabeth Freeman et al., O'Reilly, 2004. |
|
Object-Oriented Software Engineering: Practical Software Development
Using UML And Java,
Timothy C. Lethbridge,
Robert Laganiere,
2nd Edition, McGraw-Hill, 2004, ISBN: 0077109082.
resources
|
|
Applying
UML and Patterns: An Introduction to Object-Oriented Analysis and Design
and Iterative Development, Craig Larman, Prentice Hall, 2004,
ISBN: 0-13-148906-2. |
|
UML Distilled: A
Brief Guide to the Standard Object Modeling Language, 3rd
Edition, Martin Fowler, Addison-Wesley, 192 pages, 2003, ISBN:
0321193687. |
|
UML for Java Programmers,
Robert C. Martin, Prentice Hall, 288 pages, 2003. |
|
Software
Engineering: An Object-Oriented Perspective, Braude, Ertic J.,
John Wiley, 2002.
resources |
Paper
Readings
Please look at this
Readings page before class. It will be regularly updated during
the semester.
Grading
30
% : Presentation, ADC (Attendance, Discussion and Contribution)
40 % : Project
30 % : Final Exam (a
comprehensive exam covering all topics at the end of the course)
Similar Courses in Other Universities
|
......
|
|