cs351/ it351 modeling and simulation software engineering dr. jim holten
TRANSCRIPT
![Page 1: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/1.jpg)
CS351/ IT351Modeling and Simulation
Software Engineering
Dr. Jim Holten
![Page 2: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/2.jpg)
Overview
A Little History
Project Needs
The Roadmap
A View from Afar
![Page 3: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/3.jpg)
History
In the beginning ...
![Page 4: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/4.jpg)
Machine code
Machine code is cryptic
It was a new concept, so people had to train themselves
There 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 ....??
![Page 5: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/5.jpg)
History
Order out of chaos
![Page 6: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/6.jpg)
Development Process
Describe the 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.
![Page 7: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/7.jpg)
History
Formalized approaches to software engineering
![Page 8: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/8.jpg)
Project Management Approaches
Waterfall...
Formal reviews.
Sign-offs.
Engineering Change Proposals........?
Spiral...
Waiting while we get sign-off....
![Page 9: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/9.jpg)
Software Developer Approaches
Top down design and coding
Bottom up design and coding
Mixtures of top-downs and bottom-up
Objects
Patterns
Data Flow Diagrams, SADT, HIPO, state diagrams, flow charts, ER diagrams, ...
UML
![Page 10: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/10.jpg)
Tools
IDEs
CASE
Blah blah blah ....
Nice concepts and features, but not “complete”.
Buggy too!
Heavy overhead – slows development.
![Page 11: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/11.jpg)
History
Getting less formal
![Page 12: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/12.jpg)
Management Impatience
Takes too long!
Want results right away!
Must invest too much before we see any results!
Frustrating!
![Page 13: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/13.jpg)
Developer Impatience
Too much documentation!
Squelches creativity!
Frustrating!
![Page 14: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/14.jpg)
Alternatives
Rapid prototyping
Extreme programming
Rapid development
Empower the programmer
![Page 15: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/15.jpg)
History
Losing it
![Page 16: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/16.jpg)
Self-organizing Developers?
Seven blind men and the elephant
Whose 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!!!
![Page 17: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/17.jpg)
History
In the beginning ...Order out of chaos!Formalized approaches to software engineeringGetting less formalLosing it
![Page 18: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/18.jpg)
Project View from Afar
![Page 19: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/19.jpg)
Projects
What does a project NEED?How should it be organized?Who should decide?How do we coordinate priorities and choices made?
![Page 20: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/20.jpg)
Project Needs
What are we supposed to be doing? -- a vision
![Page 21: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/21.jpg)
Vision
Vision statement
High level testable requirements
Subdivision into modules
Detailed testable requirements for modules
![Page 22: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/22.jpg)
Project View from Afar
![Page 23: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/23.jpg)
Project Needs
How shall we do it? -- a plan
![Page 24: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/24.jpg)
A Plan
Project plan
Design overview – subdivide into modules
Interface specifications
Detailed designs – each module
Programmer assignments
Schedules
Risk assessment
![Page 25: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/25.jpg)
Project View from Afar
![Page 26: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/26.jpg)
Project Needs
Getting down and dirty -- the coding
![Page 27: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/27.jpg)
The Coding
Coding standards
Version control
Standardized environments
Assignments
Problem reporting and resolution procedures
Unit testing – internal implementation correct
Unit delivery
![Page 28: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/28.jpg)
Project Needs
Does it work? -- testing, testing goals
![Page 29: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/29.jpg)
Project View from Afar
![Page 30: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/30.jpg)
Testing
“Unit” testing
Integration testing
Acceptance testing
Test plans
![Page 31: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/31.jpg)
Project Needs
You want what? -- merging changes
![Page 32: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/32.jpg)
Changes
Requirements change requests
Investigation, scoping, planning, and reporting
Merging it into the workflow
Updating documents, code, and tests
![Page 33: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/33.jpg)
Project View from Afar
![Page 34: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/34.jpg)
Project Needs
How do I install and use this thing? -- delivery
![Page 35: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/35.jpg)
Project Needs
Bugs? New features? -- new releases
![Page 36: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/36.jpg)
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
![Page 37: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/37.jpg)
A Roadmap -- Landmarks
VisionRequirementsDesignsInterface definitionsImplementation plansCoder assignmentsTest plansTests and test results
![Page 38: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/38.jpg)
Project View from Afar
![Page 39: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/39.jpg)
View From Afar
StoryboardingIterative and stepwise refinementMaking the project “flow”Taking control of what is importantAbility to judge relative significance of tasksAbility to easily shift resources and focus
![Page 40: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten](https://reader036.vdocument.in/reader036/viewer/2022062408/56649e9e5503460f94ba09ee/html5/thumbnails/40.jpg)
Project View from Afar