軟件需求工程lecture_第1頁
軟件需求工程lecture_第2頁
軟件需求工程lecture_第3頁
軟件需求工程lecture_第4頁
軟件需求工程lecture_第5頁
已閱讀5頁,還剩96頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Lecture9:Lecture9:RequirementsYanTheSchoolofSoftwareandMicroelectronicsPekingUniversityNo.24JinYuanRD,Beijing9-IntroductiontosoftwareRequirementsEngineering14-09-GoodPracticesforRequirements14-09-RequirementsElicitationRequirementsAnalysis(1)RequirementsAnalysis(2)RequirementsSpecificationProjectandDiscussion(1)RequirementsValidation14-09-14-10-14-10-14-10-14-11-14-11-14-11-14-11-14-12-14-12-Lecture10:ProjectandDiscussion(2)Lecture11:PracticesandToolsLecture12:Examination9-UnderstandRequirementsManagementUnderstandRequirementsManagementPrinciplesandPracticesUnderstandChange-ControlProcessandImpactAnalysisProcedureUnderstandLinksintheRequirementsUnderstandBenefitsofUsingaRequirementsManagementTool10-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementToolPrinciplesandTherequirementsagreementisthebridgebetweenrequirementsdevelopmentandrequirementsmanagement.Requirementsmanagementincludesallactivitiesthatmaintaintheintegrity,accuracy,andcurrencyoftherequirementsagreementastheproject10-PrinciplesandPrinciplesandPractices10-PrinciplesandPracticesControllingchangestotherequirementsKeepingprojectplanscurrentwiththeControllingversionsofbothindividualrequirementsandrequirementsdocumentsTrackingthestatusoftherequirementsintheManagingthelogicallinksbetweenindividualrequirementsandotherprojectworkproducts9-需求需求管理項的關(guān)PrinciplesandPracticesTheprojectcanrespondtoneworchangedrequirementsinvariousways:Deferlower-priorityObtainadditionalMandateovertimework,preferablywithpay,forashorttimeSlipthescheduletoaccommodatethenewLetqualitysufferinthepresstoshipbytheoriginaldate(Toooften,thisisthedefaultreaction.)/9-TheTheRequirementsTherequirementsbaselineisthesetoffunctionalandnonfunctionalrequirementsthatthedevelopmentteamhascommittedtoimplementinaspecificrelease.Definingabaselinegivestheprojectstakeholdersasharedunderstandingofthecapabilitiesandpropertiestheycanexpecttoseeintherelease.9-ConsideraddressingthefollowingTools,techniques,andconventionsforcontrollingversionsofthevariousrequirementsdocumentsandofindividualHowtherequirementsareTherequirementstatusesthatyouwilluseandwhomaychangethem9-ProceduresConsideraddressingthefollowingtopicsThewaysthatnewrequirementsandchangestoexistingonesareproposed,processed,negotiated,andcommunicatedtoallaffectedHowtoanalyzetheimpactofaproposedHowtheproject'splansandcommitmentswillreflectrequirementschanges/9-RequirementsRequirementsVersionVersioncontrolisanessentialaspectofmanagingrequirementsspecificationsandotherprojectdocuments.Everyversionoftherequirementsdocumentsmustbeuniquelyidentified9-RequirementsRequirementsVersionEachcirculatedversionoftherequirementsdocumentsshouldincludearevisionhistorythatidentifiesthechangesmade,thedateofeachchange,theindividualwhomadethechange,andthereasonforeachchange.9-RequirementsRequirementsVersionThesimplestversioncontrolmechanismistomanuallylabeleachrevisionoftheSRSaccordingtoastandardconvention.Themostrobustapproachtoversioncontrolistostoretherequirementsinthedatabaseofacommercialrequirementsmanagementtool9-ThinkofThinkofeachrequirementasanobjectwithpropertiesthatdistinguishitfromotherInadditiontoitstextualdescription,eachfunctionalrequirementshouldhaveseveralsupportingpiecesofinformationorattributesassociatedwithit.Theseattributesestablishacontextandbackgroundforeachrequirementthatgoeswellbeyondthedescriptionofintendedfunctionality.9-RequirementRequirementAttributesConsiderspecifyingattributessuchasthefollowingforeachrequirement:9-RequirementAttributesDatetherequirementwasItsRequirementAttributesDatetherequirementwasItscurrentversionAuthorwhowrotethePersonwhoisresponsibleforensuringthattherequirementissatisfiedOwneroftherequirementoralistofstakeholders(tomakedecisionsaboutproposedRequirementOriginorsourceoftheTherationalebehindtheSubsystem(orsubsystems)towhichtherequirementisProductreleasenumbertowhichtherequirementisVerificationmethodtobeusedoracceptancetestcriteriaImplementationStability(anindicatorofhowlikelyitisthattherequirementwillchangeinthefuture;unstablerequirementsmightreflectill-definedorvolatilebusinessprocessesorbusinessrules)/9-TrackingTrackingRequirementsSeveralpossiblerequirementstatusesClassifyingrequirementsintoseveralstatuscategoriesismoremeaningfulthantryingtomonitorthepercentcompletionofeachrequirementorofthecomplete9-TrackingRequirementsTrackingthedistributionTrackingRequirementsTrackingthedistributionofrequirementsstatusthroughoutaproject'sdevelopmentcycle9-MeasuringManagementCountMeasuringManagementCounttheeffortdevotedtothefollowingactivitiesasrequirementsmanagementeffort:SubmittingrequirementschangesandproposingnewEvaluatingproposedchanges,includingperformingimpactChangecontrolboardUpdatingtherequirementsdocumentsorCommunicatingrequirementschangestoaffectedgroupsandTrackingandreportingrequirementsstatusCollectingrequirementstraceabilityinformation/9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-ChangeChangeAnorganizationthat'sseriousaboutmanagingitssoftwareprojectsmustensurethatProposedrequirementschangesarecarefullyevaluatedbeforebeingcommittedto.Theappropriateindividualsmakeinformedbusinessdecisionsaboutrequestedchanges.ApprovedchangesarecommunicatedtoallaffectedTheprojectincorporatesrequirementschangesinaconsistentfashion.9-ChangeChangeHappensSoftwarechangeisn'tabadIt'svirtuallyimpossibletodefineallofaproduct'srequirementsupfront,andtheworldchangesasdevelopmentprogresses.ButchangealwayshasaRevisingasimpleWebpagemightbequickandeasy;makingachangeinanintegratedchipdesigncancosttensofthousandsofdollars.9-ChangeChangeHappensWhenyouneedtomakeachange,startatthehighestlevelofabstractionthatthechangetouchesandcascadetheimpactofthechangethroughrelatedsystemcomponents./9-ManagingManagingScopeCapersJones(1994)reportsthatcreepingrequirementsposeamajorriskto80percentofmanagementinformationsystemsprojects.70percentofmilitarysoftware45percentofoutsourcedsoftware9-ManagingManagingScopeCreepCreepingrequirementsincludenewfunctionalityandsignificantmodificationsthatarepresentedaftertheprojectrequirementshavebeenbaselined.Thefirststepinmanagingscopecreepistodocumentthevision,scope,andlimitationsofthenewsystemaspartofthebusinessrequirements/9-TheTheChange-ControlAchange-controlprocessletstheproject'sleadersmakeinformedbusinessdecisionsthatwillprovidethegreatestcustomerandbusinessvaluewhilecontrollingtheproduct'slifecycleCustomersandotherstakeholdersoftenbalkatbeingaskedtofollowanewprocess,butachange-controlprocessisnotanobstacletomakingnecessarymodifications.9-Change-ControlChange-ControlAllrequirementschangesshallfollowtheprocess.Ifachangerequestisnotsubmittedinaccordancewiththisprocess,itwon'tbeconsidered.Nodesignorimplementationworkotherthanfeasibilityexplorationshallbeperformedonunapprovedchanges.Simplyrequestingachangedoesn'tguaranteethatitwillbemade.Theproject'schangecontrolboard(CCB)willdecidewhichchangestoimplement.Thecontentsofthechangedatabaseshallbevisibletoallprojectstakeholders.9-Change-controlpolicystatementsTheoriginaltextofachangerequestshallnotbemodifiedordeleted.ImpactanalysisshallbeperformedforeveryEveryincorporatedrequirementchangeshallbetraceabletoanapprovedchangerequest.Therationalebehindeveryapprovalorrejectionofachangerequestshallbe9-Sampletemplateforachange-controlprocessdescription9-FourcomponentsinallproceduresandprocessEntrycriteria—theconditionsthatmustbesatisfiedbeforeexecutingtheprocessorprocedureThevarioustasksinvolvedintheprocessorprocedure,theprojectroleresponsibleforeachtask,andotherparticipantsinthetaskStepstoverifythatthetaskswerecompletedExitcriteria—theconditionsthatindicatewhentheprocessorprocedureissuccessfullycompleted9-1.Theintroductiondescribesthepurposeofthisprocessandidentifiestheorganizationalscopetowhichitapplies.2.RolesandListtheprojectteammembers—byrole,notbyname—whoparticipateinthechange-controlactivitiesanddescribetheirresponsibilities.(sample)9-Achangerequestpassesthroughadefinedlifecycle,havingadifferentstatusateachstageinitslife.9-9-State-transitiondiagram9-State-transitiondiagramforachange4.EntryThebasicentrycriterionforyourchange-controlprocessisAvalidchangerequesthasbeenreceivedthroughanapprovedchannel.5.Thenextstepistoevaluatetherequestfortechnicalfeasibility,cost,andalignmentwiththeproject'sbusinessrequirementsandresourceconstraints.9-6.Requirementschangesaretypicallyverifiedthroughapeerreviewtoensurethatmodifiedspecifications,usecases,andmodelscorrectlyreflectallaspectsofthechange.9-7.ExitThestatusoftherequestisRejected,Closed,orAllmodifiedworkproductsareinstalledintothecorrectlocations.Theoriginator,CCBChair,projectmanager,andotherrelevantprojectparticipantshavebeennotifiedofthechangedetailsandthecurrentstatusofthechangerequest.Therequirementstraceabilitymatrixhasbeen9-8.Change-ControlStatusIdentifythechartsandreportsyou'llusetosummarizethecontentsofthechange-controlAppendix:DataItemsStoredforEachRequest(sample)9-TheTheChangeControlThechangecontrolboard(sometimesknownastheconfigurationcontrolboard)hasbeenidentifiedasabestpracticeforsoftwaredevelopment(McConnell1996).TheCCBisthebodyofpeople,beitoneindividualoradiversegroup,whodecideswhichproposedrequirementchangesandnewlysuggestedfeaturestoacceptforinclusionintheproduct.9-CCBCCBProjectorprogramProductmanagementorrequirementsTestingorqualityMarketingorcustomerUserTechnicalsupportorhelp9-CCBCCBAcharterdescribestheCCB'spurpose,scopeofauthority,membership,operatingprocedures,anddecision-makingprocess(Sorensen1999).9-CCBCCBCharterMakingAswithalldecision-makingbodies,eachCCBneedstoselectanappropriatedecisionruleandprocess.CommunicatingOncetheCCBmakesitsdecision,adesignatedindividualupdatestherequest'sstatusinthechangedatabase.9-CCBCCBCharterRenegotiatingIt'snotrealistictoassumethatstakeholderscanstuffmoreandmorefunctionalityintoaprojectthathasschedule,staff,budget,andqualityconstraintsandstillsucceed.9-Change-ControlChange-ControlAutomatedtoolscanhelpyourchange-controlprocessoperatemoreefficiently.Manyteamsusecommercialproblem-orissue-trackingtoolstocollect,store,andmanagerequirementschanges.9-Change-ControlChange-ControlToolsLookforthefollowingfeaturesinatooltosupportyourrequirementschangeLetsyoudefinethedataitemsincludedinachangerequestLetsyoudefineastate-transitionmodelforthechange-requestlifecycleEnforcesthestate-transitionmodelsothatonlyauthorizeduserscanmakethepermittedstatuschanges9-Change-ControlChange-ControlToolsLookforthefollowingfeaturesinatooltosupportyourrequirementschangeprocessRecordsthedateofeverystatuschangeandtheidentityofthepersonwhomadeitLetsyoudefinewhoreceivesautomatice-mailnotificationwhenanoriginatorsubmitsanewrequestorwhenarequest'sstatusisupdatedProducesbothstandardandcustomreportsand9-MeasuringMeasuringChangeSoftwaremeasurementsprovideinsightsintoyourprojects,products,andprocessesthataremoreaccuratethansubjectiveimpressionsorvaguerecollectionsofwhathappenedinthepast.Themeasurementsyouselectshouldbemotivatedbythequestionsyouoryourmanagersaretryingtoanswerandthegoalsyou'retryingtoachieve.9-MeasuringChangeMeasuringChangeActivityMeasuringchangeactivityisawaytoassessthestabilityoftheItalsorevealsopportunitiesforprocessimprovementthatmightleadtofewerchangerequestsinthefuture.9-MeasuringChangeMeasuringChangeActivityConsidertrackingthefollowingaspectsofyourrequirementschangeactivity:Thenumberofchangerequestsreceived,currentlyopen,andclosedThecumulativenumberofchangesmade,includingadded,deleted,andmodifiedrequirements(Youcanalsoexpressthisasapercentageofthetotalnumberofrequirementsinthebaseline.)Thenumberofchangerequeststhatoriginatedfromeachsource9-MeasuringChangeMeasuringChangeActivityConsidertrackingthefollowingaspectsofyourrequirementschangeactivity(cont’d):ThenumberofchangesproposedandmadeineachrequirementsinceitwasbaselinedThetotaleffortdevotedtoprocessingandimplementingchangerequestsThenumberofcyclesthroughthechangeprocessthatittooktocorrectlyimplementeachapprovedchange(Sometimeschangesareimplementedimproperlyorcauseothererrorsthatneedtobe9-MeasuringChangeMeasuringChangeActivitySamplechartofrequirementschange9-MeasuringChangeMeasuringChangeActivitySamplechartofrequirementchange9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-ChangeIsn'tChangeIsn'tFree:ImpactImpactanalysisisakeyaspectofresponsiblerequirementsmanagement.Itprovidesaccurateunderstandingoftheimplicationsofaproposedchange,whichhelpstheteammakeinformedbusinessdecisionsaboutwhichproposalsto9-ImpactImpactAnalysisImpactanalysishasthreeUnderstandthepossibleimplicationsofmakingthechange.Changeoftenproducesalargerippleeffect.Stuffingtoomuchfunctionalityintoaproductcanreduceitsperformancetounacceptablelevels,aswhenasystemthatrunsdailyrequiresmorethan24hourstocompleteasingleexecution.Identifyallthefiles,models,anddocumentsthatmighthavetobemodifiediftheteamincorporatestherequestedchange.Identifythetasksrequiredtoimplementthechange,andestimatetheeffortneededtocompletethose9-ImpactAnalysisProcedureImpactAnalysisProcedureChecklistofpossibleimplicationsofaproposedchangeChecklistofpossiblesoftwareelementsaffectedbyaproposedchange9-ForsubstantialWorkForsubstantialWorkthroughthechecklistWorkthroughthechecklistinavailabletraceabilityinformation.,Usetheworksheetinthenextslidetoestimatetheeffortrequiredfortheanticipatedtasks.9-arequirement9-ForForsubstantialchangesTotaltheeffortIdentifythesequenceinwhichthetasksmustbeperformedandhowtheycanbeinterleavedwithcurrentlyplannedtasks.Determinewhetherthechangeisontheproject'scriticalpath.9-ForForsubstantialchangesEstimatetheimpactoftheproposedchangeontheproject'sscheduleandcost.Evaluatethechange'sprioritybyestimatingtherelativebenefit,penalty,cost,andtechnicalriskcomparedtootherdiscretionaryrequirements.ReporttheimpactanalysisresultstotheCCBsothattheycanusetheinformationtohelpthemdecidewhethertoapproveorrejectthechange9-ImpactAnalysisImpactAnalysisReport9-面對面對客戶的需求變更,接受還是拒絕9-需求一定要與投入有聯(lián)需求一定要與投入有聯(lián)系小的需求變更也要經(jīng)過正規(guī)的需求管理流精確的需求與范圍定義并不會阻止需求的變更注意溝通的技巧9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-LinksinLinksintheRequirementsSimplerequirementchangesoftenhavefar-reachingimpacts,necessitatingthatmanypartsoftheproductbemodified.It'shardtofindallthesystemcomponentsthatmightbeaffectedbyarequirementmodification.Changeimpactanalysisiseasierifyouhavearoadmapthatshowswhereeachrequirementorbusinessrulewasimplementedinthesoftware.9-LinksLinksintheRequirementsRequirementstracingdocumentsthedependenciesandlogicallinksbetweenindividualrequirementsandothersystemTheseelementsincludeotherrequirementsofvarioustypes,businessrules,architectureandotherdesigncomponents,sourcecodemodules,testcases,andhelp9-LinksLinksintheRequirementsTraceabilityinformationfacilitatesimpactanalysisbyhelpingyouidentifyalltheworkproductsyoumighthavetomodifytoimplementaproposedrequirementchange.9-TracingTracingTraceabilitylinksallowyoutofollowthelifeofarequirementbothforwardandbackward,fromoriginthroughimplementation.Topermittraceability,eachrequirementmustbeuniquelyandpersistentlylabeledsothatyoucanrefertoitunambiguouslythroughoutthe9-FourtypesofFourtypesofrequirements9-SomepossiblerequirementstraceabilitySomepossiblerequirementstraceability9-MotivationsforMotivationsforYoucanuseinformationwhencertifyingasafety-criticalproducttodemonstratethatallrequirementswereimplemented—althoughitdoesn'tconfirmthattheywereimplementedcorrectlyor9-MotivationsforMotivationsforChangeimpactWithoutinformation,there'sahighprobabilityofoverlookingasystemelementthatwouldbeaffectedifyouadd,delete,ormodifyaparticularReliabletraceabilityfacilitatesmakingchangescorrectlyandcompletelyduringmaintenance,whichimprovesyourproductivity.9-MotivationsMotivationsforProjectIfyoudiligentlyrecordthetraceabilitydataduringdevelopment,you'llhaveanaccuraterecordoftheimplementationstatusofplannedfunctionality.Missinglinksindicateworkproductsthathavenotyetbeencreated.9-MotivationsMotivationsforYoucanlistthefunctionsinalegacysystemyou'rereplacingandrecordwheretheywereaddressedinthenewsystem'srequirementsandsoftwarecomponents.Definingtraceabilitylinksisawaytocapturesomeofwhatyoulearnthroughreverseengineeringofanexistingsystem.9-MotivationsforreusingMotivationsforreusingproductcomponentsbypackagesofrelatedrequirements,designs,andRiskDocumentingtheinterconnectionsreducestheriskifakeyteammemberwithessentialknowledgeaboutthesystemleavestheproject.Whenatestyieldsanresult,thelinksbetweentests,requirements,andcodepointyoutowardlikelypartsofthecodetoexamineforadefect.9-TheTheRequirementsThemostcommonwaytorepresentthelinksbetweenrequirementsandothersystemelementsisinarequirementstraceabilitymatrix,alsocalledarequirementstracematrixoratraceabilitytable(SommervilleandSawyer1997)9-SampletraceabilitychainforrequirementsdealingwithapplicationSampletraceabilitychainforrequirementsdealingwithapplication9-RequirementsTraceabilitySomeexamplesofRequirementsTraceabilitySomeexamplesofthepossiblelinkOnedesignelementisimplementedonecodeOnefunctionalrequirementisbymultipletestEachusecaseleadstofunctionalrequirements,andcertainfunctionalrequirementsarecommontoseveralusecases.Similarly,asharedorrepeateddesignelementmightsatisfyanumberoffunctionalrequirements.9-RequirementsTraceabilityRequirementsTraceabilityAtwo-waytraceabilitymatrix.LikelySourcesofTraceabilityLinkInformation(Sample)9-ToolsforRequirementsSuspectLinksToolsforRequirementsSuspectLinksinaRequirementsTraceability9-SelectSelectthelinkrelationshipsyouwanttodefinefromthepossibilities.Choosethetypeoftraceabilitymatrixyouwanttouse:thesinglematrixshowninTable20-1orseveralofthematricesillustratedinTable20-2.Selectamechanismforstoringthedata:atableinatextdocument,aspreadsheet,orarequirementsmanagementtool.9-ProcedureIdentifythepartsoftheproductforwhichyouwanttomaintaintraceabilityinformation.Startwiththecriticalcorefunctions,thehigh-riskportions,ortheportionsthatyouexpecttoundergothemostmaintenanceandevolutionovertheproduct'slife.9-ProcedureModifyyourdevelopmentproceduresandcheckliststoreminddeveloperstoupdatethelinksafterimplementingarequirementoranapprovedchange.Definethetaggingconventionsyouwillusetouniquelyidentifyallsystemelementssothattheycanbelinked9-ProcedureIdentifytheindividualswhowillsupplyeachtypeoflinkinformationandthepersonwhowillcoordinatethetraceabilityactivitiesandmanagethedata.Educatetheteamabouttheconceptsandimportanceofrequirementstracing,yourobjectivesforthisactivity,wherethetraceabilitydataisstored,andthetechniquesfordefiningthelinks (forexample,byusingthetraceabilityfeatureofarequirementsmanagementtool).9-ProcedureAsdevelopmentproceeds,haveeachparticipantprovidetherequestedtraceabilityinformationastheycompletesmallbodiesofAuditthetraceabilityinformationperiodicallytomakesureit'sbeingkeptcurrent.Ifarequirementisreportedasimplementedandverifiedyetitstraceabilitydataisincompleteorinaccurate,yourrequirementstracingprocessisn'tworkingasintended.9-IsRequirementsIsRequirementsFeasible?IsItManagingtraceabilityonahugeproductwithmanyinterrelatedsubsystemsisalotofwork.SomeCommercialRequirementsManagementTools9-RequirementsRequirementsManagementPrinciplesandPracticesChange-ControlProcessImpactAnalysisLinksintheRequirementsBenefitsofUsingaRequirementsManagementTool9-BenefitsofUsingaBenefitsofUsingaManagementManageversionsandprojectshoulddefinearequirementsbaseline,aspecificcollectionofrequirementsallocatedtoaparticularattributes:shouldrecordseveraldescriptiveattributesforeachrequirement9-BenefitsofBenefitsofUsingaManagementToolFacilitateimpactTheenablerequirementstracingbylettingyoudefinelinksbetweendifferenttypesofrequirements,betweenrequirementsindifferentsubsystems,andbetweenindividualrequirementsandrelatedsystemcomponents(forexample,designs,codemodules,tests,anduserdocu

溫馨提示

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

評論

0/150

提交評論