17
Programming Languages, Software Engineering and Numerical Methods CEE 373

Programming Languages, Software Engineering and Numerical Methodscgong/cee373/documents/CEE373Lecture02.… · Roadmap SANDBOX Modeling concepts, scales and approaches SANDBOX Programming

  • Upload
    lydieu

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Programming Languages,Software Engineering and

Numerical MethodsCEE 373

Roadmap

SANDBOX

Modeling concepts,scales and approaches

SANDBOXProgramming

languages, softwareengineering &

numerical methods

DESIGN

IMPLEMENTATION

Examination ofEquilibrium-based

Code

IMPLEMENTATION

Examination ofReaction Rate-based

Code

IMPLEMENTATION

Examination ofExisting Models forComplex Systems

Project Proposal

IMPLEMENTATION

Visualization, InterfaceDesign and Usability

READINESS

Internal Testing andCode Freeze

RELEASE

Final Presentations("Rollout")

Computing in a Nutshell

Operating Systems

LinuxWindows

UnixMacOSPalmOSSymbian

Programming

AssemblyC/C++/C#Java/J++/J#

FortranBASICPHP

Platforms

DesktopLaptop

HandheldServer

EmbeddedNetworked/Parallel

The Cross-Functional Team

PRODUCT MANAGER

Defines the product'smarketing and

functionalrequirements.

PROJECT MANAGER

Manages teamrelationships and

engineering schedule.

SOFTWARE ENGINEER

BUILD ENGINEER

Manages source codeversions and createssoftware packages.

TEST ENGINEER

Creates and executestest plans. Tracks bugs

and regresses fixes.

SUPPORT ENGINEER

Monitors bugs andplans support strategy.

Anticipates userexperience.

Creates code perassignment fromproject manager.

TECHNICAL WRITER

Provides userdocumentation.

PRODUCTION MGR.

Creates packages foruser. Creates and

enumerates BOMs.

SALES MANAGER

Interface with theuser.

Software Engineering• Product Life Cycles

Software Engineering

• Product Life Cycles

Project Management Process

STEP 1

Identify and frame theproblem oropportunity.

STEP 2

Identify and define thebest project solution.

STEP 3

STEP 4

Prepare the controlschedule and resource

allocation.

STEP 5

Estimate project costsand prepare a project

budget.

STEP 6

Analyze risk andestablish stakeholder

relationships.

Identify task andresource

requirements.

STEP 7

Maintain control andcommunicate asneeded during

execution.

STEP 8

Manage to an orderlyclose-out.

After Heerkens, 2002

Skill Requirements:• Project management process• Interpersonal and behavioral• Technology management• Desired personal traits

Software Engineering

SKELETON

Define the logic, dataand shell structures.

No features included.

PROTOTYPING

Proof-of-conceptcode. Primitive

features.

DEVELOPMENT

α CANDIDATES

Features are stableenough for testing.

β CANDIDATES

Whole package isstable enough for

testing.

FINAL CANDIDATES

Whole package isstable enough for

compatibility testing.

Development offeatures as stated in

requirementsdocuments.

GM CANDIDATES

Whole package meetsrequirements for

production.

FROZEN PRODUCT

Package is designatedas to be sent intomass production.

RELEASED PRODUCT

Product that isreleased to users.

Software Quality AssuranceDESIGN TESTING

Testing design ideas.

WHITE BOX TESTING

Use understandingand access to thesource code to

develop test cases.

BLACK BOX TESTING

Test planning

Acceptance testing

Initial stability assessment

Function test, system test, verification, andvalidation

Beta testing

Integrity and release testing

Final acceptance testing and certification

REGRESSION TESTING

Make sure that a fix does what it's supposed to do.Make sure that the change didn't disturb anything else.

Bugs

REPORTING & ANALYZING

TESTERExplain how to reproduce the problem.

Analyze the error so you can describe it in aminimum number of steps.

Write a report that is complete, easy to understand,and non-antagonistic.

Assigns severity rating.

PROJECT MANAGERAssigns bug to a programmer.

Assigns priority rating and current status.

TRACKING

Team members can track the status of a bug.

Project Manager produces periodic bug reports.

Project Manager leads bug review meetings to decidewhether bugs are fixed, not fixed, causing a newproblem, irreproducible, deferred, or not a bug.

Deferrals are used to "close" all lingering bugs so aproduct can ship to a user.

Tracking system metrics is used to compare growingnumber of bugs versus rate of closure.

Numerical Methods

Press et al, 1992

Numerical Methods

Press et al, 1992

Numerical Methods

Press et al, 1992

Numerical Methods

Press et al, 1992

Numerical Methods

Press et al, 1992

Roadmap

SANDBOX

Modeling concepts,scales and approaches

SANDBOXProgramming

languages, softwareengineering &

numerical methods

DESIGN

IMPLEMENTATION

Examination ofEquilibrium-based

Code

IMPLEMENTATION

Examination ofReaction Rate-based

Code

IMPLEMENTATION

Examination ofExisting Models forComplex Systems

Project Proposal

IMPLEMENTATION

Visualization, InterfaceDesign and Usability

READINESS

Internal Testing andCode Freeze

RELEASE

Final Presentations("Rollout")

Assignment: Project ProposalA. SCIENTIFIC LITERATURE REVIEW

Provide background information on the scientific or engineeringarea with which the project is related.

B. CONCEPTUAL DESIGN

Description of compartments and processes. Schematic ofmodel environment.

C. MARKETING REQUIREMENTS

Document how there is a need for the proposed product. Showhow there is differentiation from existing products. Use

information athttp://www.epri.com/eprisoftware/processguide/srdc.html

as a guideline.

D. FUNCTIONAL REQUIREMENTS

Provide a description of the software including functionalcapabilities and user interactions. Include how the user

will learn to use your product. Check outhttp://www.epri.com/eprisoftware/processguide/fscontents.html

as a guideline.

E. TEST PLAN

Create a list of tests that can be applied to the product to makesure that it is functional and usable, and meets the

documented requirements.

F. PROJECT SCHEDULE

Create a timeline showing project tasks, resource allocation,durations and relationships.. Be sure to declare the

frequency of checking the schedule during the project todetermine if adjustments to the schedule need to be

made.