CSC444F'07Introduction1 CSC444 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.

Slides:



Advertisements
Similar presentations
CMPT 275 Software Engineering
Advertisements

Lecture 1: Overview CMSC 201 Computer Science 1 (Prof. Chang version)
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Object-Oriented Enterprise Application Development Course Introduction.
Project Management Take a Tour of the Online Course.
CSC444F'05Lecture 11 CSC444 Software Engineering Prof. David A. Penny Lectures Will start at 7:10 pm Please come out now to purchase a book for $40. If.
CSC 105 Introduction to Computer Science Professor Batchelor.
Intro to CIT 594
Welcome to CS 115! Introduction to Programming. Class URL Please write this down!
Prof. Matthew Hertz WTC 207D /
Computer Network Fundamentals CNT4007C
Introduction. » How the course works ˃Homework ˃Project ˃Exams ˃Grades » prerequisite ˃CSCI 6441: Mandatory prerequisite ˃Take the prereq or get permission.
Prof. Matthew Hertz WTC 207D /
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
Prof. Matthew Hertz WTC 207D /
COMP Introduction to Programming Yi Hong May 13, 2015.
CS 103 Discrete Structures Lecture 01 Introduction to the Course
MGS 351 Introduction to Management Information Systems
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
1 540F07intro1Aug21 CIS 540 and CIS 543 Software Engineering Project I Dr. Gustafson Office Hours: TU8:30.
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
Chapter 1: Introduction to Project Management
Prof. Matthew Hertz SH 1029F /
James Tam CPSC 203: Introduction To Computers (Independent Study) James Tam.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Course Introduction Software Engineering
BZUPAGES.COM Introduction1 Professional Practices Lecturer: Sadaf Majeed Sial Lecture: 1 st Lecture time: 3:30 – 5:00 pm Tutorial Days: Monday, Tuesday.
CSC444F'06Lecture 11 CSC444 Software Engineering Prof. David A. Penny Lectures Will start at 7:10 pm Break at 8:00 pm, Resume at 8:10 pm End at 9:00 pm.
Prof. Matthew Hertz WTC 207D /
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
2011 By Kristin Rowe. Introduction Introduction | Task | | Process | Evaluation | Conclusion | Credits | Teacher PageTask | Process Evaluation Conclusion.
Welcome to Physics 1D03.
How to start Milestone 1 CSSE 371 Project Info There are only 8 easy steps…
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Welcome CSCI 1100/1202 Intro to Computer Science Winter 2002.
IST359: Introduction to DBMS IST359 Spring 2013 Instructor : Michael Fudge t o.110b Hinds w.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
01 - Course Intro.CSC4071 CSC407S / 2103S Software Architecture & Design Prof. Penny Bahen 5228 Office hours: Wednesdays 10:00 – 11:00.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
Advanced Legal Writing Seminar: Wednesdays, 10:00 p.m. EST Office Hours: Mondays from 3 – 5 p.m. EST, and by appointment AIM sign-in: cssouthall
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS 139 – Algorithm Development MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE.
MGS 351 Introduction to Management Information Systems Lecture #1.
Dr. Jeff Cummings MIS323 Business Telecommunications.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CSC444F'07Lecture 41 CSC444 Software Engineering Top 10 Practices.
Computer Networks CNT5106C
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
01 - Course Intro.CSC4071 CSC407S / 2103S ECE450S Software Architecture & Design (ECE: Software Engineering II) Prof. Penny LP396C
MIS 610: Seminar in Information Systems Management Yong Choi School of Business Administration CSU, Bakersfield.
The Information School of the University of Washington Information System Design Info-440 Autumn 2002.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Alexandra Stefan University of Texas at Arlington 1.
Computer Network Fundamentals CNT4007C
電腦圖學 Computer Graphic with Programming
CS6501 Advanced Topics in Information Retrieval Course Policy
Computer Networks CNT5106C
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1010! Algorithmic Problem Solving.
CS 139 – Programming Fundamentals
Welcome to Physics 1D03.
CS Problem Solving and Object Oriented Programming Spring 2019
Presentation transcript:

CSC444F'07Introduction1 CSC444 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:

CSC444F'07Introduction2 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.

CSC444F'07Introduction3 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

CSC444F'07Introduction4 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 > $500M in revenues to-date Consultant 1999 – 2003 –Software management consulting (~10 engagements) UofT CS 2000 – 2003 –Associate Professor Electronics Workbench 2003 – 2005 –VP R&D – Acquired by National Instruments –MultiSim/UltiBoard/UltiRoute (8MLOC) Ceryx 2005 – present –CIO –Provisioning system

Text Required Course Text: –Professional Software Development 2007 edition by David A. Penny ~350 pages –Can buy from me starting next week for $60. CSC444F'07Introduction5

CSC444F'07Introduction6 Grades 2 Solo Assignments – 15% each –A1: Self-Aware Programming –A2: 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

CSC444F'07Introduction7 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

LET’S GET STARTED! CSC444F'07Introduction8

CSC444F'06Lecture 19 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

CSC444F'06Lecture 110 infrastructure control refinement source code control defect/feature tracking reproducible builds automated regression testing release planning feature specifications architectural control business planning effort tracking process control

CSC444F'06Lecture 111 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

CSC444F'06Lecture 112 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.

CSC444F'07Introduction13 Tentative Lecture Schedule dateLectureEvaluation Sep.10Course Introducton, Software Business Environment (ch.15) Sep.17 Release Cycle Overview (ch.3), Releases (ch.7), Versions (ch.8) A1 out Sep.24Top 10 Practices (ch.1), Source Control (ch.9) Oct.1Builds (ch.9) Oct.15Quality Assurance (ch.10)A1 due, A2 out, Oct.22Release Planning (ch.2,3,4) Oct.29Capacity Constraint (ch,5,A,C) Nov.5Estimation (ch.6)A2 due, A3 out Nov.12Defect and Feature Tracking (ch.11,12) Nov.19Process Control (ch.13) Nov.26Architecture (ch.14) Dec.3Proposals and Business Plans (ch.16) - Exam ReviewA3 due