軟件工程課件_第1頁
軟件工程課件_第2頁
軟件工程課件_第3頁
軟件工程課件_第4頁
軟件工程課件_第5頁
已閱讀5頁,還剩232頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1WelcometoSoftwareEngineering2PrefaceWhat’sthiscourse?Software+

PhilosophySoftwareprocess–softwarelifecycleMethodsofsoftwaredevelopmentManagementofsoftwaredevelopmentObjectives:

understanding,development,managementofsoftware:--moremethodologythantechnologyTextbook/reference:

1.SoftwareEngineering:apractitioner’sapproachRogerS.Pressman(English,Chinese)McGraw-Hill2.軟件工程實踐教程趙池龍,姜義平,張建電子工業(yè)出版社

3.軟件工程應用實踐教程吳潔明,袁山龍清華大學出版社4.

UML系統(tǒng)分析與應用案例龔振燕人民郵電出版社5.系統(tǒng)分析師UML務實手冊邱鬱惠機械工業(yè)出版社6.PracticalSoftwareEngineering:ACaseStudyApproachL.A.Maciaszek7.從軟件實踐到軟件工程

蔡智明電子工業(yè)出版社3PolicyoffinalmarkingfortheSE10%Participation20%Assignment70%Finalexam5OutlineofthecourseOverviewofSoftwareEngineering

SoftwareProcess:Softwarelifecycle,Processmodel,CMMSystemEngineering,informationengineering

/productengineering,

Feasibilitystudy4.RequirementsEngineering,SystemModeling,FunctionModeling,BehaviorModeling,DataModeling,Datadictionary5.SoftwareDesignPrinciples,ModularDesign,DesignMethods6Object-OrientedMethod:Modelingofscenario,Modelingofsemanticclasses,Modelingofattributes,Modelingofrelationships,ModelingofbehaviorsSoftwareTesting:Testingprinciples,Testcasedesign,TestingstepsManagingSoftwareProject:Peoplemanagement,Projectplanning,Riskmanagement,Softwareconfigurationmanagement

AdvancedTopics:Softwarereuse,CASE,ReverseEngineering/Re-engineering,Formalmethod,etc.

7Philosophies:MethodologyofthinkingThinkingmore,higher,largerandfurtherInvestigation,planningandRMMMbeforedoingSpecification,step-by-stepandkeepingconsistencyCombiningofdifferentareas/approachesBalancingamongalotoffactorsThinkingasanotherroleAnypointcouldbetheseatodiveNevergiveuporgiveupimmediatelyifbelieveyourselfCaptureopportunitiesandcreateopportunitiesReuseyourresources:knowledge,technical,socialPractice-basedandDomain-oriented9WhatisSoftwareEngineering?Firstdefinition:theestablishmentanduseofsoundengineeringprincipleinordertoobtaineconomically

softwarethatisreliableandworksefficientlyonrealmachine

method,lowcost,highqualityIEEE:TheapplicationofengineeringtosoftwareThescience&artofbuildinglargesoftware10ThegoalsofSEToproducesoftwarethatiscorrect.Toproducesoftwarewithaminimumofeffort.ToproducesoftwareatlowestpossiblecostToproducesoftwareinleastpossibletimeToproducesoftwarewithaminimumofmaintenance

Art:

bestbalanceamongthegoals--Myths(神話)?…SEuseful?

11WhatisSoftware?--differentviewsofsoftwareindifferentlevelsSoftware=Programincomputerlanguage

-fromProgramming

???

Software=Program+DataStructure

-fromalgorithmdesignSoftware=Program+Documentation(softwareofsoftware)(requirements,design,programming,testing,maintenance…)

-fromSE13Ch.2SoftwareProcessThelevelsofSE:Quality:ourfocusProcess:howtodoMethod:howtothinkTool:supportandcontrolof*

*method,processandquality

14SoftwareEngineeringALayeredSESoftwareEngineeringa“quality”focusprocessmodelmethodstools15Softwareprocess:softwarelifecycleThecollectionofmajoractivitiesthattakeplaceduringthelifetimeofasoftwaresysteme.g:requirements,design,coding,testing,maintenance17ProcessmodelWaterfallmodel:Linear(線性的)ModelPrototyping:iterative(迭代的)

Rapidapplicationdevelopment(RAD)IncrementaldevelopmentSpiralmodelComponentsbasedmodel:OOprocess,ReuseTool,CASEbasedmodel=>softwareautomationRationalUnifiedProcess:use-case,components-basedarchitecture,iterative+incrementalMicrosoftSolutionFramework.ProcessModel:analysis/design/develop/testing+spiral

Art:combinationoftheaboveprocesses(-登山的故事)--?Processmodeluseful?18AgiledevelopmentXP(eXtremeProgramming)pairprogramming,feedback(change),smallteamScrumMVC(Model-View-Controller)19TheWaterfallModel21EvolutionaryModel:Prototyping22IterativeModelsPrototypingRAD23TheRADModel25TheIncrementalModel26AnEvolutionary(Spiral)Model29inceptionTheUnifiedProcess(UP)30CapabilityMaturityModel/Integration

(CMM/CMMI):

togaugetheprocessofimprovingthesoftwareprocessInitiallevel:withoutprocedure,plan,control,…Repeatablelevel:controloverschedules,costs,…,earliersuccessescanberepeated.Definedlevel:standard,documentedprocessisinplace.Managedlevel:everythingisundercontrolwithquantitativedata.Optimizinglevel:attentionhasshiftedfromproducttoprocess.Thedatagatheredisusedtoimproveprocess.ProductandProcess--eggandchicken?ProductisfromProcess,ProcessisforProduct…Whichoneismoreimportant?31Ch.3SystemEngineeringWhatissystem?Asetorarrangementofthingssorelatedastoformaunityororganicwhole.由相互作用和依賴的若干部分組成的具有特定功能的有機整體,而系統(tǒng)本身又從屬一個更大的系統(tǒng)—錢學森Systemengineering

-veryhot(buzz)word,verymisty(woozy)meaningBasicproblem:Whatismysystem?Overallobjectives:hardware,software,people,database,process,methodContext:youcan’tseetheforestfortrees-BusinessProcess,BPR:BusinessProcessReengineeringInformationengineering

(businessprocess)

+productengineering:32BusinessProcessEngineering

33ProductEngineering34Systemengineering:FeasibilitystudyIdentificationofneedFeasibilitystudy:economic,technical,social,risk…Economicanalysis:costs,benefits,risk…Technicalanalysis:functions,performance,method,tool,people,risk…

Systemengineering:ContractstudyFunctions,Time,Cost,Responsibility,…??Systemengineering:ModelingSystemmodeling–Modeling是系統(tǒng)本質(zhì)的描述,以某種形式(文字,符號,圖表,公式,實物…)表示對系統(tǒng)的認識,模型不是系統(tǒng)本身,是系統(tǒng)的模擬和抽象Decisionmodeling–SelectionModelingSystemspecification–Proposal,Contract--?SystemEngineering&RequirementsEngineering

?--?Whoisbestpeopleforsystemengineer?35ACase:Party1:Univ.vs.Party2:TVBranch.MakingContractofasoftwaredevelopment1.Function:2.Funding:3.Time:……36Ch.4RequirementsEngineeringObjectives:

DiscoveryforrequirementsRefinementforrequirementsModelingforrequirementsSpecificationforrequirementsPeople:developer(systemanalyst,systemengineer)+customer+…Possibleprocedure:communication,problemanalysisandevaluation,modeling,specification,review37Focus:What>HowWhatarerequirementsofthesystem?Howtodo…coding?CommunicationCommonprocess:studyofsystemspecificationprojectplan,investigation,visiting,meeting,…

Helpfulquestions:Whoisbehindtherequestforthiswork?Whowillusethesolution?Canyoushowmetheenvironment?andmeta-questions:questionofquestion,softwareofsoftware,processofprocess(CMM),programofprogram,formofform,dataofdata,knowledgeofknowledge…FacilitatedApplicationSpecificationTechniques–FASTteam+FASTmeeting38RequirementsGatheringFacilitatedApplicationSpecificationTechniquesSoftwareEngineeringGroupCustomerGroup39ThelevelsofrequirementsBusinessrequirementsUserrequirementsFunctionrequirements40ProblemAnalysisPrinciplesUnderstandingtheproblems,informationdomain(concepts,flow,structure)-BusinessmodelingDefiningData:concepts,entity,class…EliminateambiguityFunctions:dataflowbehaviorsofsoftware:controlflow,statetransitionModelinglayeredpartitions(top-down)Multipleviewsofmodel:modelofdata,functions,behaviorsUsingprototype:closed-ended(throwawayprototyping),open-ended(evolutionaryprototyping)Recordingtheorigin&reasonsofeveryrequirement:--Traceability:controlchange;trace

requirement41TheAnalysisModelDataModelBehavioralModelFunctionalModel42Modeling:-StructureofModelingDatamodelingObjects(entity):attributes,relationshipsEntity-RelationshipDiagram(ERD)Datadictionary:Indexing-alphabetic;chapter,pageFunctionModeling:Data-flowdiagram(DFD)BehaviorModeling:State-transitiondiagram(STD),CFDSA-StructuredAnalysis:Notations:ERD+DFD+(CFD+STD)StepwiseRefinement:

layeredpartitions(top-down)Processspecification+(ControlSpecification):naturallanguage,structuredlanguage,table…Modelingtools:PowerDesigner,Visio,RationalRose,Eclipse…SoftwareRequirementsSpecification:Numbering-layerSpecificationReview43DataObjectsandAttributesAdataobjectcontainsasetofattributesthatactasanaspect,quality,character-istic,ordescriptoroftheobjectobject:automobileattributes:makemodelbodytypepriceoptionscode44ERDNotation(0,m)(1,1)objectobjectrelationship12Onecommonform:(0,m)(1,1)object1object2relationshipAnothercommonform:attribute45TheERD:AnExample(1,1)(1,m)placesCustomerrequestforservicegenerates(1,n)(1,1)workorderworktasksmaterialsconsistsoflists(1,1)(1,w)(1,1)(1,i)selectedfromstandardtasktable(1,w)(1,1)46TheFlowModelEverycomputer-basedsystemisaninformationtransformcomputerbasedsysteminputoutput47FlowModelingNotationexternalentityprocessdataflowdatastore48ExternalEntityAproducerorconsumerofdataExamples:aperson,adevice,asensorAnotherexample:computer-basedsystemDatamustalwaysoriginatesomewhereandmustalwaysbesenttosomething49ProcessAdatatransformer(changesinputtooutput)Examples:computetaxes,determinearea,formatreport,displaygraphDatamustalwaysbeprocessedinsomewaytoachievesystemfunction50DataFlowDataflowsthroughasystem,putetriangleareabaseheightareaControlFlow51Input“base,height”Area=base*height/2Output“Area”52DataStoresDataisoftenstoredforlateruse.look-upsensordatasensor#reportrequiredsensor#,type,location,agesensordatasensornumbertype,location,age53Level0:DFDExampleuserprocessingrequestvideosourceNTSCvideosignaldigitalvideoprocessorrequestedvideosignalmonitor54TheDataFlowHierarchyPabxyp1p2p3p4p5abcdefglevel0level155ProcessSpecification(PSPEC)PSPECnarrativepseudocode(PDL)equationstablesdiagramsand/orchartsbubble56MapsintoDFDs:ALookAheadanalysismodeldesignmodel57BehavioralModelingOutsideworldApplicationeventsbehavior58BuildingaDataDictionary59DataDictionaryNotation60DataDictionaryExample61WritingtheSoftwareSpecificationEveryoneknewexactlywhathadtobedoneuntilsomeonewroteitdown!62SpecificationGuidelinesusealayeredformatthatprovidesincreasingdetailasthe"layers"deepen

useconsistentgraphicalnotationandapplytextualtermsconsistently

besuretodefineallacronyms(縮寫詞)

besuretoincludeatableofcontents;ideally,includeanindexand/oraglossary

writeinasimple,unambiguousstyle

alwaysputyourselfinthereader'sposition,"WouldIbeabletounderstandthisifIwasn'tfamiliarwiththesystem?"63SpecificationGuidelines

Watchoutforvaguetermssome,sometimes,often,usually,ordinarily,mostly,...

Whenlistsaregiven,butnotcompleted,besureallitemsareunderstoodetc.,andsoforth,andsoon,suchas

Besurestatedrangesdon'tcontainunstatedassumptionse.g.,Validcodesrangefrom10to100.

Integer?Real?Hex?

Theparametersareinitialized?.

Whenastructureisdescribedinwords,drawapicture64Ch.5Object-OrientedMethodOOprocessmodel–

reuseObjectsandClassesObject:Data(attributes)+theirOperations(methods,services)Class:

-Anentitythatcapturesthecommonpropertiesofagroupofobjects;-Anobjectisaninstanceofaclass;-Anabstractionofobjects/subclassesMessage:sender,receiver,operation,parameter65Encapsulation:data+operations-enclosedbythe“wall”ofclasses/objectsinformationhiding:inaccessibletoothersifIdon’tlike.Inheritance–

reuseSubclass/objectinheritssuperclass(attributes,operations)Newattributes/operationsmaybeaddedtosubclassPolymorphismDifferentoperationshavesamenameOperation(function)overloading66Encapsulation/HidingTheobjectencapsulatesbothdataandthelogicalproceduresrequiredtomanipulatethedataAchieves

“informationhiding”method#1datamethod#2method#4method#5method#6method#367Classstud{private:intnum;charname[10];

…public:voiddisplay(){cout<<“num:”<<num<<ednl;cout<<“name:”<<name<<ednl;

}68Classstudent:publicstud{private:intage;charaddr[10];

…public:voiddisplay-1(){cout<<“age:”<<age<<ednl;cout<<“address:”<<addr<<ednl;

};Studentstudent1

Classteacher{Mesg:

……student1.display-1

……}69Classfindmax{voidmax(int,int);voidmax(int,int,int);voidmax(int,int,int,int);}voidmax(int,int){……}voidmax(int,int,int){…..}voidmax(int,int,int,int){……}USE:Max(3,5)Max(6,4,9)Max(18,6,9,4)

70OOA–

systemengineering/requirementsengineeringObjectives/tasks:UnderstandingrequirementsSpecifyingclasses(attributes+operations)Specifyingclass-hierarchySpecifyingOOrelationshipsObject-behaviormodelingDozensofOOAmethods:Coad&Yourdon,Rambaugh(OMT),Booch,Jocobson(OOSE)…RationalUnifiedProcess,UMLOOmodelingnotations-UML:UnifiedModelingLanguageOOlevels:applications,domain,enterpriseConformtobasicprinciplesofSE/RE71OOModelingUsecase,scenario:userrequirementsscenario-softwarefunctions,instanceofuse-caseUse-case-interactionbetweenan“actor”andthesystemSpecifyingclasses(attributes+operations):

CRC(ClassResponsibilityCollaborator)StaticmodelingSpecifyingclass-hierarchy:Gen-spec,Whole-partSpecifyingOOrelationships:is-a,has-a,part-of,member–of,works-for,employ,dependency,play…Dynamicmodeling(Internal+External)Object-behaviormodeling:State-transition,event-trace(objectinteractions,sequenceofmessages)

scenarios(usecases)+behaviors

operationsReview:bottom-up,top-down--Modelingofrealworld!OOmodelingtools:PowerDesigner,StarUML,Visio,RationalRose,Eclipse,NetBeans,…72Scenario-BasedModeling“[Use-cases]aresimplyanaidtodefiningwhatexistsoutsidethesystem(actors)andwhatshouldbeperformedbythesystem(use-cases).”IvarJacobsonascenariothatdescribesathreadofusage,asequenceofUseCaseinsystemactors

representrolespeopleordevicesplayasthesystemfunctionsusers

canplayanumberofdifferentrolesforagivenscenario73Use-CaseDiagram(inUML)74Use-CaseDiagram75Use-CasesAcollectionofuserscenariosthatdescribethethreadofusageofasystemEachscenarioisdescribedfromthepoint-of-viewofan“actor”—apersonordevicethatinteractswiththesoftwareinsomewayEachscenarioanswersthefollowingquestions:Whoistheprimaryactor,thesecondaryactor(s)?Whataretheactor’sgoals?Whatpreconditionsshouldexistbeforethestorybegins?Whatmaintasksorfunctionsareperformedbytheactor?Whatextensionsmightbeconsideredasthestoryisdescribed?Whatvariationsintheactor’sinteractionarepossible?Whatsysteminformationwilltheactoracquire,produce,orchange?Willtheactorhavetoinformthesystemaboutchangesintheexternalenvironment?Whatinformationdoestheactordesirefromthesystem?Doestheactorwishtobeinformedaboutunexpectedchanges?76ClassModelingIdentifyanalysisclassesbyexaminingtheproblemstatementIdentifytheattributesofeachclassIdentifyoperationsthatmanipulatetheattributes77WhatisaClass?externalentitiesthingsoccurrencesrolesorganizationalunitsplacesstructuresclassnameattributes:operations:78AnalysisClassesExternalentities(e.g.,othersystems,devices,people)thatproduceorconsumeinformationtobeusedbyacomputer-basedsystem.Things(e.g,reports,displays,letters,signals)thatarepartoftheinformationdomainfortheproblem.Occurrencesorevents(e.g.,apropertytransferorthecompletionofaseriesofrobotmovements)thatoccurwithinthecontextofsystemoperation.Roles(e.g.,manager,engineer,salesperson)playedbypeoplewhointeractwiththesystem.Organizationalunits(e.g.,division,group,team)thatarerelevanttoanapplication.Places(e.g.,manufacturingfloororloadingdock)thatestablishthecontextoftheproblemandtheoverallfunctionofthesystem.Structures(e.g.,sensors,four-wheeledvehicles,orcomputers)thatdefineaclassofobjectsorrelatedclassesofobjects.79ClassDiagram(inUML)FromtheSafeHomesystem…80ClassTypesEntityclasses,alsocalledmodelorbusinessclasses,areextracteddirectlyfromthestatementoftheproblem(e.g.,FloorPlanandSensor).Boundaryclasses

areusedtocreatetheinterface(e.g.,interactivescreenorprintedreports)thattheuserseesandinteractswithasthesoftwareisused.Controllerclasses

managea“unitofwork”fromstarttofinish.Thatis,controllerclassescanbedesignedtomanage(e.g.maincontroller,communicationbetweensetsofobjects)81ClassesHierarchyobject-orientedthinkingbeginswiththedefinitionofaclass,oftendefinedas:templategeneralizeddescription“blueprint”(藍圖)...describingacollectionofsimilaritemsameta-class(alsocalledasuperclass)establishesahierarchyofclassesonceaclassofitemsisdefined,aspecificinstanceoftheclasscanbeidentified82ClassHierarchyChairTableDesk”Chable"instancesofChairPieceOfFurniture(superclass)subclassesofthe83Gen-specHierarchy(inUML)ClientCompanyIndividual84ClassRelationship(inUML)85Composite(組合)Aggregate(聚合)Class(inUML)86Associations(關聯(lián))andDependenciesTwoanalysisclassesareoftenrelatedtooneanotherinsomefashionInUMLtheserelationshipsarecalledassociationsAssociationscanberefinedbyindicatingmultiplicity(多元,階元)Inmanyinstances,aclient-serverrelationshipexistsbetweentwoanalysisclasses.Insuchcases,aclient-classdependsontheserver-classinsomewayandadependencyrelationshipisestablished87Associations-Multiplicity(inUML)88Dependencies(inUML)89AnalysisPackages(inUML)90AnalysisPackagesVariouselementsoftheanalysismodel(e.g.,use-cases,analysisclasses)arecategorizedinamannerthatpackagesthemasagroupingThe+signprecedingtheanalysisclassnameineachpackageindicatesthattheclasseshavepublicvisibilityandarethereforeaccessiblefromotherpackages.Othersymbolscanprecedeanelementwithinapackage.A-signindicatesthatanelementishiddenfromallotherpackagesanda#symbolindicatesthatanelementisaccessibleonlytopackagescontainedwithinagivenpackage.91BehavioralModeling(Internal+Externalbehavior)Thebehavioralmodelindicateshowsoftwarewillrespondtoexternalevents.Tocreatethemodel,theanalystmustperformthefollowingsteps:Evaluatealluse-casestofullyunderstandthesequenceofinteractionwithinthesystem.Identifyeventsthatdrivetheinteractionsequenceandunderstandhowtheseeventsrelatetospecificobjects.Createasequenceforeachuse-case--ExternalbehaviorBuildastatediagramfortheclasses--InternalbehaviorReviewthebehavioralmodeltoverifyaccuracyandconsistency.92TheStatesofaSystemstate—asetofobservablecircum-stancesthatcharacterizesthebehaviorofasystematagiventimestatetransition—themovementfromonestatetoanotherevent—anoccurrencethatcausesthesystemtoexhibitsomepredictableformofbehavioraction—processthatoccursasaconsequenceofmakingatransition93BehavioralModelingmakealistofthedifferentstatesofasystem(Howdoesthesystembehave?)indicatehowthesystemmakesatransitionfromonestatetoanother(Howdoesthesystemchangestate?)indicateeventindicateaction94BehavioralModelingInthecontextofbehavioralmodeling,twodifferentcharacterizationsofstatesmustbeconsidered:thestateofeachclassasthesystemperformsitsfunctionandthestateofthesystemasobservedfromtheoutsideasthesystemperformsitsfunctiondrawastatediagram/asequencediagram95StateTransitionDiagram:Notationstatenewstateeventcausingtransitionactionthatoccurs96StateDiagramfortheControlPanelClass

(inUML)97StateDiagram(inUML)98SequenceDiagram

(objectinteractions,sequenceofmessages)IndicateshoweventscauseflowtransitionsfromobjecttoobjectAversionoftheuse-caseScenarios(usecases)+Behaviors(StateDiagram+SequenceDiagram)

operations99SequenceDiagram(inUML)100ActivityDiagram(inUML)Supplementstheuse-casebyprovidingadiagrammaticrepresentationofproceduralflow101SwimlaneDiagrams(inUML)Allowsthemodelertorepresenttheflowofactivitiesdescribedbytheuse-caseandatthesametimeindicatewhichactor(iftherearemultipleactorsinvolvedinaspecificuse-case)oranalysisclasshasresponsibilityfortheactiondescribedbyanactivityrectangle102103CRCModeling

-anotherwayofOOmodelingAnalysisclasseshave“responsibilities”Responsibilities

aretheattributesandoperationsencapsulatedbytheclassAnalysisclassescollaboratewithoneanother

Collaborators

arethoseclassesthatarerequiredtoprovideaclasswiththeinformationneededtocompletearesponsibility.Ingeneral,acollaborationimplieseitherarequestforinformationorarequestforsomeaction.104CRCModeling105

OOAtoOODOOAtoOOD:differentlevelsofclassabstractionOOAmodelingtoOODmodelingGenericcomponentsofOOD:Subsystemsdesign(architecturedesign):

Interface-Application-DataBase(ClassBase)-Mechanism-OS&HWObjectsdesign:

attributes

datastructure;scenarios(usecases)+behaviors

operations:procedureHCIdesign:reuseGUIMessagedesign:typeofmesg,mesgmodel,…Taskmanagementandconcurrency:event-driven,clock-driven,threadcontrol…Datamanagement:classlibrary,warehouse…Resourcemanagement:memory,disk,I/O…106Ch.6SoftwareDesignObjectives:architecturedesigncomponentdesigninterfacedesigndatadesignPeople:softwareengineerDesignprocess:StepwiseRefinement;OO:bottom-up+Top-DownDesignPrinciplesHierarchicalarchitecture:

C(p1+p2)>C(p1)+C(p2)

E(p1+p2)>E(p1)+E(p2)107Modularity:independentmoduledesignAbstraction:don’tcareaboutdetails,morereuseInformationhiding:inaccessibletoothermodulesSimpleinterface:reducethecauseoferrorsCohesion:highcohesion

(informationhiding,onemoduleperformsonetask,DIY…aboutgo-to?)Coupling:lowcoupling

(globaldata?contentinterconnection(go-to)?platformcoupling?

…)Fan-in&Fan-outcontrol:around5Sizeofamodule:around50-70linesofsourcecodeTraceabledesign:trackingrequirements-satisfiedorpartlysatisfiedornot?

Reuse:reuseexistingcomponents;buildnewcomponentsReview108AnalysisModel->DesignModel109ModularDesign110Modularity:Trade-offsWhatisthe"right"numberofmodulesforaspecificsoftwaredesign?optimalnumberofmodulescostofsoftwarenumberofmodulesmoduleintegrationcostmoduledevelopmentcost111SizingModules:TwoViews112需求跟蹤能力矩陣系統(tǒng)名稱:庫存管理系統(tǒng)

日期:2001/05/09

責任人:黃川用戶需求功能需求設計元素模塊測試用例

開發(fā)文檔管理文檔用戶文檔UR-104Stock_input,Contract_check,Contract_history

DFD-12,DD-08,DD-104,DD-105,ER-12IPO-104/105/106/107/201Stock_input(),Contract_check(),Contract_state(),

Contract_history()Test14Test15Test16

需求說明書概要設計詳細設計測試方案模塊開發(fā)卷宗開發(fā)計劃風險控制

用戶手冊培訓手冊聯(lián)機幫助UR-105Stock_query,Stock_count,Stock_historyDFD-10,DD-08,DD-9,DD-10,ER-12,IPO-10/11/13/107/20Query_log()Stock_query()Stock_count()Stock_history()Test11Test12Test13Test14需求說明書概要設計詳細設計測試方案模塊開發(fā)卷宗開發(fā)計劃風險控制

用戶手冊培訓手冊聯(lián)機幫助

113ArchitecturalDesignStylesData-centeredarchitecturesDataflowarchitecturesCallandreturnarchitecturesObject-orientedarchitecturesLayeredarchitectures(Threetier)client/server(B/S)architectureBus-basedsoftwarearchitecture(HierarchicalMessageBus,CORBA,DCOM,EJB)114Data-CenteredArchitecture115DataFlowArchitecture116CallandReturnArchitecture117LayeredArchitecture118Threetierdistributed(middleware)client/serverarchitecture

119Bus-basedsoftwarearchitecture-open,reuse

HMBBUS120OMG-CORBAArchitecture121AnArchitecturalDesignMethod"fourbedrooms,threebaths,lotsofglass..."architecturaldesign122DerivingArchitecture-ProcessorientedProgramArchitecture123PartitioningtheArchitecture“horizontal”and“vertical”partitioningarerequired124StructuredDesign(DFD-based)objective:toderiveaprogramarchitecturethatispartitionedapproach:theDFDismappedintoaprogramarchitecturethePSPECandSTDareusedtoindicatethecontentofeachmodulenotation:structurechart125SDDesignMethods-FlowCharacteristics:

Transformflow;Transactionflow

TransformflowTransactionflow126SDDesignMethodsMapping:softwarestructureTransformmapping:ReviewDFDSpecifytransform-center,incomingandoutgoingboundariesMap:maincontroller,incoming-dataprocess,transform-flowprocess,outgoing-dataprocessRefinelevelbylevel…Review–

Modularity!127TransformMappingApproachworkingfromtheboundaryoutward,mapDFDtransformsintocorrespondingmodulesaddcontrolmodulesasrequiredrefinetheresultantprogramstructureusingeffectivemodularityconceptsisolateincomingandoutgoingflowboundaries;128FirstLevelFactoringmainprogramcontrollerinputcontrollerprocessingcontrolleroutputcontroller129Factoring130TransformMapping131TransactionmappingReviewDFD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論