CS1530 Software Engineering

Instructor: Prof. S. K. Chang
Office: 6101 Sennott Building
Office Hours: 5pm to 6pm TuTh
Telephone: 412-624-8423
E-mail: chang@cs.pitt.edu


Grader: Mr. Jin Lei
Office: 5501 Sennott Building
Office Hours: 3pm-4pm TuTh
Telephone: 624-8349
E-mail: jinlei@cs.pitt.edu

Time and Classroom: TuTh 6pm to 7:15pm 5129 Sennott Building

Course Description: This course is one of the courses in the software engineering track. This course is intended to cover the object-oriented approach to software engineering, combining both the theoretical principles and the practical aspects of software design using the JAVA language. Students will learn the fundamentals of object-oriented software engineering and participate in a group project on software design using JAVA. Therefore there are no individual exercises, only group projects with at least five deliverables. The midterm and final cover the principles of software design methodology with emphasis on object-oriented approach rather than the traditional structural approach. The sequel of this course is CS1631 Software Design Methodology.

Textbook: Object-Oriented and Classical Software Engineering, Stephen R. Schach, McGraw Hill, 5th edition, 2002 (ISBN 0-07-239559-1).

Shari L. Pfleeger and Joanne M. Atlee, Software Engineering Theory and Practice 3rd Edition, 2006.

Recommended Reference: Bernd Bruegge and Allen H. Dutoit, Object-oriented Software Engineering, Prentice Hall 2000 (ISBN 0-13-489725-0).

Classnotes: Classnotes are available at http://www.cs.pitt.edu/~chang/153/1530syl.html.

Grading: Grades are based upon project (40%), two quizzes (10%), midterm (25%) and final exam (25%). Please read the grading policy.

Project: Project will combine JAVA programming with WWW database programming to design a web-based information system.

On-line interactions: In addition to classroom lectures, this course will emphasize on-line interactions. In fact, the instructor hopes to offer this course (and other courses) by distance learning in the future. Therefore, on-line interactions will be an important, necessary component of this course. The course materials, announcements and exercises will all be available from the Internet. Impromptu meetings and schedule changes will be announced by e-mail. Therefore, the first thing a student should do is to send e-mail address to the instructor in the following format: (CS1530, first-name, last-name, e-mail). For example, (CS1530, John, Doe, jdoe@cs.pitt.edu).

Please send your e-mail address to chang@cs.pitt.edu

Answers to Frequently Asked Questions


Calendar

Part I: Basic Principles (Chapters 1-6) (Chapter 1-5) (first seven weeks )

Week 1
Introduction to software engineering

Week 2
The Software Process and Its Problems

The Software Life-Cycle Models

Week 3
Software Project Management

First Milestone - The Software Plan (see calendar)
(The cost and schedule can be supplied later.)
Deliverables:

  • A plan to manage your team.
  • A plan for a common software/hardware platform for team members to work on the project.
  • A presentation of your product highlights, management plan and development platform plan.

    Week 4
    Requirements

    Second Milestone: (see calendar)
    Deliverables:

  • Preliminary Requirements Spec.
  • Preliminary User's Manual.
  • A presentation of the above.

    Week 5
    Specification

    Quiz 1 (see calendar)

    Week 6
    Software Design Approaches

    Modular Design

    Third Milestone: (see calendar) (Complete Requirements Spec)

    Week 7
    CASE tools

    Midterm Exam (see calendar) (Chapters 1-6 of 4th edition) (Chapters 1-5 of 3rd edition)

    Part II: Object Oriented Design (Chapters 7-14) (Chapters 6-14) (second seven weeks)

    Week 8
    Testing Principles and a sample test plan.

    Introduction to Objects

    Week 9
    CRC (Class, Responsibilities and Collaborators) Cards and IC cards

    Quiz 2 (see calendar)

    Week 10
    Object-Oriented Analysis

    Object-Oriented Design

    Fourth Milestone: (see calendar) (Design. Deliverables: An example of the OOA is in Appendix G or Section 12.8 of the textbook. An example of the OOD is in Appendix H (or Appendix I) of textbook. For the OOA part you only have to do the modeling for a few of the modules. For the OOD part it must be comprehensive. For each class (or module), please add a "box" specifying class (or module) name and all attributes, their type and format. This is not a big document. Approx. 20 pages)

    Week 11
    Guest Lecture on Different Paths for CS Graduates (Jim McMahon, Sr. Manager, and John Broderick, Prog.Analyst, Fedex, Nov 13)


    Week 12
    Verification and Validation

    Fifth Milestone: (see calendar) (Initial Implementation, and Test Plan. Deliverables: Java (or C++) source codes. Test cases are in Appendix J)

    Week 13
    Formal Verification Technique

    Sixth Milestone: (see calendar) (Testing. Deliverables: Both test cases and results are to be delivered. An example of test cases is in Appendix J of textbook. Test cases delivered as part of the 5th milestone, and actual test results at this milestone)

    Implementation and Integration Issues

    Software Maintenance

    Week 14
    Extreme Software Engineering

    Week 15
    Class Review

    Project Presentation, Demo and acceptance testing for software implementation (see calendar)

    Deliverables: A demo and the entire report, incuding requirements spec, design, source codes, test plan and testing results, user's manual, installation and maintenance procedures)

    Final Exam (see calendar) (Chapters 1-14)


    THIS IS IT!

    Note: If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890/(412) 383-7355 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.