CS 380: Analysis and Design of Software Systems
Spring 2009
Syllabus

 

Course description: This 3 credit course introduces students to specific techniques that are widely used in the analysis and design of software systems.  Traditional techniques will be reviewed and current methodologies will be studied.  Emphasis is placed on standard notations used to document software requirements and designs.  The student will learn and practice methods appropriate for both object-oriented and procedural systems.

 

Pre-requisites: CS 300 (Large-Scale Software Development)

 

Professor: Rebecca Bates

Computer Science

Wissink Hall 231

Phone: 507-389-5587

Fax: 507-389-6376

Email: bates@mnsu.edu

 


Course Website

http://bates.cs.mnsu.edu/cs380    Check the website regularly for announcements and updates. 


Course Hours and Location
Lectures: M 11-11:50am TR C310
T, Th 11-11:50am TR C314

 
Office Hours
Monday Tuesday Wednesday Thursday Friday
1-3 1-3 by appointment 2-4 10-12

Other times by appointment. 

 

If things that are useful for the entire class come up, they will be posted on the announcement section of the class webpage so please check it regularly.


Course Materials

Required Text: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd ed., Craig Larman, Prentice Hall, 2005, ISBN 0-13-158906-2.

Recommended Text: Learning UML 2.0, Russ Miles & Kim Hamilton, O'Reilly, 2006, ISBN 0-596-00982-8.

Grading
Homework and Lab work: 35%
2 Midterm Exams: 40%        
Final exam: 25%

Important Dates
Midterm 1: Thursday, February 19
Midterm 2: Thursday, April 2
Final: Thursday, May 7, 10:15-12:15pm

Student Outcomes

Students who complete this course will be able to:

  1. Describe the role of analysis and design in the software engineering lifecycle.
  2. Describe the purpose of models and artifacts.
  3. Develop object-oriented designs by applying established design principles.
  4. Develop and document conceptual models, use cases, collaborations, and system states.
  5. Evaluate the quality of design models.
  6. Describe the issues with mapping designs to code.
  7. Describe the role and influence of design patterns and frameworks in software design.

Tentative Topic List

  1. Requirements Analysis (~1.5-2 wks)
  2. Use Cases (~1-1.5 wks)
  3. Modeling with UML (~1.5-2 wks)
  4. Class Design (~1.5-2 wks)
  5. Collaborations, Event Sequencing and States (~1.5-2 wks)
  6. Design Patterns (~2-3 wks)
  7. Design Documentation (~1.5-2 wks)
  8. Post-Design Issues (~1-1.5 wks)

Course Tools

 

Homework and Exams
    The homework for this course will include problems related to readings from the book and any other assigned readings as well as programming and small group projects.

    Your exams will be based on information gained through both homework and class experiences as well as material covered in lectures and assigned readings. 

 

Expectations of Students

Disabilities
Students who may need accommodations for a disability can make an appointment to see me during my office hours to discuss your needs.


Academic Honesty

By staying enrolled in this class, you agree to abide by the University's Policy for Academic Honesty which appears in the Student Handbook under the section heading "Academic Honesty". If you have questions about the policy please contact me, your advisor, or another faculty member PRIOR to engaging in a "dishonest" act. Failure to abide and respect the Academic Honesty Policy will result in severe penalties as allowed by the University. 


Collaboration and Make-up Policies

Grading

Course grades will be assigned based on the above distribution.

Collaboration

Grading discrepancies

Make-ups, Incompletes, etc.