Stanford CEE 373 - Programming Languages, Software Engineering and Numerical Methods

Unformatted text preview:

Programming Languages,Software Engineering andNumerical MethodsCEE 373RoadmapSANDBOXModeling concepts,scales and approachesSANDBOXProgramminglanguages, softwareengineering &numerical methodsDESIGNIMPLEMENTATIONExamination ofEquilibrium-basedCodeIMPLEMENTATIONExamination ofReaction Rate-basedCodeIMPLEMENTATIONExamination ofExisting Models forComplex SystemsProject ProposalIMPLEMENTATIONVisualization, InterfaceDesign and UsabilityREADINESSInternal Testing andCode FreezeRELEASEFinal Presentations("Rollout")Computing in a NutshellOperating SystemsLinuxWindowsUnixMacOSPalmOSSymbianProgrammingAssemblyC/C++/C#Java/J++/J#FortranBASICPHPPlatformsDesktopLaptopHandheldServerEmbeddedNetworked/ParallelThe Cross-Functional TeamPRODUCT MANAGERDefines the product'smarketing andfunctionalrequirements.PROJECT MANAGERManages teamrelationships andengineering schedule.SOFTWARE ENGINEERBUILD ENGINEERManages source codeversions and createssoftware packages.TEST ENGINEERCreates and executestest plans. Tracks bugsand regresses fixes.SUPPORT ENGINEERMonitors bugs andplans support strategy.Anticipates userexperience.Creates code perassignment fromproject manager.TECHNICAL WRITERProvides userdocumentation.PRODUCTION MGR.Creates packages foruser. Creates andenumerates BOMs.SALES MANAGERInterface with theuser.Software Engineering• Product Life CyclesSoftware Engineering• Product Life CyclesProject Management ProcessSTEP 1Identify and frame theproblem oropportunity.STEP 2Identify and define thebest project solution.STEP 3STEP 4Prepare the controlschedule and resourceallocation.STEP 5Estimate project costsand prepare a projectbudget.STEP 6Analyze risk andestablish stakeholderrelationships.Identify task andresourcerequirements.STEP 7Maintain control andcommunicate asneeded duringexecution.STEP 8Manage to an orderlyclose-out.After Heerkens, 2002Skill Requirements:• Project management process• Interpersonal and behavioral• Technology management• Desired personal traitsSoftware EngineeringSKELETONDefine the logic, dataand shell structures.No features included.PROTOTYPINGProof-of-conceptcode. Primitivefeatures.DEVELOPMENTα CANDIDATESFeatures are stableenough for testing.β CANDIDATESWhole package isstable enough fortesting.FINAL CANDIDATESWhole package isstable enough forcompatibility testing.Development offeatures as stated inrequirementsdocuments.GM CANDIDATESWhole package meetsrequirements forproduction.FROZEN PRODUCTPackage is designatedas to be sent intomass production.RELEASED PRODUCTProduct that isreleased to users.Software Quality AssuranceDESIGN TESTINGTesting design ideas.WHITE BOX TESTINGUse understandingand access to thesource code todevelop test cases.BLACK BOX TESTINGTest planningAcceptance testingInitial stability assessmentFunction test, system test, verification, andvalidationBeta testingIntegrity and release testingFinal acceptance testing and certificationREGRESSION TESTINGMake sure that a fix does what it's supposed to do.Make sure that the change didn't disturb anything else.BugsREPORTING & ANALYZINGTESTERExplain 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.TRACKINGTeam 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 MethodsPress et al, 1992Numerical MethodsPress et al, 1992Numerical MethodsPress et al, 1992Numerical MethodsPress et al, 1992Numerical MethodsPress et al, 1992RoadmapSANDBOXModeling concepts,scales and approachesSANDBOXProgramminglanguages, softwareengineering &numerical methodsDESIGNIMPLEMENTATIONExamination ofEquilibrium-basedCodeIMPLEMENTATIONExamination ofReaction Rate-basedCodeIMPLEMENTATIONExamination ofExisting Models forComplex SystemsProject ProposalIMPLEMENTATIONVisualization, InterfaceDesign and UsabilityREADINESSInternal Testing andCode FreezeRELEASEFinal Presentations("Rollout")Assignment: Project ProposalA. SCIENTIFIC LITERATURE REVIEWProvide background information on the scientific or engineeringarea with which the project is related.B. CONCEPTUAL DESIGNDescription of compartments and processes. Schematic ofmodel environment.C. MARKETING REQUIREMENTSDocument how there is a need for the proposed product. Showhow there is differentiation from existing products. Useinformation athttp://www.epri.com/eprisoftware/processguide/srdc.htmlas a guideline.D. FUNCTIONAL REQUIREMENTSProvide a description of the software including functionalcapabilities and user interactions. Include how the userwill learn to use your product. Check outhttp://www.epri.com/eprisoftware/processguide/fscontents.htmlas a guideline.E. TEST PLANCreate a list of tests that can be applied to the product to makesure that it is functional and usable, and meets thedocumented requirements.F. PROJECT SCHEDULECreate a timeline showing project tasks, resource allocation,durations and relationships.. Be sure to declare thefrequency of checking the schedule during the project todetermine if adjustments to the schedule need to


View Full Document

Stanford CEE 373 - Programming Languages, Software Engineering and Numerical Methods

Download Programming Languages, Software Engineering and Numerical Methods
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Programming Languages, Software Engineering and Numerical Methods and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Programming Languages, Software Engineering and Numerical Methods 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?