SWE 6653/900 (online)

advertisement
Southern Polytechnic State University
School of Computing and Software Engineering
SWE 6653 – Software Architecture
Course Syllabus and General Information
Instructor: Dr. Hassan Pournaghshband
Voicemail: 678-915-4282
Email: hpournag@spsu.edu
Website: educate.spsu.edu/hpournag
Office: J370
Office Hours: MW: 11:00AM-3:00PM, TTh: 3:00-6:00PM,
and by appointment
TEXTBOOK: Required: Introduction to Software Engineering Design:
Processes, Principles, and Patterns with UML2 by Christopher Fox
COURSE DESCRIPTION:
This course examines the principles and methods of the architectural design of
complex, large-scale software systems. Macro-level system architecture with an
emphasis on approaches to interconnection and distribution of both current and
emerging architectural systems (e.g., Model-View-Controller (MVC), serviceoriented, agent-oriented) as well as micro-level architecture including patterns,
frameworks, and component-based software engineering are covered in detail.
 COURSE OBJECTIVES:
The objective of this course is to first cover the general topics related to software
architecture and design. Then cover both macro-level architecture and micro-level
architecture emphasizing on patterns, component-based software engineering, and
also architectural systems such as agent-oriented, service-oriented and model-view
controller. The topics covered are:

What is software architecture and design,






What is software product design,
What are product design analysis and product design resolution
What is software engineering design,
What are engineering design analysis and engineering design resolution,
What is architectural design resolution,
What are patterns and their role in software design.
 COURSE OUTCOMES
Upon completion of this course, students will be able to:


Describe the concept of software architecture and its application.


Describe the role and advantage of design patterns in software engineering.
Distinguish between architectural styles and describe their advantages and
disadvantages.
Evaluate the suitability of a software architecture (existing or proposed) for a
given task.
 GRADING:
1. Mid-Term Exam
30%
2. Final Exam
30%
4. Homework Assignments
30%
4. Research Paper
10%
Total
100%
Grading Scale: 90 and above: A, 80-89: B, 70-79: C, and below 70: F.
EXAMS: Final Exam will be cumulative.
HOMEWORK ASSIGNMENTS:
There will be several homework assignments. Carefully follow the guidelines for each
assignment and submit it by due date.
RESEARCH PAPER: All students are required to prepare a paper covering
issues related to software architecture and design. Carefully follow the guidelines for
research paper preparation and submit your proposal and the final paper by due date.
DISCUSSION PARTICIPATION: All students are encouraged to
participate in weekly class discussions. I’ll monitor your discussions and will give you
my feedback when necessary.

STUDENTS WITH DISABILITIES who believe that they may need
accommodations in this class are encouraged to contact the counselor working with
disabilities at (678) 915-7244 as soon as possible to better ensure that such
accommodations are implemented in a timely fashion. For more information, visit
http://www.spsu.edu/attic/Dis_Svcs.html.

COLLABORATION AND PLAGIARISM: Group discussion and
study are examples of collaboration. Everything must be done individually, and
may not be done together with anybody else. Copying another’s work will be
considered cheating, and the minimum penalty for such academic dishonesty is a
mark of zero or a failing grade to all involved parties, according to university
policy. If you are not sure you understand this policy, please seek clarification
from the professor. The following links are of particular help in understanding
academic dishonesty and plagiarism (courtesy Professors Brown, Harbort,
Halstead-Nussloch, and Murphy):
http://www.spsu.edu/cs/faculty/bbrown/papers/conduct.html (Academic
Conduct)
http://www.spsu.edu/cs/faculty/bbrown/papers/gshpla.html (Plagiarism and
References)
 OTHER CLASS POLICIES:

Include your name, contact information (email and phone numbers),
class and section, and professor name with all submissions. You must
submit them electronically in GeorgiaD2L
 WHAT YOU WILL NEED: You will need a modern computer with a
current Web browser such as Internet Explorer 6, Netscape 7.1, Mozilla, Firefox or
Opera. You will need continuous Internet access throughout the term because
frequent participation is expected and assignments are due every week. If your
Internet access is not reliable or you will be traveling, be sure you have a "backup
plan" for Internet access. "Technical difficulties" are not a suitable excuse for late or
incomplete work. A fast Internet connection will improve your online experience, but
you should not get a high-speed connection specifically for this course; a dial-up
modem will be sufficient. (See below if you download Open Office.) You will need a
word processing program that will let you create files that can be opened with
Microsoft Word. This does not mean you need to buy Microsoft Word. You might
want to do that because, as a student, you can get substantial academic discounts on
Microsoft products. However, there are alternatives. One such alternative is Open
Office, which is available free of any charge from http://www.openoffice.org/. Open
Office is a 64MB download, so if you decide to use this software, arrange to get it
using a fast connection. Be sure you save documents you create for course
assignments in .doc format. You will need the Adobe Reader or a similar program
that will open documents in PDF format. You can download the Adobe Reader,
which is free, directly from Adobe at
http://www.adobe.com/products/acrobat/readstep2.html. You do not need to be able
to create PDF documents.
SWE 6653 – Software Architecture
Topic Outline
NOTE: You will also find modules corresponding to each of the weeks in the
online course materials, with a document that provides guidance on how to use
the materials and what to do. Please note that here weeks 1 through 16 refer to
those 16 weeks that school and classes are in session.
Week 1:
Introduction to the course and Software Architecture
Week 2:
Overview of Software Architecture
Week 3:
Software Product Design
Week 4:
Use Cases
Week 5:
Software Engineering Design Analysis
Week 6:
Software Engineering Design Resolution
Week 7:
MID-TERM EXAM
Week 8:
Architectural Design
Week 9:
Architectural Design Resolution
Week 10:
Static Mid-Level OO Design
Week 11:
Dynamic Mid-Level OO Design
Week 12:
Dynamic Mid-Level State-Based Design
Week 13:
Low-Level Design
Week 14:
Architectural Styles
Week 15:
Design Reuse
Course Review and Conclusion
Week 16:
FINAL EXAM
Download