CS 442/542 Software Engineering Spring 2005

Mon&Wed 5:30-6:45pm (CH 430)

 

Prerequisite: CS303 & CS350 with grad

Office Hour: Mon&Wed 2:00-4:00pm es of C or better

Instructor: Wei Zhao (CH154); after class is also a good time; or by appointment.

 

Text Book: Stephen R. Schach, Object-Oriented & Classical Software Engineering, 6th ed), McGraw Hill,

Text book URL: http://auth.mhhe.com/business/mis/schach_jump/index.mhtml.

There are some online quizzes of each chapter http://www.mhhe.com/engcs/compsci/schach5/quizzes.mhtml. 

 

Home work:

Home work will be based on selected exercises of each chapter. Undergraduate and Master students will be given slightly different exercises. Master students will be given more research oriented reading assignments. There will be 3 writing home work. The home work does not include the term project documents.

 

Examinations:

There are two exams: mid-term exam and the final exam. The time of the exams is indicated on the schedule. Those are close-book exams. Questions include multiple choices, filling-in blanks, and short answers. You may also be requested to write up code fragments. Master students will have slightly different questions.

 

Term projects (Master student must choose the second topic; undergraduate students can choose either one):

Project topic one: Ophelia’s Oasis in the Amlet Desert (See Appendix A for project description)

Objectives:

  1. Prepare yourself as a software consultant to develop enterprise applications.
  2. Hands-on experience of well-guided processes for software development

 

Project topic two: Business Process Model Transformer

Develop a transformation system that transforms business process models represented in UML Activity Diagram into run-time implementations represented in BPEL. Read carefully section 3 of this paper for the algorithm of the transformation system. Read other sections for the general background information.

Objectives:

  1. Prepare yourself as a technical engineer and/or a software engineering researcher to develop IT infrastructure that helps to advance software engineering itself.
  2. Hands-on experience of  well-guided processes of software development
  3. Getting involved with cutting-edge research topics such as Business Process Modeling, Model-Driven Architecture, and Model Transformations

 

We will start the term project after the mid-term exam. It will last until the final exam. There are several stages to go through as indicated in the schedule table. Appropriate documents will be requested during the course of the term project after we finish the study of the corresponding chapters.

 

Grading:

Mid-term exam: 25%

Final-exam: 30 %         

Project: 30%

            Demo and implementations: 15%

            Project documents: 10%

            Project final presentation: 5%

Individual student is credited according to the amount of effort he/she has contributed to the project. The project document should clearly indicate individual’s contribution.

Homework: 15%

Master students get 10% for the homework and get 5% for the reading assignments.

            Undergraduate students get 10% for the homework and get 5% for the two department-wide exams.

 

 

Policy:

  1. No makeup exams.
  2. No late home work assignment and project documents will be accepted. If you can not attend the class to submit the home work at the due date, please email me the files before the due date. All submitted materials are processed by regular word processors. No hand-writing will be accepted.
  3. Any single incident of copying or duplication of assignment and exams will result in 0 score for that assignment and exam. A subsequent occurrence of academic dishonesty will result in the grade of F for the course.

 

 

Tentative Schedule:

(copyright notice: the power point lecture slides on this site are adapted from Schach’s original slides)

Date

Lecture

Chapter

Miscellaneous

Jan 5, Wed

1

1

Lecture 1.ppt

Jan 5, Wed

 

 

Pre-class exam: 7:00 – 8:00 PM  (CH430)

Jan 6, Thu

 

 

Pre-class exam: 7:00 – 8:00 PM  (CH430)

Jan 7, Fri

 

 

Pre-class exam: 11:00 AM12:00 Noon  (CH430)

Jan 10, Mon

2

2

Lecture2.ppt

Jan 12, Wed

3

2

Lecture3.ppt

Homework 1:  1.1, 1.4, 1.6, 1.8, 2.4, 2.6, 2.8, 2.10

Reading assignment: C. Larman, V. R. Basili, “Interative and Incremental Development: A Brief Histroy,” IEEE Computer 36, pp. 47-56 [pdf]

Jan 17, Mon

 

 

Martin Luther King, Jr. Holiday

Jan 19, Wed

4

3

Lecture4.ppt

Homework 1 due

Jan 24, Mon

5

3

Lecture5.ppt

Homework 1 return. Homework 1 solution

Jan 26, Wed

6

4

Lecture6.ppt

Jan 31, Mon

7

5

Lecture7.ppt

Homework 2:

  1. undergraduate and master students: 3.1, 3.9, 4.1, 4.3, 4.4, 5.10
  2. master student reading assignment.

V. Manzoni, R. T. Price, “Identifying Extensions Required by RUP to Comply with CMM Levels 2 and 3”, IEEE transactions on software engineering. [pdf]

4     Write a report (less than one page) stating that

n       What KPA of CMM are satisfied by RUP

n       What KPA are not

n       What features that need to be added to the RUP to comply with CMM levels 2 and 3

Reading for pleasure:  J. Grenning, “Launching Extreme Programming at a Process-Intensive Company”, IEEE software. [pdf]

Feb 2, Wed

8

6

Lecture8.ppt

Feb 7, Mon

9

6

Lecture9.ppt

Homework 2 due

Feb 9, Wed

10

7

Lecture10.ppt

Feb 14, Mon

11

7

Lecture11.ppt

Homework 3: 6.7, 6.12, 6.13, 7.2, 7.3, 7.12 (your choice of C++ or java for 7.12)

Feb 16, Wed

12

10

Lecture12.ppt

Feb 21, Mon

13

10

Lecture13.ppt

Homework 3 due

Homework 2 return, homework2 solution

Project assignment 1

  • Form a team consisting of 4-5 students
  • Each team provides documents clearly indicating

Ø      Team members

Ø      The project topic

Ø      The chosen software process model and why

Ø      Selected CASE tools

Ø      Selected team organization structure and why

§        Who is responsible for what

  • Complete the requirements workflow in a team effort, providing the following

Ø      Requirements document prepared in UML use cases and/or activity diagram

Ø      Determining a set of requirements workflow metrics (even if the value has to be filled later)

Feb 23, Wed

14

12

Lecture14.ppt

Homework 3 return, homework3 solution

Feb 28, Mon

 

 

Mid-term exam: software engineering fundamentals (CH430) chapter 1-7

·         Multiple choice

·         Short answers

·         Matching

·         Filling-in blank

Mar 2, Wed

15

12

Lecture15.ppt

Mar 7, Mon

16

12

Lecture16.ppt

Project assignment 1 due

Mid-term return, mid-term answers

Mar 9, Wed

17

13

Lecture17.ppt

Mar 14, Mon

18

13,

Design patterns

Lecture18.ppt, check out MVC-in-Swing

Mar 16, Wed

19

Design patterns

Lecture19.ppt

Project assignment 2:

Design your project

A. Submit a UML class diagram for your design (providing important attributes and methods)

B. Submit a collaboration or sequence diagram for each use-case

C. Identify any patterns used in your design

 

Reading for bonus (5 points, due at the final-exam day) :

Nigam, N. S. Caswell, “Business Artifacts: An Approach to Operational Specification”, IBM Systems Journal, Vol. 42, No. 3, 2003. http://www.research.ibm.com/journal/sj/423/nigam.pdf

Submit a document (one page) specifying:

A.     What are the business artifacts in your project?

B.     Draw the life cycle of one selected business artifact (you can use tool or just draw by hand).

Mar 21, Mon

20

14

Lecture20.ppt

Mar 23, Wed

21

14

Lecture21.ppt

Project assignment 1 return

Apr 4, Mon

22

15

Lecture22.ppt

Project assignment 2 due

Apr 6, Wed

23

11

Lecture23.ppt

Apr 11, Mon

24

11

Lecture24.ppt

Apr 13, Wed

25

 

 

Apr 16, Sat

 

 

Major Field Test exam required for undergraduate student who has not taken this exam before 10:00am-12:00pm.

A light breakfast is provided at 9:30.

Location: online or in CH145 and CH430

Registration deadline: April 1th 12:00 noon CH118 with John Faulkner

Apr 18, Mon

26

8

Lecture25.ppt

Apr 20, Wed

27

16

Lecture26.ppt

Apr 25, Mon

28

 

Project demo and presentation (20%)

1.   Functionality: demonstrate at least 5 use cases, briefly mention other use cases (10%)

2.   Usability of interface design (2%)

3.   Performance issue (2%)

4.   Robustness (handling invalid input) and flexibility (2%)

5.   The presentation itself including understandability, timing (15 minutes), etc. (2%)

6.   What theories we learned in class are most useful based on your experience in your project? And why? (2%)

7.   Bonus are expected for superb performance

8.   Submit two files by email after the presentation

a.       The project source code in a zip file. There should be a Readme file inside the zip file telling me how to run your project

b.       Your power point presentation

Apr 27, Wed

 

 

Open days

May 4, Wed

 

 

Final exam 4:15-6:45pm

  • Chapter 8-16 (except chapter 9) and the design patterns
  • Use ball pens, no pencils

Reading-for-bonus due

 

Useful links:

  1. IEEE standard software engineering terminology:

http://ieeexplore.ieee.org.fetch.mhsl.uab.edu/iel1/2238/4148/00159342.pdf?tp=&arnumber=159342&isnumber=4148&arSt=&ared=&arAuthor=  (you have to use UAB computers to access this file)

  1. Capability Maturity Model for Software version 1.1: http://www.sei.cmu.edu/pub/documents/93.reports/pdf/tr24.93.pdf

CMMI frequently asked questions: http://www.sei.cmu.edu/cmmi/adoption/ques-ans.html

  1. Extreme Programming resource: http://www.extremeprogramming.org/ 
  2. Resources on CVS: https://www.cvshome.org/,  http://durak.org/cvswebsites/doc/ 
  3. Apache Ant: http://ant.apache.org/
  4. Programming with Java Assertions http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html
  5. Model Driven Architecture http://www.omg.org/mda/
  6. Design Patterns: http://www.dofactory.com/Patterns/Patterns.aspx ; http://www.patterndepot.com/put/8/JavaPatterns.htm
  7. BPEL specification: ftp://www6.software.ibm.com/software/developer/library/ws-bpel.pdf
  8. UML resource page: http://www.uml.org/