CSSE 575 Schedule
Summer 2015-6
Week |
Session |
Topics |
Slides |
Preparation |
Project Work Due |
1 |
Tues, June 7
- Google Hangout at 5:30 PM
|
Course intro |
|
|
|
Intro to software
maintenance & evolution |
|
|
|||
Details of project work in the course |
See links to project work, below
|
|
|
||
|
|
Start Part 1 - Better software at the coding level! Start Fowler book |
Fowler,
Ch 1 - 3 (but I'm bringing the books to class!) |
|
|
Bad smells - 1 &
2. |
|
|
|||
|
|
|
|||
Time
for initial discussion & practice on project work, meetings with Steve |
|
|
|
||
|
|
|
Mon, Jun 13, 7 AM
- Milestone 1, Journal
|
||
2 |
Tues, June 14
|
Refactoring principles |
Fowler,
Ch (2,) 6, 7, 8 |
||
Composing
methods |
|
|
|||
|
|
Moving features
between objects |
|
|
|
Organizing data |
|
|
|||
Time for initial discussion & practice on project work, meetings with Steve |
|
|
|
||
Simplifying
conditional expressions
|
(we did this one a week early) |
|
Try for Mon, Jun 20, 7 AM - Milestone 2, Journal |
||
3 |
Thurs, June 30 (a replacement date)
|
Making method calls
simpler
|
|
||
|
|
Dealing with generalization | Generalization | We'll look at what Visual Studio does, from their website. | |
|
Instead read "How to do large scale refactoring," including the link to Martin Fowler's cute "Strangle the classes." |
|
|||
Time for initial discussion
& practice on project work, meetings with Steve |
|
|
|
||
|
|
|
Mon, Jun 27, 7 AM - Milestone 3, Journal
|
||
4 |
Tues, July 5 (moves Week 5 meeting forward)
|
Start Part 2 - Better software by higher-level tactics! |
|
|
|
Stepping back to view swre maint and evolution |
|
|
|||
|
|
The swre maint process |
|
||
Role of software
documentation |
|
||||
Program understanding |
|
||||
Intro to Exam 1 |
|
Get take home
|
|
||
Time
for initial discussion & practice on project work, meetings with Steve |
|
|
|
||
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Mon, 7 AM - Milestone 4, Journal |
5 |
Thurs, July 7 (alternative)
|
Reengineering and Reverse engineering |
|
|
|
|
|
I'll also talk about a couple of reverse engineering studies. | If you'd like to look at them (optional), the case studies are here and here. | ||
Reverse
engineering tools |
|
||||
Impact analysis |
|
|
|||
Review of first exam
|
|
|
|
||
Time for initial discussion & practice on project work, meetings with Steve |
|
|
|
||
|
|
|
Mon, 7 AM - Milestone 5, Journal |
||
6 |
Fri, July 15
|
Seam model (from
Michael Feathers' book) |
|
|
|
Changing software 1 - common
problems. |
|
|
|||
|
|
Changing software 2 -
heuristic solutions. |
|
|
|
Breaking dependencies |
|
|
|||
Time for initial discussion & practice on project work, meetings with Steve |
|
|
|
||
|
|
|
Mon, 7 AM - Milestone 6, Journal |
||
7 |
Tues, July 26 ( I'll be connecting from CA, on vacation) |
Start
Part 3 - Theory of Maintenance |
|
|
|
Model-based design
for Maint |
|
|
|||
|
|
Evolution of versions
and config mgmt |
|
|
|
Reuse-based software maint & evolution |
The material used in the slides, from Jarzabek, can be found here. |
|
|||
Time for initial discussion & practice on project work, meetings with Steve |
|
|
|
||
|
|
|
Mon, 7 AM - Milestone 7, Journal |
||
8 |
Fri, July 29 (pushed back because prior week was put in its place) |
Evolvable
products |
|
||
Analysis
of software repositories |
|
|
|||
|
|
Predicting
bugs |
|
|
|
Time for initial
practice on project work, meetings with Steve |
|
|
|
||
|
|
|
Mon, 7 AM - Milestone 8, Journal |
||
Skipping Tues, Aug 2 (I'm at SEI in Pittsburgh) | |||||
9 |
Tues, Aug 9 |
Theory
of software evolution |
|
||
A
model for evolutionary growth - discussed June 20
|
|
||||
|
|
Statistical
modeling |
|
||
|
|
|
Mon, Aug 15, 7 AM - Milestone 9, Journal |
||
Get Exam 2. See also Practice Exam and take home Exam - 2 from earlier classes. | |||||
10 |
Thurs, Aug 18 (Moved to accommodate Matt)
|
Measurable
maintainability |
|
|
|
Maintenance management |
|
||||
|
|
Final
discussions |
|
|
|
|
|
|
|||
Summary |
|
|
|
||
Course
evaluations. |
|
|
|
||
|
|
|
|||
Final project meetings
with Steve |
|
|
|
||
|
|
|
|
|
|