778a5c2d0ea9cb25e66eab3e68f8a528.ppt
- Количество слайдов: 13
CSC 444 Software Engineering Prof. David A. Penny Lectures: 6: 10 – 8: 00 pm Tutorial Days: 6: 10 – 7: 00 pm, 7: 10 - 9: 00 pm lecture Course Website: https: //ccnet 3. utoronto. ca/20079/csc 444 h 1 f/ http: //www. cs. toronto. edu/~penny/teaching/csc 444 -07 f CSC 444 F'07 Introduction 1
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. CSC 444 F'07 Introduction 2
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 v 1 of a product • Live with your mistakes through v 2, v 3, v 4, . . . • 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 CSC 444 F'07 Introduction 3
About Prof. Penny • Graduated B. Sc. in CS Uof. T 8 T 5, Ph. D 9 T 3 – OOT IDE, Polyx, Mini. Tunis, CE, . . . • IBM Labs 1992 – 1994 – C++ IDE for AIX • Algorithmics 1994 – 1999 – VP Software Development – Risk. Watch > $500 M in revenues to-date • Consultant 1999 – 2003 – Software management consulting (~10 engagements) • Uof. T CS 2000 – 2003 – Associate Professor • Electronics Workbench 2003 – 2005 – VP R&D – Acquired by National Instruments – Multi. Sim/Ulti. Board/Ulti. Route (8 MLOC) • Ceryx 2005 – present – CIO – Provisioning system CSC 444 F'07 Introduction 4
Text • Required Course Text: – Professional Software Development • 2007 edition • by David A. Penny • ~350 pages – Can buy from me starting next week for $60. CSC 444 F'07 Introduction 5
Grades • 2 Solo Assignments – 15% each – A 1: Self-Aware Programming – A 2: Optimization and Testing – Late Policy: • 15% absolute penalty if handed in <= 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 CSC 444 F'07 Introduction 6
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 year’s midterms and exams are posted for your review purposes CSC 444 F'07 Introduction 7
LET’S GET STARTED! CSC 444 F'07 Introduction 8
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, you’ll focus on code and test and forget most of them – You’ll be bitten in the ass – You’ll re-commit to the ideas (if you’re 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 CSC 444 F'06 Lecture 1 9
source code control infrastructure reproducible builds defect/feature tracking automated regression testing release planning control feature specifications refinement architectural control effort tracking process control business planning CSC 444 F'06 Lecture 1 10
Intended Audience • • Commercial software vendor environment – Not open source, internal IT, ASP, NASA, . . . Who – Individual contributors, Technical leaders, First-line managers, Directors, VP’s, CTO’s 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 CSC 444 F'06 Lecture 1 11
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 – Ongoing cost = $3, 500, 000 / year Improve productivity by 10% – New product: save $50, 000 – Established Product: save $1, 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. CSC 444 F'06 Lecture 1 12
Tentative Lecture Schedule date Lecture Evaluation Sep. 10 Course Introducton, Software Business Environment (ch. 15) Sep. 17 Release Cycle Overview (ch. 3), Releases (ch. 7), Versions (ch. 8) A 1 out Sep. 24 Top 10 Practices (ch. 1), Source Control (ch. 9) Oct. 1 Builds (ch. 9) Oct. 15 Quality Assurance (ch. 10) A 1 due, A 2 out, Oct. 22 Release Planning (ch. 2, 3, 4) Oct. 29 Capacity Constraint (ch, 5, A, C) Nov. 5 Estimation (ch. 6) A 2 due, A 3 out Nov. 12 Defect and Feature Tracking (ch. 11, 12) Nov. 19 Process Control (ch. 13) Nov. 26 Architecture (ch. 14) Dec. 3 Proposals and Business Plans (ch. 16) - Exam Review A 3 due CSC 444 F'07 Introduction 13


