软件工程双语复习提纲.docx
《软件工程双语复习提纲.docx》由会员分享,可在线阅读,更多相关《软件工程双语复习提纲.docx(13页珍藏版)》请在冰豆网上搜索。
软件工程双语复习提纲
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,evolutionarydevelopmentandcomponent-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;
-Productrisksaffectthequalityorperformanceofthesoftwarebeingdeveloped;
-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,howthesystemshouldreacttoparticularinputsandhowthesystemshouldbehaveinparticularsituations.
-Non-functionalrequirements
•Constraintsontheservicesorfunctionsofferedbythesystemsuchastimingconstraints,constraintsonthedevelopmentprocess,standards,etc.
-Thetypesofnon-functionalrequirementare:
productrequirements,organisationalrequirements,externalrequirements.
-Functionalrequirementssetoutservicesthesystemshouldprovide.
-Non-functionalrequirementsconstrainthesystembeingdevelopedorthedevelopmentprocess.
*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.Theclientissimplyresponsibleforrunningthepresentationsoftware.
-Fat-clientmodel
•Inthismodel,theserverisonlyresponsiblefordatamanagement.Thesoftwareontheclientimplementstheapplicationlogicandtheinteractionswiththesystemuser.
*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.370)
Figure:
theMVCmodelofuserinteraction
*HowtodesignUI(Informationpresentation,pp.375)
Figure**.1Aninputtextboxusedbyanurse
Figure**.2systemanduser-orientederrormessages
*TheUIdesignprocess
-The3coreactivitiesinthisprocessare:
•Useranalysis.Understandwhattheuserswilldowiththesystem;
•Systemprototyping.Developaseriesofprototypesforexperiment;
•Interfaceevaluation.Experimentwiththeseprototypeswithusers.
*Someevaluationofauserinterfacedesignshouldbecarriedouttoassessitssuitability.