SE 340 Software Architecture

Syllabus Lecture Notes Assignments Exams

 

Fall 2009
Syllabus

Location:

The class meets in ECS 131 from 1:00pm until 2:15pm on Tuesday and Thursday.

Instructor:

Dr. Yi Liu
Department of EE &CS
Office: ECS 119
Office phone: (605) 688-5280
E-mail: yi.liu@sdstate.edu
Web page:http://www.engineering.sdstate.edu/~liuy/courses/SE340

Office hours:

Monday and Wednesday 2-4:30pm, or by appointment

Textbook:

  • Qian, K., Fu, X., Tao, L., Xu, C., and Diaz-Herrera, J. Software Architecture and Design Illuminated. Jones and Bartlett Publishers, 2005. ISBN-10: 0-7637-5420-X. ISBN-13: 978-0-7637-5420-4.

References:

  • Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995. ISBN: 0-201-63361-2.
  • Dattatri, K. C++: Effective Object-Oriented Software Construction. Prentice Hall, 2000. ISBN: 0-13-086760-1.
    Or, any good reference books on C++.

Course Description:

The fundamental building blocks and patterns for construction of software systems are examined. The course covers the fundamental elements of software systems in the context of the design process. The conceptual, module interconnection and execution architecture of software are also discussed. The conceptual architecture describes the system in terms of its major design elements and the relationships among them.

Prerequisite:

Prerequisite for this course is SE 320.

Course Goals:

The primary goals of this course are to introduce the students to the principles and methods of software architecture, which focus on architectural patterns, design patterns and software frameworks, and to increase their abilities to understand and apply these principles and methods elegantly in the design and construction software systems.

Course Outcomes:

A student who successfully completes this course should be able to:

  • ABET outcome c: Students will demonstrate an ability to design a software system to meet desired needs.
    • Design the structural organization of a software system by applying software architecture principles, fundamental architectural pattern.
    • Refine the design of subsystems/components/modules by applying principles, methodologies and techniques, such as software design patterns.
    • Effectively apply data abstraction, abstract interfaces, O-O technologies such as inheritance and polymorphism.
    • Understand how to construct and use architecture frameworks practically.
  • ABET outcome g: Students will demonstrate the ability to identify, formulate, and solve engineering problems engineering problems that can be resolved by developing software systems.
    • Identify the design decisions of the software system that needs to be modularized.
    • Identify the interfaces for the modules/components.
    • Implement the software system by following the design and using appropriate programming languages, such as C++ and Java.
  • ABET outcome g: Students will demonstrate an ability to communicate effectively in both written and oral form.
    • Explain selected architecture patterns and design patterns.
    • Document the work to an acceptable standard.
  • ABET outcome k: Students will demonstrate an ability to use the techniques, skills, and modern software tools necessary for engineering practice.
    • Use UML diagrams for supporting design documents.

Course Topics:

  • Software design principles
  • Object-oriented analysis and design
  • Software architectural patterns
  • Software design patterns
  • Frameworks

Grading:

  • The grading scale is A[90..100],B[80..89],C[70..79],D[60,69],and F[0..59].
  • Credit toward the semester grade will be allocated to each of the components as follows:
Assignments: 40%
Presentation: 10%
Class Participation: 10%
Exams: 40%
  • Students who wish to discontinue the class must officially drop the course; otherwise a grade of zero will be recorded for all missed assignments and tests used to calculate the final course grade.

Assignments:

  • All students are expected to complete their assignments by their due schedule. If the assignment is submitted late, a penalty of 10 percent of that assignment's grade will be assessed for each day it is late. A homework assignment will NOT be accepted after graded papers have been returned, after a solution has been distributed, or after the final exam.
  • If an assignment is missed for any reason, then a grade of zero will be recorded for that assignment grade.
  • All the assignments will be individual assignments.

Examinations:

  • There will be 2 examinations: one mid-term exam and one final exam.
  • The mid-term exam weights 15%. The final exam weights 25%.
  • Mid-term Exam date: Mid-October
  • Final Exam date: 15 December (Tuesday) 4pm-5:40pm

    If you cannot take an examination at the scheduled time because of an illness or other special circumstances, please notify the instructor in advance. Without advance notification, it may not be possible to give a make-up examination. All make-up exams must be taken within three days within after the date on which the scheduled exam is given, or a zero grade will be given.

Attendance:

Attendance is strongly recommended. If a student misses a class without a valid excuse, the student should not expect individualized instructions over what was missed.

Cheating and Plagiarism Policy

Unless otherwise indicated, any homework assignment given in this class will be an individual assignment. Homework assignments must represent the individual effort of the student, without assistance from others. Cheating and copying on quizzes and exams are NOT allowed. Plagiarism on programming assignments will NOT be tolerated. All students involved in assignments handed in that indicate copying or cheating will be given a zero grade for that work. Anyone caught cheating on an exam will be given a zero grade for that exam. In addition, violation of the academic policy could result in disciplinary action by the University.

Student Disabilities Services Statement:

It is the responsibility of any student with a disability who requests a reasonable accommodation to contact the Office of Disability Services (Wintrode 125, 688-4504), as soon as possible. The instructor must receive permission from the Office of Disability Services in order for any special accommodations to be given.

Freedom in learning:

Students are responsible for learning the content of any course of study in which they are enrolled. Under Board of Regents and University policy, student academic performance shall be evaluated solely on an academic basis and students should be free to take reasoned exception to the data or views offered in any course of study. Students who believe that an academic evaluation is unrelated to academic standards but is related instead to judgment of their personal opinion or conduct should first contact the instructor of the course. If the student remains unsatisfied, the student may contact the department head and/or dean of the college which offers the class to initiate a review of the evaluation.