CS1530 Software Engineering
Instructor: Prof. S. K. Chang
Office: Virtual Office
Office Hours: TBA
Telephone: 412-624-8423
E-mail: chang@cs.pitt.edu
TA: HanZhong Zheng
Office: Virtual Office
Office Hours: TBA
Telephone: TBA
E-mail: victorzhz@cs.pitt.edu
Time and Classroon: MonWed 1pm to 2:15pm, 4:30pm to 5:45pm
Important OnLine Class Information
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.
Students will further learn the agile software development methodology.
Therefore there are no individual exercises, only group projects with
at least five milestones following classical software development lifecycle and at least one iteration of agile software development.
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.
Recommended: 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.
Reference:
Bernd Bruegge and Allen H. Dutoit,
Object-oriented Software Engineering, Prentice Hall 2000
(ISBN 0-13-489725-0).
Classnotes: Lectures and exams are based on classnotes, which 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 for social networking,
which may include a Recommender component and a Deep Learning component among other components.
The ICMS design tool with micro-services will be exploited.
Project Awards: To stimulate students' interests at the end of the semester one
project team will receive the best project award and
another project team will be voted by the class to
receive the people's choice award. Each team winning the
award will receive $500 donated by the Instructor.
The people's choice award will be selected first so that
the best project award can be selected to avoid any conflict.
On-line interactions:
In addition to classroom lectures this course will emphasize
in-person interactions among students and the instructor through the class project.
Therefore on-line interactions will be an important and
necessary component of this course. The course materials,
announcements and exercises will all be available from the
Internet. In addition to scheduled break-out meetings, impromptu meetings and schedule changes will be
announced by e-mail.
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)
(Sample Report for MS1)
(The cost
and schedule can be supplied at the Second Milestone.)
Deliverables:
Hard copy (preferably a single, stapled document consisting of the software plan and the presentation) and an electronic file (preferably a single file in pdf format with name such as G02.pdf) of the following:
The software plan (without 4.0 and 5.0).
A presentation of your product highlights and overview of software plan.
Week 4
Requirements
Week 5
Specification
*Recommender Module and more details
Second Milestone: (see calendar)
(Sample Partial Report for MS2)
(Sample User Manual for MS2)
Deliverables:
Preliminary Requirements Spec.
Preliminary User's Manual.
The cost and schedule of the Software Plan from the First Milestone.
Week 6
The Future of Social Networks
Software Process Models Revisited
Software Process Model Generator SPG Tool
Week 7
Software Design Approaches
Modular Design
Third Milestone: (see calendar)
(Sample Report for MS3)
Complete Requirements Spec.
Please go to: http://ksiresearchorg.ipage.com/spg/
and use this SPG tool to learn about different software
process models. When you enter the parameters according
to the needs of your project, what software
process model is suggested by SPG? Is this suggestion
consistent with your expectations? Please try at least Waterfall and Scrum. After you have tried it please fill out
the questionnaire.
The deliverable is a PDF file or WORD file containing the screen dumps captured using PrintScreen key.
CASE tools and
Specification using UML
Part II: Object Oriented Design (Chapters 7-14) (Chapters 6-14) (second seven weeks)
Week 8
Introduction to Objects
Object-Oriented Design using CRC Cards
and
IC cards
Go Steelers! (watch Japanese Steelers Fan sing "We will rock you!")
Week 9
Object-Oriented Analysis
Object-Oriented Design
Micro Service,
AutoGenerator Tutorial,
AutoGenerator Slides and
AutoGenerator ZipFile.
Week 10
Testing Principles and
Test Plan.
Fourth Milestone: (see calendar) (OOA & OOD. 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. 10-12 pages)
(Sample Report for MS4)
*Verification and Validation
Week 11
Test Automation
Week 12
Formal Verification Technique
Fifth Milestone: (see calendar) (Deliverables: Short demo or source codes of initial implementation. Test plan and test cases. Example test cases are in Appendix J)
(Sample Test Plan for MS5)
(Sample Test Cases for MS5)
Week 13
Agile Software Development
Agile Software Management Tool:
https://www.zoho.com/sprints/
Week 14
Implementation and Integration Issues
Software Maintenance
Micro-Services
Sixth Milestone: (see calendar) (Testing. Deliverables: Longer Demo. 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)
Week 15
First Sprint/First Iteration: (see calendar) (Agile Software Development. Deliverables: Sample Report on First Sprint/First Iteration)
Deliverables: A demo, acceptance testing and the entire software configuration, incuding requirements
spec, design, source codes, test plan and testing results, user's manual, installation and maintenance procedures, and report on first sprint/first iteration)
Week 16
Class Review
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.