Dr. Zhijun Wang, Professor of Computer Science
♦   Welcome to CIS 487 — Software Engineering   ♦
Weeks Topics | Resources | Suggested Readings | Special Days | Important Dates HAs | Projects | Exams
#1
1/8-1/12
  • Introduction and syllabus. Course website. Class policies and guidelines.
  • The process of writing a simple application.
  • Introduction to software engineering.
  • Important factors - Project. Process. People. Product.
  • Modeling and models - Why and how.
  • Agile processes. The Scrum process.
  • Example team projects -
    1. A reasonably-sized Java-based system of your choice.
    2. Online homework submission system.
    3. Message board/chat room.
    4. Tiny language compiler for a simple language.
    5. etc. etc. etc.
  • Readings - Pilone & Miles chapters 1, 2. Rubin chapter 1.

1/08 Mon Add/Drop and Late Registration via RAIL or at Ikenberry Hall, 9:00 am-4:00 pm.

1/12 Fri Last Day to Add/Drop or Late Register via RAIL or at Ikenberry Hall, 9:00 am-4:00 pm.

Project teams will be formed with 2 -3 students in each team. All projects will be team projects. Presentations will be scheduled to demonstrate project progress, intermediate results, and the final software product.
#2
1/15-1/19
  • User/software requirements.
  • Requirement engineering. Slides - Please ignore slides not discussed in class.
  • Functional and non-functional requirements.
  • Importance of communication and documentation in the software process.
  • Readings - Pilone & Miles chapters 3 - 5.

1/15 Mon Martin Luther King, Jr. Day – Holiday.

1/19 Fri Last Day for Instructor-Approved Late Adds via RAIL.

Each team will present a short description of the semester-long project and an initial project plan, including a timeline. Please document all important team activities.
#3
1/22-1/26
  • Introduction to UML.
  • Use cases and use case diagrams.
  • Introduction to Office Visio.
  • Use case conditions and scenarios.
  • Use case diagram <<include>> and <<extend>> dependencies.
  • Introduction to agile principles and the Scrum framework.
  • Readings - Pilone & Miles chapters 4, 5. Rubin chapters 2, 3.
Team work continued.
#4
1/29-2/2
  • Real time systems. Human computer interactions. Slides.
  • Project management and risk management.
  • Springs in the Scrum processs. Timeboxed. Short and consistent duration. Definition of done.
  • Team project discussions and teamwork.
  • Readings - Pilone & Miles chapter 5. Rubin chapter 4.

Exam 1 on Wednesday. Covering weeks 1-3.

#5
2/5-2/9
    All classes after 1pm were cancelled by Shepherd. Please collaborate with your teammates and work on team projects if possible.
#6
2/12-2/16
  • System analysis using developer’s language.
  • System modeling and architecture. Distributed systems. Slides.
  • System design. Class diagrams.
  • Analysis activities. Start static structure design.
  • Requirements and user stories in the Scrum process. Product backlog.
  • Readings - Pilone & Miles chapters 2, 5, 6. Rubin chapters 5, 6.
Initial project document(s) due by 11pm on Thursday 2/15 to zwang@shepherd.edu with CIS 487 and your team member names on the subject line. Please include a description, an initial project plan, team activities, and diagrams, such as use case diagrams, if any.
#7
2/19-2/23
  • System design revisit – goals, aspects, and management.
  • Object-oriented design review.
  • Design patterns. Definitions, categories, and applications.
  • Examples of design patterns.
  • PBI estimation. Velocity. Technical debt.
  • Readings - Pilone & Miles chapters 6 - 8. Rubin chapters 7, 8.

Mid-term Exam Week.

2/23 Fri Last Day to Apply for August and December 2018 Graduation (Registrar’s Office).

Team projects continued.
#8
2/26-3/2
  • Dynamic behavior modeling. Sequence diagrams.
  • Roles in the Scrum process - Product Owner, ScrumMaster, Development Team, Scrum Team Structures, and Managers.
  • Readings - Pilone & Miles chapters 10. Rubin chapters 9 - 13.
Team projects continued.
#9
3/5-3/9
  • Map design models to code. Implementation issues.
  • Optional - Forward and reverse engineering. Reengineering.
  • Test categories. Unit, integration, system, and acceptance test. White/gray/black box tests.
  • Test frameworks such as JUnit help develop/organize/automate/run tests and report results.
  • Testing → find errors. Debugging → fix runtime/logical errors.
  • Debuggers help step through programs by statements or sections (using breakpoints) to show object/variable/etc. states.
  • Scrum planning principles. Introduction to multilevel planning.
  • Readings - Pilone & Miles chapters 11. Rubin chapters 14 - 15.

3/9 Fri Last Day to Withdraw from a Full Semester Class — See Advisor by Noon.

Team projects continued. Coding and testing.
#10
3/12-3/16

Spring Break

#11
3/19-3/23
  • Case study - Test driven development. Requirements. Example code.
  • Other topics moved to next week because of snow day.
  • Readings - Rubin chapters 16 - 18.

3/19 Mon First Day of Summer 2018 RAIL Registration for Continuing Students, 9:00 am-4:00 pm.

3/21 Wed First Day of Academic Advisement for Continuing Students for Fall 2018.

Coding and testing cont.
#12
3/26-3/30
  • Portfolio planning. Envisioning or product planning. Release or longer-term planning.
  • Introduction to sprinting. Sprint planning and execution.
  • Team project progress presentations.
  • Readings - Rubin chapters 19 - 20.

Exam 2 to be combined with the final exam. Week #11 class cancelled because of snow.

#13
4/2-4/6
  • Event - NASA day student fellowship research project presentations starting at 4:15pm in BY 108.
  • Coding and testing cont.
  • Finalizing projects.
  • Preparing for final presentations.

4/2 Mon First Day of Fall 2018 RAIL Registration for Continuing Students, 9:00 am-4:00 pm.

4/4 Wed Last Day of Academic Advisement for Continuing Students for Fall 2018.

#14
4/9-4/13
  • Sprint review. Sprint retrospective. The agile path forward.
  • Agile project management with Kanban. Evolving from Scrum.
  • Centralized and distributed version controls.
  • Version control software. Git and GitHub. Git cheat sheet.
  • Preparing for final presentations.
  • Readings - Rubin chapters 21 - 23. Related Kanban resources.
#15
4/16-4/20
  • Final team project presentations in class. 15 minutes per team, including Q/As.
  • Team project files are due by 11pm on Friday, 4/20.

4/20 Fri McMurran Scholars Convocation; Last Day of Classes; Last Day for Complete Withdrawal from Semester.

#16
4/23-4/27

Final Exam Week.

Final exam files are due by 11pm on Tuesday, 4/24.