软件工程双语复习提纲精.docx
《软件工程双语复习提纲精.docx》由会员分享,可在线阅读,更多相关《软件工程双语复习提纲精.docx(11页珍藏版)》请在冰豆网上搜索。
![软件工程双语复习提纲精.docx](https://file1.bdocx.com/fileroot1/2023-1/10/12bde622-709a-4f6d-b099-a99044fe2189/12bde622-709a-4f6d-b099-a99044fe21891.gif)
软件工程双语复习提纲精
Chapter1AnIntroductiontoSoftwareEngineering
*Whatissoftware?
-ComputerprogramsandassociateddocumentationandData
-Twofundamentaltypesofsoftwareproduct:
genericproductsandcustomizedproducts
*Whatissoftwareengineering?
-Softwareengineeringisanengineeringdisciplinewhichisconcernedwithallaspectsofsoftwareproduction
*Whatisthedifferencebetweensoftwareengineeringandcomputerscience?
-Computerscienceisconcernedwiththeoryandfundamentals;
-softwareengineeringisconcernedwiththepracticalitiesofdevelopinganddeliveringusefulsoftware
*Whatisasoftwareprocess?
-Asetofactivitieswhosegoalisthedevelopmentorevolutionofsoftware
-Genericactivitiesinallsoftwareprocessesare:
•Specification、Development、Validation、Evolution
Chapter4SoftwareProcess
*Softwareprocess
-Softwareprocessesaretheactivitiesinvolvedinproducingandevolvingasoftwaresystem.
-Astructuredsetofactivitiesrequiredtodevelopasoftwaresystem:
specification;designandimplementation;validation;evolution.
-Generalprocessactivitiesarespecification,designandimplementation,validationandevolution.
*Softwareprocessmodels
-Softwareprocessmodelsareabstractrepresentationsoftheseprocesses.
-Genericprocessmodelsdescribetheorganisationofsoftwareprocesses.Examplesincludethewaterfallmodel,evolutionarydevelopmentand
component-basedsoftwareengineering.
-waterfallmodelisonlyappropriatewhentherequirementsarewell-understoodandchanges
-Thewaterfallmodelismostlyusedforlargesystemsengineeringprojectswhereasystemisdevelopedatseveralsites
-Therearetwofundamentaltypesofevolutionarydevelopment:
exploratorydevelopmentandthrow-awayprototyping
-Exploratorydevelopmentshouldstartwithwell-understoodrequirementsandaddnewfeaturesasproposedbythecustomer
-Throw-awayprototypingshouldstartwithpoorlyunderstoodrequirementstoclarifywhatisreallyneeded.
-Evolutionarydevelopmentismostlyusedforsmallormedium-sizeinteractivesystemsandshort-lifetimesystems
*Iterativeprocessmodelsdescribethesoftwareprocessasacycleofactivities
Chapter5Projectmanagement
*Primaryprojectmanagementactivities:
-Proposalwriting.
-Projectplanningandscheduling.
-Projectcosting.
-Projectmonitoringandreviews.
-Personnelselectionandevaluation.
-Reportwritingandpresentations.
*Projectplanning
-Milestonesaretheend-pointofaprocessactivity.
-Deliverablesareprojectresultsdeliveredtocustomers.
*Projectscheduling
-Organizetasksconcurrentlytomakeoptimaluseofworkforce.
-Minimizetaskdependenciestoavoiddelayscausedbyonetaskwaitingforanothertocomplete.
-Graphicalnotationsusedtoillustratetheprojectschedule:
barchartsandactivitynetworks
-Activitychartsshowtaskdependenciesandthecriticalpath.
-Barchartsshowscheduleagainstcalendartime.
Taskdurationsanddependencies
Activitynetwork
Activitybarchart(Ganttchart
Staffallocationvs.timechartchart
*Riskmanagement
-Threerelatedcategoriesofrisk:
projectrisks,productrisks,businessrisks-Projectrisksaffectscheduleorresources;
-Productrisksaffectthequalityorperformanceofthesoftwarebeing
developed;
-Businessrisksaffecttheorganisationdevelopingorprocuringthesoftware-Theprocessofriskmanagementinvolvesseveralstages:
Riskidentification,Riskanalysis,Riskplanning,Riskmonitoring.
-Riskidentification:
Identifyproject,productandbusinessrisks;
-Riskanalysis:
Assessthelikelihoodandconsequencesoftheserisks;
-Riskplanning:
Drawupplanstoavoidorminimisetheeffectsoftherisk;
-Riskmonitoring:
Monitortherisksthroughouttheproject;
Theriskmanagementprocess
Chapter6SoftwareRequirements
*Typesofrequirement:
-Functionalandnon-functionalrequirements
-Userrequirementsandsystemrequirements
*Functionalandnon-functionalrequirements
-Functionalrequirements
•Statementsofservicesthesystemshouldprovide,howthesystemshouldreacttoparticularinputsandhowthesystemshouldbehavein
particularsituations.
-Non-functionalrequirements
•Constraintsontheservicesorfunctionsofferedbythesystemsuchastimingconstraints,constraintsonthedevelopmentprocess,standards,
etc.
-Thetypesofnon-functionalrequirementare:
productrequirements,
organisationalrequirements,externalrequirements.
-Functionalrequirementssetoutservicesthesystemshouldprovide.
-Non-functionalrequirementsconstrainthesystembeingdevelopedorthe
developmentprocess.
*Inprinciple,requirementsshouldbebothcompleteandconsistent.
-Complete
•Theyshouldincludedescriptionsofallfacilitiesrequired.
-Consistent
•Thereshouldbenoconflictsorcontradictionsinthedescriptionsofthesystemfacilities.
Chapter7RequirementsEngineeringProcesses
*Therequirementsengineeringprocessincludes
-Feasibilitystudy,requirementselicitationandanalysis,requirementsspecificationandrequirementsmanagement.
Chapter8SystemModel
*Differentmodelspresentthesystemfromdifferentperspectives
•Externalperspectiveshowingthesystem’scontextorenvironment;
•Behaviouralperspectiveshowingthebehaviourofthesystem;
•Structuralperspectiveshowingthesystemordataarchitecture.
*Twotypesofbehaviouralmodelare:
•Dataflowmodelsthatshowhowdataisprocessedasitmovesthroughthesystem;
•Statemachinemodelsthatshowthesystemsresponsetoevents.
Chapter11ArchitecturalDesign
*Architectureandsystemcharacteristics
-performance
•Localisecriticaloperationsandminimisecommunications.Uselargeratherthanfine-graincomponents.
-security
•Usealayeredarchitecturewithcriticalassetsintheinnerlayers.
-safety
•Localisesafety-criticalfeaturesinasmallnumberofsub-systems.
-Availability
•Includeredundantcomponentsandmechanismsforfaulttolerance.
-Maintainability
•Usefine-grain,replaceablecomponents,avoiddatashare
Chapter12DistributedSystemsArchitectures
*Distributedsystemsarchitectures
-Client-serverarchitectures
•Distributedserviceswhicharecalledonbyclients.Serversthatprovideservicesaretreateddifferentlyfromclientsthatuseservices.
-Distributedobjectarchitectures
•Nodistinctionbetweenclientsandservers.Anyobjectonthesystemmayprovideanduseservicesfromotherobjects.
*Middlewareisusuallyoff-the-shelfratherthanspeciallywrittensoftware.
*Layeredapplicationarchitecture
-Presentationlayer
•Concernedwithpresentingtheresultsofacomputationtosystemusersandwithcollectinguserinputs.
-Applicationprocessinglayer
•Concernedwithprovidingapplicationspecificfunctionalitye.g.,inabankingsystem,bankingfunctionssuchasopenaccount,closeaccount,
etc.
-Datamanagementlayer
•Concernedwithmanagingthesystemdatabases.
*Thinandfatclients
-Thin-clientmodel
•Inathin-clientmodel,alloftheapplicationprocessinganddatamanagementiscarriedoutontheserver.Theclientissimply
responsibleforrunningthepresentationsoftware.
-Fat-clientmodel
•Inthismodel,theserverisonlyresponsiblefordatamanagement.Thesoftwareontheclientimplementstheapplicationlogicandthe
interactionswiththesystemuser.
*Three-tierarchitectures
A3-tierC/Sarchitecture
*P2Parchitecturalmodels
-Peertopeerarchitecturesaredecentralisedarchitectureswherethereisnodistinctionbetweenclientsandservers.
-Thelogicalnetworkarchitecture
•Decentralisedarchitectures;
•Semi-centralisedarchitectures.
Decentralisedp2parchitecture
Semi-centralisedp2parchitecture
Chapter13Applicationarchitectures
*Importantclassesofapplicationaredataprocessingsystems,transactionprocessingsystems,eventprocessingsystemsandlanguageprocessingsystem.
*Dataprocessingsystemsoperateinbatchmodeandhaveaninput-process-outputstructure.
Chapter14Object-orientedDesign
*Objectsandobjectclasses
-Objectsareentitiesinasoftwaresystemwhichrepresentinstancesofreal-worldandsystementities.
-Objectsaremembersofclassesthatdefineattributetypesandoperations.
-Objectclassesaretemplatesforobjects.Theymaybeusedtocreateobjects.
-Objectclassesmayinheritattributesandservicesfromotherobjectclasses.
*Use-casemodelsareusedtorepresenteachinteractionwiththesystem.
Chapter16Userinterfacedesign*Humanfactorsininterfacedesign-Limitedshort-termmemory•Peoplecaninstantaneouslyrememberabout7itemsofinformation.Ifyoupresentmorethanthis,theyaremoreliabletomakemistakes.-Peoplemakemistakes•Whenpeoplemakemistakesandsystemsgowrong,inappropriatealarmsandmessagescanincreasestressandhencethelikelihoodofmoremistakes.-Peoplearedifferent•Peoplehaveawiderangeofphysicalcapabilities.Designersshouldnotjustdesignfortheirowncapabilities.-Peoplehavedifferentinteractionpreferences•Somelikepictures,someliketext.*Userinterfacedesignprinciples
*MVCapproaches(Informationpresentation,pp.370Figure:
theMVCmodelofuserinteraction*HowtodesignUI(Informationpresentation,pp.375Pleasetypethepatient’snameintheboxthenclickonOKPatient’snameMacDonald,R.OKCancelFigure**.1AninputtextboxusedbyanurseUser-orientederrormessageSystem-orientederrormessageError#27InvalidpatientidR.MacDonaldisnotaregisteredpatientClickonPatientsforalistofpatientClickonRetrytore-inputthepatient’snameClickonHelpformoreinformationPatientsHelpRetryCancelOKCancelFigure**.2systemanduser-orientederrormessages*TheUIdesignprocess-