Tragedie in Holten! Het compleetste dossier over het Oad faillissement
CS 221/ IT 221 Lecture 14 Software Engineering Dr. Jim Holten.
-
date post
21-Dec-2015 -
Category
Documents
-
view
216 -
download
0
Transcript of CS 221/ IT 221 Lecture 14 Software Engineering Dr. Jim Holten.
Machine code
Machine code is crypticIt was a new concept, so people had to train themselvesThere were no design and development procedures to follow, so they invented their own.Code development was slow and unreliable.Good coders needed EXTREME discipline.Coordinating multiple efforts was ....??
Development Process
Describe problem in written language.Refine the concepts toward algorithms in the available instructions.Write the code.Translate to machine code.Put the program into the machine and run it.
Project Management Approaches
Waterfall...Formal reviews.Sign-offs.Engineering Change Proposals........?Spiral...Waiting while we get sign-off....
Software Developer Approaches
Top down design and codingBottom up design and codingMixturesObjectsPatternsData Flow Diagrams, SADT, HIPO, state diagrams, flow charts, ER diagrams, ...UML
Tools
IDEsCASEBlah blah blah ....
Nice concepts and features, but not
“complete”.
Buggy too!
Heavy overhead – slows development.
Management Impatience
Takes too long!Want results right away!Must invest too much before we see any results!Frustrating!
Self-organizing Developers?
Seven blind men and the elephantWhose vision do I follow?Each doing their own “right thing”Why won't they include this essential item in their interface for me?Who's in charge here?HELP!!!
History
In the beginning ...Order out of chaos!Formalized approaches to software engineeringGetting less formalLosing it
Projects
What does a project NEED?How should it be organized?Who should decide?How do we coordinate priorities and choices made?
Vision
Vision statementHigh level testable requirementsSubdivision into modulesDetailed testable requirements for modules
A Plan
Project planDesign overview – subdivide into modulesInterface specificationsDetailed designs – each moduleProgrammer assignmentsSchedulesRisk assessment
The Coding
Coding standardsVersion controlStandardized environmentsAssignmentsProblem reporting and resolution proceduresUnit testing – internal implementation correctUnit delivery
Changes
Requirements change requestsInvestigation, scoping, planning, and reportingMerging it into the workflowUpdating documents, code, and tests
Project Needs
What are we supposed to be doing? -- a visionHow shall we do it? -- a planGetting down and dirty -- the codingDoes it work? -- testing, testing goalsYou want what? -- merging changesHow do I install and use this thing? -- deliveryBugs? New features? -- new releases
A Roadmap -- Landmarks
VisionRequirementsDesignsInterface definitionsImplementation plansCoder assignmentsTest plansTests and test results