Transcript Slide 1
30 August 2010
Introductions
Logistics
Web Site:
http://www.cs.unc.edu/Courses/comp523-f10/
Office Hours: Open office policy
This course is
4 credits
EE
APPLES
CI (Implication: document iterations)
Programming Languages distribution group
Class attendance is expected
Exams will cover class material
NO INCOMPLETES
Course Objectives
Overview of the practice of software
engineering
Awareness of software engineering (and
failures) in the real world
why software development is more than
coding
Hands on experience of the full process
Working on a team
Awareness of new technologies
Team Meetings
Beyond the Project
Content
Quick pass for project
More in depth of how it is done in the larger
world
Exams
2 essays in lieu of midterms
Final is project presentations TUESDAY DEC 14
Readings
Key papers tied to lectures
Guest speakers
Hot Topics
Readings
Goal is for you to read the classical
papers
Scheduled relative to content
Each paper will be accompanied by 2 or
3 questions for you to be ready to
answer
If discussions lag, I will call on people
Guest Speakers
Fred Brooks, Design of Design
Gary Bishop, Writing accessible code
Mike Reiter, Writing secure code
Dave Ogle (IBM), Testing
John Reuning (ibiblio), SCRUM
Hot Topics
Observation: not many COMP courses
teach what’s new and hot
Assignment:
Identify a topic that you want to learn about
Team paper and presentation (15 min)
○ Based on choices, not projects
○ 5 days allocated beginning in October
Presentation must be reviewed with me
before class
Topics due September 8
Grading
75% project
individual contribution multiplier (.8 – 1.1)
30% code
30% documentation
5% on time delivery
5% professionalism
5% presentations
10% hot topics (paper and presentation)
15% essays (6%, 9%)
Individual Contribution
Rare that it will go over 1.0
Basically, you can’t do better than the project
But there are always exceptional circumstances
Inputs
Peer evaluations
My evaluation
Client evaluation
Consultant evaluations
Professionalism
You are representing the university, the
department, this class and yourself
Your web site is publicly available and may
be accessed by outside people
You are expected to
show common courtesy
make it to meetings promptly or notify people
meet your commitments
It is part of your grade
Team Rules
Establish them now … before problems arise
Team behavior
Notifying team members if you’re going to be late –
meetings AND assignments
Ways to contact and communicate
Responses to emails
○ Expected times
○ Meaning of no response
Recovering from slippages
Coding practices
Style
Prologue
How to maintain current state
Project Resources
Talk to me about what you need
I can provide server and repository space, but
NOT maintenance support
Recommend freely available software, not
software that is a limited free trial period
Focus on simple solutions
Feel free to use existing solutions
If you are having team or client
problems, contact me early: don’t let it
fester!
Web Site
Each project is required to have one
Will be linked from course page
Should be repository of all material: a
WORKING site
○ Capture decisions (including rationale)
team assignments
Public site
Can be pointer to any space you want
○ Recommend using a public resource
○ Will give you CS space if you want
Code Management
You MUST use a form or version control
Homegrown is possible but too unreliable
Primary choices
CVS
SVM
Bazzar (Russel team apt to use)
You can install your own or use a
publicly available version
Web Site Options
Build Your Own Web Site
Google code, doc, calendar, …
Caveat: Google doc good for working
documents…not for final formatting
Assembla
Sourceforge
Wiki
Combinations thereof…
Check with your client about preferences
Web Site Content
Contact information
Overview of project
Related links
Repository for key deliverables
functional spec
design document
AND all other documents
user manuals
Team rules
Contract
Schedule
Code
Journal or log of decisions made and reasoning
… or you’ll keep
revisiting the same decisions
Templates and descriptions will be available on web
site by end of week
http://www.cs.unc.edu/Courses/comp523-f10/
Deliverables
* Functional specification
User interface sketches
Project schedule
Adapting the schedule is different than missing
deadlines
Contract
Commitment to PRIMARY goals and agreement on
SECONDARY
* Design Document
* User guide
Code
Running system
Presentations
How the Course Will Run
Meetings
Weekly team meetings with me: organizational and
technical
Meetings with the client as appropriate (probably weekly)
Weekly team meetings
Each week, I’ll ask each team member to fill in a form with
hours spent (education, not grading)
Regular deliverables
Description and dates will be posted on web
Multiple executable deliverables to client
Multiple classroom demos
Class dates BUT will consider reasoned
arguments about project-specific exceptions
Meetings
All meetings are in my office (Brooks 146)
Begin today
I’m flexible about rescheduling meetings
But I get grumpy when I’m stood up
Agree on contact procedure for missing or
late
Software Engineering Objective
The right software
delivered defect free,
on time and
on cost,
every time.
Carnegie Mellon Software Engineering
Institute
All Processes Include
Requirements
Design
Implementation
Test
Maintenance
All software projects are different
but …
Requirements will change.
Surprises will happen.
Schedules will slip.
Life will happen.