Syllabus for SSE 691
Software
Architecture (Note: Effective Fall 2008, this course
will become SSE 661. Also, there will be a new syllabus for Fall Semester 2008.)
Changes
are possible.
Fall Semester 2006
(06F)
revised
June 5, 2008 1:20 PM
Eastern Time
Instructor: Dr. Paul E. MacNeil
Office: Suite 223a, School
of Engineering
Phone: 478-301-2185
478-301-2185
Email: macneil_pe@mercer.edu
Back to Top
Textbooks and Supplies:
Texts (including web
sites):
Software Architecture in Practice (2nd ed.), by Bass, Clements, and
Kazman, Addison-Wesley ISBN 0-321-15495-9 (2003) (Required) Check
Out This Text
Patterns-Oriented Software Architecture Volume 1: A System of Patterns
(1st ed), (aka POSA) by Buschmann, Meunier, Rohnert, Sommerlad, and
Stal, Wiley ISBN 0-471-95869-7 (1996) (Required) Check
Out This Text
Software (including
web sites):
- Note that this course is intended to be OS neutral.
- Netscape Communicator, Internet Explorer, or other recent Internet browser
(Required, but your choice).
- An Internet ftp client of your choice. Core FTP LE is free and works
well http://www.coreftp.com/ . (Required,
but your choice)
Back to Top
Other Useful Resources
(including web sites):
Back to Top
Catalog
Description (Course Purpose):
Special Topics
A course in software architectural design. All students will
begin with a common core of software architectures and criteria for selecting
them. Impact of software architectural choices on: availability, modifiability,
performance, security, testability, and usability. Students will then select
either real-time
architectures or concurrent and distributed architectures for the remainder
of the course.
Please note that this course is conducted *asynchronously* with
regard to the face-to-face class meeting schedule. That is, the course begins
on August 22, 2006, for *all* students, regardless of whether they are registered
in the Macon, or Distance Learning section.
Back to Top
Course Objectives:
Breadth and Depth in Defining, Analyzing, and Solving Complex Problems:
- After successfully completing
this course, you should be able to demonstrate a basic capability to appropriately
select software archtitectures to solve complex problems.
Communicate Technical Aspects of the Solution for Complex Software Engineering
Problems to a Technical Audience:
- After successfully completing this course, you should be able to demonstrate
a basic ability to communicate software architecures and the rationale for
their selection to a technical audience.
Back to Top
Prerequisites:
SSE 571 (formerly SSE 656) Java Design II or permission of the
SSE Program Director based on your software development experience.
Back to Top
Class Location:
Back to Top
Grading:
Item |
Percent of Term Grade |
| Project 1 (solo) |
25 |
| Project 2 (solo) |
25 |
| Project 3 (team) |
40 |
| Listserv contributions |
10 |
More information TBD.
Back to Top
Assignments:
- Purpose of projects:
- Use the projects to develop your capabilities, and
- Use the projects to demonstrate your capabilities.
- Deliverables for all projects:
- Your report should be a single, standalone document in .html or .doc format.
- Your report should be organized in such a way as to make the topics that
you want credit for covering easy to find, and demonstrate your capabilities
clearly and convincingly. Everything you want considered for credit, including
code and tests if any, should be included in the report.
- You may include other material outside of the report, if you wish, but this
material may or may not be considered in evaluating your work.
- For each capability that you demonstrate within a report or major section
of that report, you may present only the final result of your work; you need
not demonstrate every step in the development of that result.
- Project 1(Solo)
- Pick an architectural pattern from chapter 2 of Buschmann et al., and develop
(program, test, and demonstrate) an implementation of that pattern.
- Implementation of some patterns make take some ingenuity. For example,
the Microkernel architectural pattern is frequently used in designing operating
systems. However, design and implementation of an operating system is
well beyond the scope of this course. However, you can build something
less that is less than an operating system but is none-the-less based on
your chosen design pattern(s).
- Project 2 (Solo)
- Pick a system and apply the Architecture Tradeoff Analysis Method (ATAM)
and the Cost Benefit Analysis Method (CBAM) for that system.
- Your project may involve designing an architecture and prototyping at least
some of itl, performing an ATAM and a CBAM, or both.
- You will have to make compromises and simplifying assumptions. Please identify
them, consider them carefully (Is what you are doing about the best that
you could do under the circumstances?), and document them.
- Project 3 (Team)
- Design your own software architectural project..
- Your project may involve designing an architecture and prototyping at least some of itl, performing an ATAM and a CBAM, or both.
- Implementation Language(s)
Back to Top
Additional Information:
- Asynchronous Learning Nets (ALNs)
- Self Study: You study the texts and any other course study material on
your own.
- Collaborative Projects: After your self-study, you collaborate (via the
Internet [email, ftp]) with your partner(s) to produce a team product. Your
collaborative work is substantial, asynchronous, and rapid.
Back to Top
What Do I Do?
- Subscribe to the course email listserv and be able to access our FTP server;
your professor can tell you how to do this.
- Study the assigned material.
- Write and read email messages about ideas, problems and solutions to do
with the assigned study material.
- Do the assigned exercises.
- Write and read email messages (to/from the listserv) about ideas, problems
and solutions to do with the assigned homework.
- Review the exercises done by other people, as assigned by the professor.
Back to Top
Changes to this Syllabus:
There will be changes to this syllabus, so check back frequently, and don't
forget to hit "Reload" or "Refresh".
Schedule of Events and Assignments:
Start Date |
End Date |
Activity/Event |
| August 22, 2006 |
December 06, 2006 |
Course in Progress |
| August 22, 2006 |
August 29, 2006 |
Read Buschmann et al.: "About this book", "Guide to the
Reader", ch.
1 "Patterns", and the following patterns (see p. xvii): Pipes and Filters,
Proxy, and Forwarder-Receiver . |
| August 30, 2006 |
September 05, 2006 |
Read Bass et al.: "Preface", "Reader's Guide", and Part One "Envisioning
Architecture" |
| September 06, 2006 |
September 13, 2006 |
Read Buschmann et al.: ch 4 "Idioms" and 5 "Pattern Systems", and start
reading ch. 2 "Architectural Patterns". |
| September 14, 2006 |
September 20, 2006 |
Finish reading Buschmann et al. ch. 2. Identify a topic architectural
pattern for Project 1. |
| September 21, 2006 |
October 03, 2006 |
Work on Project 1. |
| |
October 03, 2006 |
Project 1 due. |
| October 04, 2006 |
October 17, 2006 |
Read Bass et al.: Preface - Ch. 9, p. 261 - 12 in preparation for Project
2, which will involve performing an ATAM and a CBAM. Identify a system
for which you will perform an ATAM and a CBAM. |
| Octorber 18, 2007 |
November 07, 2006 |
Work on Project 2. |
| |
November 07, 2006 |
Project 2 due. |
| November 01, 2006 |
November 07, 2006 |
Form your Project 3 team (two people, unless you receive permission from
the professor to have a three-person team), describe your software architecture
project at a high level, and publish your team composition and project
description to the course listserv. |
| November 08, 2006 |
December 06, 2006 |
Work on Project 3 . |
| |
December 06, 2006 |
Project 3 due. |
| |
December 06, 2006 |
Course ends. Firm date. |
Notes:
tbd
Back to Top
Schedule of Macon Face-to-face
Class Meetings:
attendance is 100% optional.
Date |
| August 23, 2006 |
| August 30, 2006 |
| September 06, 2006 |
| September 13, 2006 |
| September 20, 2006 |
| September 27, 2006 |
| October 04, 2006 |
| October 11, 2006 |
| October 18, 2006 |
| October 25, 2006 |
| November 01, 2006 |
| November 08, 2006 |
| November 15, 2006 |
| THANKSGIVING - NO CLASS MEETING November 22, 2006 |
| November 29, 2006 |
| December 06, 2006 |
| December 13, 2006 |
All Macon face-to-face meetings are from 6:00 pm to 9:00 pm.
Back to Top
List of all courses.
Contact Information
- My Name: Dr. Paul E. MacNeil (Atlanta, Macon and DL Section)
- My E-mail: macneil_pe@mercer.edu
.
- My Office Phone: 478 301-2185
- My FAX: 478 301-2732
- US Mail:
- Dr. Paul E. MacNeil
- School of Engineering
- Mercer University
- 1400 Coleman Ave.
- Macon, GA 31207
Back to Top
Important Additional Information:
Students requiring accommodations for a disability should inform the instructor
at the close of the first class meeting or as soon as possible. If you
are not registered with Disability Services, the instructor will refer you
to the Disability Support Services office for consultation regarding documentation
of your disability and eligibility for accommodations under the ADA/504. In
order to receive accommodations, eligible students must provide each instructor
with a “Faculty Accommodation Form” from Disability Services. Students
must return the completed and signed form to the Disability Services Coordinator
on the 3rd floor of the Connell Student Center. Students with a documented
disability who do not wish to use academic accommodations are also strongly
encouraged to register with Disability Services and complete a Faculty Accommodation
Form each semester. For further information, please contact Carole Burrowbridge,
Disability Services Coordinator, at 301-2778 or visit the website at http://www.mercer.edu/stu_support/swd.htm
Accreditation: Mercer University is accredited by SACS.
revised
June 5, 2008 1:20 PM
Eastern Time