cs351/ it351 modeling and simulation software engineering dr. jim holten

40
CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Upload: laurel-hodges

Post on 12-Jan-2016

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

CS351/ IT351Modeling and Simulation

Software Engineering

Dr. Jim Holten

Page 2: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Overview

A Little History

Project Needs

The Roadmap

A View from Afar

Page 3: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

History

In the beginning ...

Page 4: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

History

Order out of chaos

Page 6: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

History

Formalized approaches to software engineering

Page 8: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

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

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

History

Getting less formal

Page 12: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

Developer Impatience

Too much documentation!

Squelches creativity!

Frustrating!

Page 14: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Alternatives

Rapid prototyping

Extreme programming

Rapid development

Empower the programmer

Page 15: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

History

Losing it

Page 16: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

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

Project View from Afar

Page 19: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

Project Needs

What are we supposed to be doing? -- a vision

Page 21: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

Project View from Afar

Page 23: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Project Needs

How shall we do it? -- a plan

Page 24: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

Project View from Afar

Page 26: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Project Needs

Getting down and dirty -- the coding

Page 27: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

Project Needs

Does it work? -- testing, testing goals

Page 29: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Project View from Afar

Page 30: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Testing

“Unit” testing

Integration testing

Acceptance testing

Test plans

Page 31: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Project Needs

You want what? -- merging changes

Page 32: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

Project View from Afar

Page 34: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Project Needs

How do I install and use this thing? -- delivery

Page 35: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Project Needs

Bugs? New features? -- new releases

Page 36: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

A Roadmap -- Landmarks

VisionRequirementsDesignsInterface definitionsImplementation plansCoder assignmentsTest plansTests and test results

Page 38: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

Project View from Afar

Page 39: CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten

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

Project View from Afar