Title: Course Overview and the Big Picture
1Course Overview and the Big Picture
- CS2335
- Summer 2006
- Bob Waters
2(No Transcript)
3Agenda
- Administrative Info
- Big Picture
- Intro to Quality
4Administrative Data
- Class Web Page
- Newsgroup Mandatory Reading Daily
- git.cc.class.cs2335 (read/write)
- git.cc.class.cs2335.announce (read-only)
- Syllabus / Text Books
- Grading (Pop Quizzes)
- Labs CoC Accounts
- Honor Policy (No Collaboration)
- Late Policy (None)
- Missing Exams (Dont!)
5Labs
- 1 CVS/Ant/Code (3Person 1 week)
- 2 - JUnit, Checkstyle, PMD (3 Person, 1 week)
- 3 Individual Network Program (1 Person, 1 week)
- 4 2 Person Programming ( 1 week. Java )
- 5 UML Modeling Assignment (1 week Indivdual)
- 6 4 Person Programming (2 week, Java)
- 7_1 Final Proj Phase 1 (Plan/Design) (4 Person)
- 7_2 Final Proj Phase 2 (Design/Impl)
- 7_3 Final Project Test Plan, Code and JUnit
(4P) - 7_4 Final Project Demo (4P)
6Grading
7Lessons Learned
- Pick your team members carefully
- ID problem team members early
- Peer Ratings
- Work product identification
- Email to TA and Instructor
- Dont start integration the night before
- 90 complete phenomena
- Always interface problems
8The Rumors about this class
ARE TRUE!!!
9After Action Reports (Fall 02)
Since we had three weeks, we decided to meet
the week before the project was due.
It seemed a simple program, but the
integration took much longer than we thought.
Student A kept telling us he was almost done,
but when the time came for turn-in, he gave us a
file that was mostly empty.
10After Action Reports (Summer 03)
- Things got off to a bad start when we began the
project 24 hours before the deadline - Although our classes had clearly designed
responsibilities, we failed to design how they
would interact. - we read the requirements quickly and split the
work 50/50 into gui and backend. Only later did
we realize 90 of the work was in the backend.
11After Action contd
- Throughout the project, certain group members
were concentrating on enhancements and extra
credit We failed to get some of the required
functionality done. - We didnt really do any unit testing. We used
the Big Bang integration method, and then had so
many failures we didnt know where to start.
12After Action
- We met and split up the project, then
communicated only by emailIntegration was a
nightmare. - We coded however we wanted and then tried to pass
checkstyle and PMD right before turn-in. We
could not get the errors corrected.
13After Action
- Our group did lab 4 by emailing code. On lab 5
we set up a directory structure and tried to
share code through permissions. Finally on the
final project, we used CVS. We had a dramatic
improvement in our process.
14Team Grading
- Projects get a team grade.
- Individuals grades may be adjusted
- Identify work products as to who produced.
- Changing Author tags is honor violation!
- Code not commented with author is assumed to be
work of everyone. - Post project peer evaluations
15Important!!
If it is not in CVS, it doesnt exist!
Im 90 done.
Checks in the mail!
I just have a slight problem I need to solve.
Ive got it done, I just need to clean it up!
16Warning
- I allow teams to fire team members
- One person goes down vice the whole team
- Fired person can still complete work on own.
- Can only fire real slackers, not personality
conflicts, not people whose code you dont like. - Potential firee gets warning, opportunity to
produce. This means you have to start ball
rolling early!
17Some Recommendations
- Start Early
- Dont waste time on rewriting team-mates code.
- Meet face to face.
- Use Iterative development
- Develop test code that shows functionality is
there. - Do unit testing (make sure each class works
individually) - If you are weak on coding, get up to speed now!!!
18Team Formation
- For first 2 projects, 3 person teams are randomly
created. - For remaining projects, students self-select from
within all sections (cross-sectional teams
allowed). - You must be able to come to a lab section as a
team if you pick cross-sectional members.
19Questions on Admin??
20Class Theme
You cant test quality into software, you have to
design it in.
If architects built buildings the way software
engineers build software, the first woodpecker to
come along would destroy civilization!
21Class Motivation
Why a practice-oriented class?
- Industry Reps
- Student Observation
- Software Engineering Studies
22Big Picture
- Teamwork
- Design and UML
- Software Quality
23Software Development Life Cycles
Project Planning
Requirements
Analysis
Design
Implementation
Testing
OM
24The Managers Cube
Schedule
Feature Set
Resources ()
Quality
25Process vs. Product
26What is Quality?
Customers perception of value
Meet or exceed customer expectations
Error-free
Value-Added
Reducing variation around target
Conformance to valid requirements
When customer returns and product doesnt
100 Conformance to Customer Expectations
27How Much is Enough?99.9
28Errors, Faults, Bugs
- Defects are not free, somebody gets paid for
making them, Deming - Failure Incorrect behavior of a component A
symptom - Fault (Bug, Defect) Incorrect program or data
object Result of error - Error Mistake made by human omission or
commission
29 Life Cycle of Problems
Error
New Error
Fault
Debug
Failure
30Now..
Coding Standards Code Reviews Defect Tracking