Goal
Requirementanalysisisanimportantactivityinthesoftwareplanningstage,andanimportantlinkinthesoftwarelifecycle.Thisstageistoanalyzewhatthesystemneedstoachieveinfunction,notConsiderhowto"realize".Thegoalofrequirementanalysisistoanalyzeandsortoutthe"requirements"or"needs"putforwardbyusersforthesoftwaretobedeveloped,andformacomplete,clearandstandardizeddocumentafterconfirmation,todeterminewhichfunctionsthesoftwareneedstoachieveandwhichtaskstocomplete.Inaddition,somenon-functionalrequirementsofsoftware(suchassoftwareperformance,reliability,responsetime,scalability,etc.),softwaredesignconstraints,andtherelationshipbetweenruntimeandothersoftwarearealsothegoalsofsoftwarerequirementsanalysis.
Principles
Inordertopromotethestandardizationandscientificizationofsoftwareresearchanddevelopment,manysoftwaredevelopmentanddescriptionmethodshavebeenproposedinthesoftwarefield,suchasstructuredmethods,prototypingmethods,andobject-orientedmethods.Wait.Someofthesemethodsareverysimilar.Intheactualdemandanalysiswork.Eachrequirementanalysismethodhasauniqueideaandnotation,andbasicallyappliesthefollowingbasicprinciplesofrequirementanalysis.
(1)Focusonthedatadomainandfunctionaldomainoftheunderstandingproblem.Forthedataprocessedbythenewsystemprogram,thedatadomainincludesdataflow,datacontentanddatastructure.Thefunctionaldomainreflectsthecontrolprocessinginformationoftheirrelationship.
(2)Thedemandproblemshouldbedecomposedandrefined,andtheproblemhierarchyshouldbeestablished.Complicatedissuescanbedecomposedaccordingtospecificfunctions,performance,etc.andrefinedandanalyzedonebyone.
(3)Establishananalysismodel.Themodelincludesvariousdiagrams,whichisanimportantformofexpressionofthecharacteristicsoftheresearchobject.Throughthelogicalview,therelationshipbetweenthetargetfunctionandinformationprocessingcanbegiven,ratherthantheimplementationdetails.Thephysicalviewisdeterminedbythesystemoperationandprocessingenvironment,andtheactualmanifestationoftheprocessingfunctionanddatastructureisdeterminedbyit.
Content
Thecontentofrequirementsanalysisistoprovidecomplete,clearandspecificrequirementsforthesoftwaretobedeveloped,anddeterminewhichtasksthesoftwaremustachieve.Specifically,itisdividedintothreeaspects:functionalrequirements,non-functionalrequirementsanddesignconstraints.
1.Functionalrequirements
Functionalrequirementsrefertowhatthesoftwaremustaccomplish,whatfunctionsmustbeimplemented,andtheactionsrequiredtoprovideusefulfunctionstoitsusers.Functionalrequirementsarethemainbodyofsoftwarerequirements.Developersneedtocommunicatewithusersinperson,verifyuserrequirements,fullydescribeexternalbehaviorsfromtheperspectiveofsoftwarehelpinguserscompleteaffairs,andformsoftwarerequirementsspecifications.
2.Non-functionalrequirements
Asasupplementtofunctionalrequirements,thecontentofsoftwarerequirementsanalysisshouldalsoincludesomenon-functionalrequirements.Itmainlyincludesperformancerequirementsandoperatingenvironmentrequirementswhenthesoftwareisused.Softwaredesignmustfollowrelevantstandards,specifications,specificdetailsofuserinterfacedesign,possiblefutureexpansionplans,etc.
3.Designconstraints
Generally,theyarealsocalleddesignconstraints,whichareusuallyconstraintsonsomedesignorimplementationschemes.Forexample,itisrequiredthatthesoftwaretobedevelopedmustusetheOracledatabasesystemtocompletethedatamanagementfunction,andtheruntimemustbebasedontheLinuxenvironment.
Process
Theworkoftherequirementsanalysisstagecanbedividedintofouraspects:problemidentification,analysisandsynthesis,specificationformulation,andreview.
Issueidentification:istounderstandthesoftwarefromasystemperspective,determinethecomprehensiverequirementsforthedevelopedsystem,andproposetherealizationconditionsoftheserequirementsandthestandardsthattherequirementsshouldmeet.Theserequirementsinclude:functionalrequirements(whattodo),performancerequirements(whatindicatorstoachieve),environmentalrequirements(suchasmodel,operatingsystem,etc.),reliabilityrequirements(probabilityofnofailure),securityandconfidentialityrequirements,userinterfacerequirements,Resourceusagerequirements(memory,CPU,etc.requiredforsoftwareoperation),softwarecostconsumptionanddevelopmentschedulerequirements,pre-estimatethepossiblegoalsofthesysteminthefuture.
Analysisandsynthesis:Graduallyrefineallsoftwarefunctions,findouttheconnectionsbetweenthevariouselementsofthesystem,interfacecharacteristicsanddesignconstraints,analyzewhethertheymeettherequirements,andeliminateUnreasonablepart,increasetherequiredpart.Finally,itisintegratedintoasystemsolution,andadetailedlogicalmodelofthesystemtobedeveloped(modelofwhattodo)isgiven.
Formulatespecifications:Thatis,tocompiledocuments,andthedocumentsdescribingrequirementsarecalledsoftwarerequirementsspecifications.Pleasenotethattheresultoftherequirementsanalysisstageistherequirementsspecification,whichissubmittedtothenextstage.
Review:Toevaluatethecorrectness,completenessandclarityofthefunction,andotherrequirements.Onlyafterthereviewispassedcanthenextstageofworkbecarriedout,otherwisetherequirementsanalysisshallbecarriedoutagain.
Methods
Currently,therearemanysoftwarerequirementsanalysisanddesignmethods,someofwhicharesimilar,whileothershaveverydifferentbasicideas.Startingfromthedevelopmentprocessandcharacteristics,softwaredevelopmentgenerallyadoptssoftwarelifecycledevelopmentmethods,andsometimesusesdevelopmentprototypestohelpunderstanduserneeds.Insoftwareanalysisanddesign,acomprehensiveplanandanalysisarecarriedoutfromthetoptothebottom,andthenthedesignisrealizedstepbystep.
Startingfromsystemanalysis,demandanalysismethodscanberoughlydividedintofunctionaldecompositionmethods,structuredanalysismethods,informationmodelingmethods,andobject-orientedanalysismethods.
(1)Functiondecompositionmethod.
Thenewsystemisusedasacombinationofmultifunctionalmodules.Themeaningofeachfunctioncanbedecomposedintoseveralsub-functionsandinterfaces,andthesub-functionswillcontinuetobedecomposed.Youcangettheprototypeofthesystem,thatis,functionaldecomposition-functions,sub-functions,andfunctionalinterfaces.
(2)Structuredanalysismethod.
Thestructuredanalysismethodisamappingmethodfromtheproblemspacetoacertainrepresentation.Itisanimportantandgenerallyacceptedrepresentationsysteminthestructuredmethod.Itconsistsofadataflowdiagramandadatadictionary.Formandshow.Thisanalysismethodisalsocalledthedataflowmethod.Thebasicstrategyistotrackthedataflow,thatis,tostudythedataflowintheproblemdomainandtheprocessingineachlink,soastodiscoverthedataflowandprocessing.Structuredanalysiscanbedefinedasdataflow,dataprocessingorprocessing,datastorage,endpoints,processinginstructions,anddatadictionaries.
(3)Informationmodelingmethod.
Itbuildsamodeloftherealworldfromadataperspective.Large-scalesoftwareismorecomplicated;itisdifficulttodirectlyanalyzeanddesignit,andoftenrelyonmodels.Modelsarecommonlyusedtoolsindevelopment,andthesystemincludesdataprocessing,transactionmanagement,anddecisionsupport.Inessence,itcanalsobeseenasaseriesoforderedmodels.Theorderedmodelsareusuallyfunctionalmodels,informationmodels,datamodels,controlmodels,anddecisionmodels.Ordermeansthatthesemodelsareestablishedtogetheratdifferentdevelopmentstagesandlevelsofthesystem.ThebasictoolcommonlyusedtobuildasystemistheE-Rdiagram.Afterimprovement,itwascalledinformationmodelingmethod,andlaterdevelopedintosemanticdatamodelingmethod,andintroducedmanyobject-orientedfeatures.
Informationmodelingcanbedefinedasentitiesorobjects,attributes,relationships,supertypes/subtypes,andassociatedobjects.Thecoreconceptofthismethodisentityandrelationship,thebasictoolisE-Rdiagram,anditsbasicelementsarecomposedofentity,attributeandconnection.Thebasicstrategyofthismethodistofindentitiesfromreality,andthendescribethemwithattributes.
(4)Object-orientedanalysismethod.
Thekeyoftheobject-orientedanalysismethodistoidentifytheobjectsintheproblemdomain,analyzetherelationshipbetweenthem,andestablishthreetypesofmodels,namely,theobjectmodel,thedynamicmodelandthefunctionalmodel.Object-orientedmainlyconsidersclassesorobjects,structureandconnection,inheritanceandencapsulation,andmessagecommunication.Itonlyrepresentsafewofthemostimportantfeaturesinobject-orientedanalysis.Theobjectoftheclassisacompletemappingofthingsintheproblemdomain,includingthedatacharacteristics(namelyattributes)andbehaviorcharacteristics(namelyservices)ofthings.
Features
Thefeaturesanddifficultiesofdemandanalysisaremainlyreflectedinthefollowingaspects.
(1)Itisdifficulttodeterminetheproblem.Themainreasonsare:First,thecomplexityoftheapplicationfieldandbusinesschanges,whicharedifficulttodetermineindetail;thesecondiscausedbymultiplefactorsinvolvedinuserneeds,suchastheoperatingenvironmentandsystemfunctions,performance,reliability,andinterfaces.
(2)Demandschangefromtimetotime.Therequirementsofsoftwarewilloftenchangewithtimeandbusinessthroughoutthesoftwarelifecycle.Someuserneedschangefrequently,andsomecompaniesmaybeintheperiodofchangeandgrowthofsystemreformandcorporatereorganization.Theircorporateneedsareimmature,unstable,andirregular,whichmakesthedemanddynamic.
(3)Communicationisdifficulttoreachconsensus.Demandanalysisinvolvesmanypeople,thingsandrelatedfactors.Whencommunicatingwithusers,businessexperts,demandengineers,andprojectmanagers,differentbackgroundknowledge,roles,andperspectivesmakeitdifficulttocommunicateconsensus.
(4)Thedemandforacquisitionisdifficulttoachievecompletenessandconsistency.Becausedifferentpeoplehavedifferentunderstandingsofthesystemrequirements,theproblemisnotaccurateenough,andtheremaybecontradictionsinvariousrequirements.Itisdifficulttoeliminatecontradictionsandformacompleteandconsistentdefinition.
(5)Demandsaredifficulttoconductin-depthanalysisandimprovement.Needtounderstandincompleteandaccurateanalysis,changesincustomerenvironmentandbusinessprocesses.Changesinmarkettrends,etc.Itwillcontinuetoimprovewithanalysis,designandimplementation,andthesoftwarerequirementsmayberevisedattheend.Analystsshouldrecognizetheinevitabilityofdemandchangesandtakemeasurestoreducetheimpactofdemandchangesonthesoftware.Thenecessarychangescanonlybeimplementedaftercarefulreview,trackingandcomparativeanalysis.