CSC444 Software Engineering - PowerPoint PPT Presentation

About This Presentation
Title:

CSC444 Software Engineering

Description:

... is built in a professional fashion in industry, this is how it is consistently done. ... Characteristic of an immature industry. But can agree on the ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 14
Provided by: DaveP3
Category:

less

Transcript and Presenter's Notes

Title: CSC444 Software Engineering


1
CSC444Software Engineering
  • Prof. David A. Penny
  • Lectures 610 800 pm
  • Tutorial Days 610 700 pm, 710 - 900 pm
    lecture
  • Course Website
  • https//ccnet3.utoronto.ca/20079/csc444h1f/
  • http//www.cs.toronto.edu/penny/teaching/csc444-0
    7f

2
Professional Practices
  • This course teaches you professional software
    development practices not consistently taught
    anywhere else.
  • Deals mostly with process, very little with
    specs/designs/coding.
  • If you have the aptitude and inclination of
    becoming a professional software engineer you
    will find the course fascinating.
  • Otherwise I guarantee you will be bored!
  • Applying these practices will help you avoid
  • Missed dates
  • Poor quality software
  • Badly-designed features
  • Poor user documentation
  • Poor architecture and architectural documentation
  • Dysfunctional professional relationships between
    The Business Side and Software Development
  • When software is built in a professional fashion
    in industry, this is how it is consistently done.

3
Experience
  • Need
  • Formal education in the computing sciences
  • Professional experience
  • Build software that lots of people pay money to
    buy
  • Not just are you paid
  • Make certain decisions for v1 of a product
  • Live with your mistakes through v2, v3, v4, ...
  • Make fewer mistakes next time around
  • We try to fill the gap a bit
  • Lessons coming out of extensive professional
    experience
  • Not all professionals agree on what constitute
    basic professional practices
  • Characteristic of an immature industry
  • But can agree on the problems we are trying to
    solve
  • One (informed) opinion will be presented here

4
About Prof. Penny
  • Graduated B.Sc. in CS UofT 8T5, Ph.D 9T3
  • OOT IDE, Polyx, MiniTunis, CE, ...
  • IBM Labs 1992 1994
  • C IDE for AIX
  • Algorithmics 1994 1999
  • VP Software Development
  • RiskWatch gt 500M in revenues to-date
  • Consultant 1999 2003
  • Software management consulting (10 engagements)
  • UofT CS 2000 2003
  • Associate Professor
  • Electronics Workbench 2003 2005
  • VP RD Acquired by National Instruments
  • MultiSim/UltiBoard/UltiRoute (8MLOC)
  • Ceryx 2005 present
  • CIO
  • Provisioning system

5
Text
  • Required Course Text
  • Professional Software Development
  • 2007 edition
  • by David A. Penny
  • 350 pages
  • Can buy from me starting next week for 60.

6
Grades
  • 2 Solo Assignments 15 each
  • A1 Self-Aware Programming
  • A2 Optimization and Testing
  • Late Policy
  • 15 absolute penalty if handed in lt 1 week late
  • Not accepted after that
  • 1 Team Assignment 25
  • Release Planning and Team Software Construction
  • Exam 40
  • Closed book
  • Covers all lectures, tutorials, assignments, and
    assigned reading
  • Class Participation 5
  • Based on existence and quality of submitted
    questions and answers

7
Course Conduct
  • Come to ALL the lectures and come prepared
  • You should have read the assigned textbook
    reading
  • You should have thought about it
  • Take notes during lectures. Ask questions to
    clarify material you are not 100 clear on.
  • Review the posted slides afterwards.
  • Prepare for the midterm and the examinations by
    re-reading the text and the lecture notes.
    Practice writing the tests
  • Previous years midterms and exams are posted for
    your review purposes

8
Lets Get started!
9
Top-10 Essential Practices
  • Crystallized for me whenever I enter into a new
    engagement.
  • If any of these are missing, I know I have
    something to fix.
  • These are all important
  • It will take more than this course to cover them
    all
  • You will agree that all suggestions are sensible
    and will probably vow to carry them out
  • On your first job, youll focus on code and test
    and forget most of them
  • Youll be bitten in the ass
  • Youll re-commit to the ideas (if youre good)
  • Simple but hard
  • Trust me make sure these things are done and
    everything will go ok
  • Very hard to change behaviour
  • Need to be dogged and determined and tricky

10
source code control
reproducible builds
infrastructure
defect/feature tracking
automated regression testing
control
release planning
feature specifications
architectural control
effort tracking
process control
refinement
business planning
11
Intended Audience
  • Commercial software vendor environment
  • Not open source, internal IT, ASP, NASA, ...
  • Who
  • Individual contributors, Technical leaders,
    First-line managers, Directors, VPs, CTOs
  • Next release
  • Not initial release
  • Green fields is 80 inspiration, 20 process
  • Next Release is 80 process
  • Next release development is more important to
    businesses
  • Initial release development
  • Innovation is clearly also important
  • Innovation is less amenable to help from process
  • Should set things up to be sustainable

12
New Product Versus Established One
  • New product
  • 1 yr. to develop
  • 3 coders, 1 tester, 1 documenter
  • Cost 1 x 5 x 100,000 500,000
  • Established Product
  • 5 years later
  • 20 coders, 10 testers/build, 5 documenters
  • Cost to date 10,000,000
  • Ongoing cost 3,500,000 / year
  • Improve productivity by 10
  • New product save 50,000
  • Established Product save 1,000,000 to date,
    350,000/year
  • Next release development is more economically
    important.
  • Understanding next release development allows you
    to setup things in a sustainable fashion during
    an initial release effort.

13
Tentative Lecture Schedule
Write a Comment
User Comments (0)
About PowerShow.com