· Tuesdays, Starting Tuesday, June 7, 5:30 - 9 PM (times to be adjusted as per class preference), through August 16, skipping only June 14. Details will be on the class schedule.
· At Beckman-Coulter, 5350 Lakeview Parkway South Drive, Indianapolis, IN 46268
Introduction
The skills and concepts you will learn in this
course will provide the large-scale frame of reference for doing detailed design
work. Since a significant number of software engineers also become software
designer/architects, the course also provides specific skills for you to grow into this role
in a software development organization. For example, businesses are very
focused on getting the systematic savings of an integrated product line, where
much of the development is shared across several products. How do you make
that happen? Or, what does an architect do in interactions with clients, which
lead to providing designs to satisfy their long-term needs?
The official course description reads: In this course, students are exposed to key software architecture principles, practices, technologies, and artifacts. Software architecture is an abstraction of system details that helps in managing the inherent complexity of software systems development. While the course focuses on the architecture design and management of software product lines, other topics include building on components and make/buy decisions, quality attribute optimization, alternative architectural styles, and architecture description languages (ADL). Students explore how software architecture provides opportunities for early evaluation of user needs, analysis of requirements and design, and prediction of system properties.
Prerequisite
Graduate standing or permission of instructor
Email: chenowet@rose-hulman.edu
Phone(s): 812-877-8974 (office) 937-657-3885 (cell)
RHIT Office: Moench Hall, Room F220
Software Architecture in Practice, Second Ed,
by Len Bass, Paul Clements, and Rick Kazman
(continued from CSSE 574, where this text
was introduced).
AddisonWesley, 2003, ISBN 0-321-15495-9.
Software Product Lines,
by Paul Clements and Linda Northrop
Addison Wesley, 2001, ISBN 0-201-70332-7.
Students who successfully complete this course should be able to:
Course Evaluation and Feedback
Please feel free to provide
feedback about the course at any time.
Grading
Examinations
(2) 30%
Project
Deliverables 50%
Project Mtgs./Class Participation 20%
Additional Information
This course is about the large-scale design of software
systems. A major goal is to provide
practice using state-of-the-art tactics with tools and a structure which leads
to long-term efficiency and effectiveness of development. The students typically work on a project
relevant to their work or otherwise of interest to them. Students may take on roles on others'
systems, such as helping to detail a design, serving as a stakeholder, or
participating in testing.
Expectations
Students will be expected to attend and participate in class. Students will be required to use the course website and the course site on Angel to obtain relevant information, and interact with instructor and other students. Announcements and assignments will be conveyed via email and/or posted on the schedule on the website. Students may be expected to work on some assignments with other team members.
Assignments
Project assignments will be made each week. Unless otherwise requested, please post on Angel your journals with descriptions of what you did and code examples. Projects are necessary instruments for tracking progress of students. A typical student will work approximately 9 hours outside of lectures each week on this course (depending on background). This is a demanding course covering a great deal of material -- please avoid falling behind on the assignments. While this course is demanding, it is also rewarding for those that want strong understanding of software requires as a discipline.
Academic Integrity
CSSE Honesty Policy (see http://www.cs.rose-hulman.edu/index.php/courses-mainmenu-28/82-honesty-policy.html) governs class and performance. Joint study is allowed (even encouraged) on some items as expressed by the instructor; however, each student must produce his or her solutions individually. Students must not collaborate on tests or homework that is passed in unless directed by the instructor.
Attendance Policy
Please contact the instructor in advance if you are going to be absent from class. While work commitments and emergencies can constitute a legitimate reason for missing a class, attendance is otherwise mandatory. If you cannot make it to class, you are still responsible for all materials covered in class as well as all announcements.
Technical Requirements
You should have a laptop to bring to class and to use in completing assignments. Except for software that you need to develop systems for your own organization, we require only email, MS Word, PowerPoint and PDF readers.
Course Evaluation and
Feedback
Please feel free to provide me feedback about the course at any time.I also recommend that you keep a "course evaluation log" somewhere to make notes that you can use for the course evaluation at both midterm and the end of the course.
Course Grade Division
90-100 |
A |
85- 89 |
B+ |
80- 84 |
B |
75- 79 |
C+ |
70- 74 |
C |
65- 69 |
D+ |
60- 64 |
D |
0- 59 |
F |
Ethics and
Professional Practice
You are expected to act honestly and professionally in this course at all times, in a manner consistent with the school’s honor code.
Late Submissions
Late assignments may receive a deduction (or not be accepted at all), depending on the circumstances and the degree of lateness.
Exam Policy
Exams will be take home, open book and notes. No exams will be “dropped”. Giving a makeup exam for an unexcused absence is at the discretion of the instructor. Any requests for regrading must be made in writing by the beginning of the next class period after the exams are returned.
Syllabus developed by Steve Chenoweth.