Class Notes

Grades

Assignments

Solutions

Presentation

Announcements

Important Links




Csci 501 (Fall 2008):  Software Architecture 

Instructor : Dr. Hassan Reza
Email : reza@aero.und.edu
Phone: 701.777.4127
Office hours :  1:00 to 2:00  On MWF or by appointment
Class meets :  2:00 to 2:50 On MWF, 238 Streibel Hall
Office : 213 Streibel Hall
Credit hours : 3

Descriptions: As the size and complexity of software systems increase, the design and specification of overall system structure or Software Architecture become more significant issues than the choice of algorithms and data structures of computation. Well defined software architecture can be used as a  blueprint for composition and integration of reusable components.  Formal models that precisely document these blueprints (i.e., software and system architecture) should provide the starting point from which nonfunctional features of a system can be evaluated.

Prerequisites: Students should have exposure to basic software engineering concepts and practice as taught in Csci463.

Course Objectives: (3-0) Cr. Prereq: Csci463. The objective of this course is to mange the complexity associated with today complex software and system products. More specifically, software architecture and modelling  attempt to simplify the development of new and inherently complex software products used in  Health Care, Aerospace and manufacturing industries.

The course, among other things, will cover the following areas:

  • Modeling and design of software at the architectural level.
  • Architectural styles,  patterns, and abstractions.
  • Methods and techniques  to evalute and select software architecture.
  • Architectural description languages (ADLs).
  • Advanced topics may include:
    •  Model-based software Engineering.
    • An Architectural Analysis and Description Language (AADL) used in avionic systems together with its companion  tool and environmental support,  known as OSATE (Open Source Architectural Tool Environment) developed  by SEI-CMU.
Required Textbook:
  • Len Base, Paul Clements, Rick Kazman. Software Architecture in Practice. Second Edition, Addison Wesley, 2003 .
References :
  • Mary Shaw and David Garlan. Software Architecture: Perspective on an Emerging Discipline, Prentice -Hall, 1996;
  • Paul Clements, Rick Kazman, and Mark Klein. Evaluating Software Architecture Methods and Case Studies. Addison Wesley, 2002 ;
  • The Archiecture Analysis & Design Language (AADL): An Introduction, by Peter H. Feiler, et al. CMU/SEI-2006-TN-011;

Supplemental Readings:
IEEE/ACM Journals and Conference proceeding articles related to the above subjects will be provided to the students. To assist students, the lecture slides will be available on-line.

Assessment Criteria:
A variety of methods will be utilized to assist and evaluate progress in the course. The assessment criteria include (at least) the following elements:

  1. Assignments (10%)
  2. Quizzes (5%)
  3. Exams (50%)
  4. Research paper and Presentations (35%)
1. Assignments: There will be an assignment due each (or every other week) week. An assignment can be homework or a project. Homework are paper and pencil exercises. A project gives a student a chance to study an aspect of architecture in more depth.

2. Quizzes: Each class ends with a short quiz. Each quiz covers material from the current and/or previous session(s). The goal of the quizzes is to keep students abreast of the material covered in class. In recognition of the fact that some students have occasional but unavoidable work and family commitments that preclude attendance at every class, each student may drop three quizzes prior to final grade calculations.

3. Exams: Two open book exams are conducted to assess student understanding of the fundamental in software architecture theme and concepts:

  • Mid-term (25%) on October 17, 2008
  • Final (25%)  at 3:15 pm on December 17, 2008

4. Research Paper and Presentations: Topics will be assigned randomly. The research paper is an individual work. Each student is free to pick a research topic from topics related to software architecture and/or model-based software engineering. She (he) will research her (his) topic, write a high quality paper on it and give a quality presentation on it.

5. Participation & Class Attendance:
Regular classroom attendance is required, but does not count as participation. Active participation in class involves preparing ahead of time, asking intelligent questions that the book does not answer, answering questions in class, and participating in classroom discussions. If you know you will miss a class ahead of time, email the instructor. Make friends with your classmates so they will be willing to share notes, which problems were assigned, etc., for when emergencies arise and you do miss class. 

6. Civility in the Classroom:
Students are expected to assist in maintaining a classroom environment, which is conducive to learning. Please do not bring food to the classroom and always turn your cell phone (ringer) off if you have to have it with you.

7. Disability Conditions:
If you have emergency medical information to share with me, if you need special arrangements in case the building must be evacuated, or if you need accommodations in this course because of a disability, please make an appointment with me. My office location and hours are at the top of this syllabus. If you plan to request disability accommodations, you are expected to register with the Disability Support Services (DSS) office (190 McCannel Hall, 777-3425 v/tty).

8. Drops & Withdrawals:
Students should not assume that the instructor will administratively drop the student for non-attendance. Withdrawal from the course is the responsibility of the student. Should a student decide to withdraw from the course, simply not attending class sessions, rather than formally withdrawing from the course, may result in an 'F' on the student's transcript.

PLAGIARISM, PROFESSIONAL ETHICS & PERSONAL INTEGRITY 
The UND academic policy clearly states an expectation that each student submit his/her own work do otherwise, that is, to submit anther's efforts as one's own, is at its least plagiarism, and at its most unethical and without integrity. Indeed, it is a matter of professional ethics and personal integrity to graciously accept accolades for a job well done, as well as to publicly acknowledge those to whom partial credit is owed.
Those found to be cheating on exams, assignments, and Project will receive an "F" for the COURSE, and the matter will be discussed with the appropriate Dean and/or Chair. I do not‚ anticipate any problem here.

Disclaimer:
This syllabus is intended to suggest the outline of the course; it is not absolute. Changes to the syllabus, should they occur, will be announced in class.



Last Update  August 18, 2008