Navigate Up
Sign In

ClassInfo

SE 480 Software Architecture I

Office: CDM 740
Spring 2007-2008
Class number: 33990
Section number: 910
-
Online Campus

Summary

This course addresses the critical task of choosing appropriate software architectures for complex software systems. The architecture of a system plays a critical role in helping a development organization meet its business goals. Proper consideration of architectural issues, including the use of suitable architectural patterns, can make a system easier to build, maintain, and extend. A system's architectural design is concerned with describing its decomposition into software elements, the interfaces of those elements, and the collaborations among them.

In this course, we explore three major areas of software architecture practice:

  • Creating, analyzing, and evaluating an architecture
  • Designing an architecture and moving to an actual system
  • Documenting software architecture

Specific topics discussed include analysis, selection, and evaluation of an appropriate architecture; architectural tactics and architectural patterns; documenting a software architecture; identifying and scheduling architectural releases; identifying constraints on and enablers for architectural decisions; and analyzing architectural trade-offs. Throughout, we frame all these topics within the architectural business cycle (ABC) described in Bass et al. (see Textbooks and Printed Resources, following) and examine the influence of the development organization on the architecture, as well as the influence of the architecture on the organization.

This course is intended to complement the student's small-system development experience in a course such as SE 450 Object-Oriented Software Development with practical techniques and artifacts important in designing and developing large, complex, and long-lived software systems.

The course consists of lectures, reading, individual homework assignments, a mid-term exam, and a final exam. A team project is also required. Online students work remotely on the team project with in-class students and/or other online students. Some individual assignments involve programming. Programming coursework is graded on functionality, code quality, and documentation.

Java is used for source code examples, homework assignments, assessment questions, and projects.

All students are expected to read and fully comply with DePaul's Academic Integrity Policy, the text of which is available at:

http://condor.depaul.edu/~tla/html/student_academic_integrity

Course Goals

Upon successful completion of this course, the student should:

  • Understand the architectural business cycle (ABC).
  • Understand what software architecture is and is not.
  • Be able to apply architectural patterns in system design.
  • Be able to produce Java programs that demonstrate the use of architectural design patterns.
  • Be able to analyze and evaluate software architectures.
  • Be able to perform effective architectural reviews.
  • Be able to document a software architecture.
  • Understand and apply the principles of architecture-based development.


Texts

Required:

  • Software Architecture in Practice, Second Edition, by Len Bass, Paul Clements, and Rick Kazman. Addison-Wesley, 2003.
  • The text may be supplemented by papers from the CMU/SEI Software Architecture publication list.


Grading

Unless otherwise specified, all assignments must be submitted via Course OnLine (COL) and are due by 11:59 PM on the assignment due date.The assignment documents may be submitted in Adobe PDF (preferred) or Microsoft Word (.doc or .docx) format. Any included figures must be embedded directly within the document, not bundled separately.

Assignments are graded on a PASS/FAIL scale. Assignments submitted on-time and adequately addressing the assignment problem (that is, meeting all assignment requirements and showing adequate understanding of the problem) receive a grade of PASS (100%). Assignments that are incomplete, inadequately address the assignment problem, or that are received after the due date receive a grade of FAIL or LATE (0%). However, students should complete and submit all assignments, even if they are late. They are reviewed and graded when time permits, and may be used to determine borderline grades, entirely at the instructor's discretion.

The meaning and point value of each of the grades is summarized in the following table:

Grade Description Mark Value
PASS/PASS+ Submitted on-time and adequately addresses the assignment problem. Meets all assignment requirements and shows a clear and comprehensive understanding of the problem.

A P+ indicates that the student significantly exceeded the requirements for the assignment. It is a recognition grade only; it has the same point value as a 'P'.

P/P+ 100
PASS- Submitted on-time and adequately addresses the assignment problem. Meets all major assignment requirements but shows some lack of understanding of the problem or omits some minor assignment requirement. P- 75
LATE Meets the requirements for a PASS or PASS-, but submitted after assignment deadline. No explicit point value, but will be considered for borderline final grades, entirely at the instructor's discretion. L 0
FAIL Does not meet major assignment requirements or shows significant lack of understanding of the problem. This grade will also be assigned to work which is deemed to not be the student's own work. F 0

The team project coursework component is done as part of team consisting of three to five students. All students on each team are expected to contribute equally to each assignment. At the end of the quarter, students must complete an online peer review of their teammates. The peer review assesses the participation, quality of work, and cooperation of all members of the team. The review is used, in part, in determining each student's team team project grade component, which constitutes 30% of the overall grade.

The following table details the grade proportions for all coursework:

Coursework Grade Proportion
Homework assignments

30%

Mid-term exam

20%

Final exam

20%

Team project

30%

Total

100%

Course letter grades are computed using the following scale:

If the final numeric grade is less than: and greater than or equal to: the final letter grade is:
- 93 A
93 90 A-
90 87 B+
87 83 B
83 80 B-
80 77 C+
77 73 C
73 70 C-
70 67 D+
67 63 D
63 60 D-
60 - F


School policies:

Online Teaching Evaluation

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Email

Email is the primary means of communication between faculty and students enrolled in this course outside of class time. Students should be sure their email listed under "demographic information" at CampusConnect is correct.

Academic Integrity Policy

This course will be subject to the academic integrity policy passed by faculty. More information can be found at http://academicintegrity.depaul.edu/

Plagiarism

The university and school policy on plagiarism can be summarized as follows: Students in this course should be aware of the strong sanctions that can be imposed against someone guilty of plagiarism. If proven, a charge of plagiarism could result in an automatic F in the course and possible expulsion. The strongest of sanctions will be imposed on anyone who submits as his/her own work any assignment which has been prepared by someone else. If you have any questions or doubts about what plagiarism entails or how to properly acknowledge source materials be sure to consult the instructor.

Incomplete

An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the College of Computing and Digital Media. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.

Resources for Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
Student Center, LPC, Suite #370
Phone number: (773)325.1677
Fax: (773)325.3720
TTY: (773)325.7296