CSI3372: Software Engineering II (Fall 2009)


Walking on water and developing software from a specification are easy if both are frozen. --Edward V. Berard


Important Notes:

  • [8/23/09] Welcome to CSI3372 Fall 2009!
  • [8/23/09] Lecture slides, assignments, and other course materials will be availble on Blackboard.

General Information

Catalog Description: Analysis, Design, and Project Management. Applying a development design process to produce high quality software. Topics include: identifying user requirements; performing problem analysis to produce process oriented documentation; using UML notation to create design models and diagrams; investigating and applying design patterns; project management; configuration management. Completing software project applying development process using an object-oriented language.

Pre-requisite: CSI 3471. So, I assume that you have already encountered UML, design patterns, Java, and some basic strategies for implementing a UML model.

Goal: The course will focus on object-oriented (OO) requirements and design principles, techniques, and modeling notations associated with team-based development of complex software systems. Students will become familiar with OO modeling techniques using the Unified Modeling Language (UML), agile ("lightweight") processes, software architectures, and design patterns. While there is a significant emphasis on modeling, students will be required to transform models to code implementations in class assignment and small group projects.

Objectives:  At the end of the course, students should be able to

  • Analyze system requirements and describe them as use cases
  • Model static system characteristics by constructing UML domain models
  • Model dynamic system characteristics by constructing UML sequence diagrams, collaboration diagrams, and state charts
  • Apply an object-oriented development methodology, such as the UP, to implement a small system
  • Implement a small system based on its associated UML models using an object-oriented language

 

Each student will demonstrate his/her ability to do above objective items through assignments, exams, and presentations, as needed, throughout the semester.

When and Where:

Time: Mon, Wed, Fri 10:10 – 11:00am

Location: NVCC 4126

Instructor: Dr. Eunjee Song

Office Hours: Mon, Wed, Fri 11:00am-noon, Thu 2:00-3:00pm

Office: Rogers 220.17

E-mail: Eunjee_Song(AT)baylor.edu

Tel: 254.710.1498

Teaching Assistants: Ms. Lei Meng (E-mail: Lei_Meng(AT)baylor.edu)  

Required Textbook

  • Applying The UML and Patterns by Craig Larman, third edition, Prentice Hall, 2004.
  • Head First Design Patterns by E. Freeman and E. Freeman, O’Reilly, 2004.

Supplemental Textbook

  • Core Java, Volume I: Fundamentals (8th ed.), Cay Horstmann, Prentice Hall, 2008.

 

NOTE: From time to time, I will post some online references on the course schedule page in Blackboard. Certainly the Java documentation from Sun would be helpful.

 


Topics

NOTE: The following is a tentative list of course topics (Subject to change, not in exact order)

 

  • Development lifecycle
  • The Unified Modeling Language (UML)
  • The UP (Unified Process)
  • Requirements Analysis (Use cases)
  • Workflows and business processes modeling (Activity diagrams)
  • Requirements modeling before detailed design
    • Modeling structure - Requirements class diagrams
    • Modeling behavior - System sequence diagrams & Operation contracts
  • Software architectural styles and patterns
    • Modeling software architectures using the UML
    • Architectural patterns
  • Object-oriented design
    • Modeling structure – Design class diagrams
    • Modeling behavior - Sequence diagrams, Statecharts
  • Design patterns
  • Implementation issues and strategies

Schedule:  The class schedule will be posted on the schedule page of Blackboard. The schedule is updated on a regular basis, so use the "current” schedule information (rather than a printed copy) to determine what the class is doing.


Course Requirements

Design Studios: In the Design Studios students will work on a development problem. The studios will give students the opportunity to apply the concepts and techniques covered in the lectures to problems.

  • Design Studio 1-2: Requirements modeling
  • Design Studio 3: Architectural modeling
  • Design Studio 4-6: OO design modeling

Homework Assignments: Assignments will involve written/modeling work and programming. You lose 25% of the grade for each extra day. After 4 days, you won't get any credit for the assignment unless you obtain prior permission from the instructor. Tentative dates for the assignments are being worked out and will be made available soon. (Please regularly check out the course schedule page on Blackboard.)

Modeling/Programming Project: You will work in small teams, each team responsible for their own work. There will be several deliverables. Everything will not be due on the same day. Refer to the project page on Blackboard for more detail.

The small print: Requirements can change anytime during the process!

Quizzes: On-line quizzes are scheduled ones (i.e., each quiz has its due date). Pop quizzes are not announced, though. Both will cover assigned reading or topics already covered in class. (NOTE: The instructor may ask questions about readings that have not been specifically discussed in class.)

Reading Assignments / Reviews: Students are required to complete reading the listed chapters by the end of the week indicated. Not all the materials will be covered in depth in the class, but students will be tested on the contents of these chapters. Review problems will be given to help and test several selected chapters of reading assignments. Refer to the course schedule page posted on Blackboard for more detail.

Notebook: You will keep a ring binder containing all of your graded assignments, handouts, and graded quizzes. At several points during the semester I will "spot check" your notebook and at the end of the semester you will submit the notebook. Your notebook grade will be based on its "completeness" and "organization".


Grading Information: Marks will be allocated as follows:

  • 25% - Homework assignments
  • 20% - Project
  •   5% - Quizzes & review problems on reading assignments (on-line & pop)
  •   5% - Notebook, class/design studio participation, and attendance
  • 20% - Two Midterm Exams
  • 25% - Final Exam (comprehensive)

Other Policies

Email: Read your Baylor email daily. This is a major means of communication between the instructor and the class.

Your Responsibility: You are responsible for:

  • knowing what goes on during class; if you miss a class, talk to someone who did attend or ask the instructor
  • "tracking down" a handout if you miss class; old handouts will not be brought to class
  • knowing the class schedule -- in particular, what assignments are due; the class schedule is posted on a web page (see above) and is updated on a regular basis -- so, use the "current web page" (rather than a printed copy) to determine what the class is doing
  • reading what is associated with a particular topic; explicit reading assignments will not be given in class (see the class schedule to determine the topic of the day and its associated reading); NOTE: this is important with respect to quizzes

Attendance: Attendance is expected. According to the Baylor catalog, if you miss 25% or more classes it is an automatic F. Also, an absence is an absence, whether or not it is excused. I do not distinguish between excused and unexcused absences. An absence during the group project will count double.

Academic Integrity: If you turn in work that was done by someone else and present it as your own, you are cheating. This includes any individual assignment. If the instructor has reason to believe that you are cheating -- or helping someone else cheat -- you will receive an incomplete and will be referred to the honor council. If you have a tutor, the tutor cannot help you do assigned work. The tutor can explain concepts that are related to assignments, but the tutor cannot "walk you through a solution."

Computing Resources: You will receive a hardcopy of the rules governing the use of computing resources on campus.

Learning Accommodation: If you need some form of learning accommodation, then please inform me during our first class week. The Baylor Office of Access and Learning Accommodation (OALA) notes that you are properly the responsible party, and must obtain all appropriate documentation and information regarding needed accommodations from the OALA. The OALA phone number is (254) 710-3605 and the office is in Paul L. Foster Success Center - Sid Richardson - Room 189.


Links to Related Materials

More links will be added to this section as the need arises.

Copyright © 2006-2009 Eunjee Song, Computer Science Department, Baylor University, with some content taken from syllabi by Dr. Paul Grabow.

Last major modification: August 23, 2009