Semester Project
Tom Kelliher, CS 245
Sept. 8, 2004
Read Ch. 2.
Why software engineering?
- Teams.
- Deliverable due dates.
- Operational aspects.
- Comments.
- Initial team meeting.
Overview of object-oriented paradigm.
- Team Hemlock: Ben, Jim, Evan.
- Team Oak: Christoph, Christi, Deborah.
Determine your own group name (eight characters or fewer) and let me know.
Chapter 6 contains a complete example.
- 9/17: Refined requirements specification (3.4--3.9).
- 9/22: Scenarios (2.2).
- 9/17: Primary class list (3.10).
- 9/29: Class diagrams (3.10).
- 9/29: Use case diagrams (3.10).
- 10/1: Structured walk-through (in class) (3.8).
- 10/6: Object diagrams (5.3).
- 10/6: Refined class diagrams.
- 10/13: User interface mock-ups.
- 10/6: State machines (4.7).
- 10/13: Collaboration diagrams (5.3).
- 10/20: Sequence diagrams (5.3).
- 10/20: Object diagrams (5.3).
- 10/27: Refined class diagrams (5.2, 5.3).
- 10/27: Class skeletons (5.2).
- 10/28: Informal walk-through (in class)
- 10/27: Implementation plan (7.4, 7.5).
- 11/22: Source code.
- 11/3: Test plan (8.4, 8.7).
- 11/26: Test analysis report (8.5).
- 12/8: System Integration (7.4).
- 12/10: Code Freeze (no more work permitted).
- Final: System delivery and demo.
Electronic documents left on a Samba share.
- Don't let technical or personnel problems fester --- keep me in the
loop.
- Be conscientious about due dates --- there are no back-ups for anyone
on a team.
- If you aren't willing to work as hard as others, be up front about
it. The team will have to adjust. I think it would be fair to adjust
grades as a result. What do you think?
- Meet regularly with your team --- good communication is a key.
- Always create an agenda for every team meeting --- be as effective as
possible.
- Rotate responsibility for chairing team meetings --- give everyone a
chance to manage; don't let one person dominate.
- Systems for use:
- Phoenix for server development (Java). Individual, group
accounts.
- Samba share on phoenix for client development (Java). Use BlueJ,
Eclipse, etc. on any Windows workstation. One share per group.
This share will also be used to store deliverables.
- New technologies ripe for developing small-scale prototyping: Java
applications (server), threads (client and server), networking (client and
server).
- The functional requirements speak for themselves.
- Expect some ambiguities.
- I will serve as the ``domain expert'' --- resolve ambiguities with
me.
Things to address now or at next meeting:
- Establish common meeting time.
- Assign meeting chair and rotation mechanism. Chair responsible for
agenda.
- Assign meeting secretary and rotation mechanism. Secretary
responsible for recording and distributing minutes.
- Discuss tool preferences and areas of expertise.
- Discuss how to share work products.
Thomas P. Kelliher
Fri Sep 3 16:17:08 EDT 2004
Tom Kelliher