最新软件工程导论期末复习Word文档格式.docx

上传人:b****3 文档编号:7130615 上传时间:2023-05-08 格式:DOCX 页数:23 大小:498.53KB
下载 相关 举报
最新软件工程导论期末复习Word文档格式.docx_第1页
第1页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第2页
第2页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第3页
第3页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第4页
第4页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第5页
第5页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第6页
第6页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第7页
第7页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第8页
第8页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第9页
第9页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第10页
第10页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第11页
第11页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第12页
第12页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第13页
第13页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第14页
第14页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第15页
第15页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第16页
第16页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第17页
第17页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第18页
第18页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第19页
第19页 / 共23页
最新软件工程导论期末复习Word文档格式.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新软件工程导论期末复习Word文档格式.docx

《最新软件工程导论期末复习Word文档格式.docx》由会员分享,可在线阅读,更多相关《最新软件工程导论期末复习Word文档格式.docx(23页珍藏版)》请在冰点文库上搜索。

最新软件工程导论期末复习Word文档格式.docx

People(mostimportant)

Tools

Method

Process

●WhatisthedifferencebetweenSE(softwareengineering)andCS(computerscience)?

Computerscienceisconcernedwiththeoryandfundamentals;

softwareengineeringisconcernedwiththepracticalitiesofdevelopinganddelivering(交付)usefulsoftware.

●Whatisthedifferencebetweensoftwareengineeringandsystemengineering?

systemengineeringisconcernedwithallaspectsofcomputer-basedsystemsdevelopment,includinghardwaresoftwareandprocessengineering(处理工程).softwareengineeringisapartofthisprocess.

●Whatissoftwareprocess?

Asetofactivitieswhosegoalisthedevelopmentorevolutionofsoftware.

Genericactivitiesinallsoftwareprocessesare:

Specification(描述)-whatthesystemshoulddoanditsdevelopmentconstraints

Development(开发)-productionofthesoftwaresystem

Validation(有效性验证)-checkingthatthesoftwareiswhatthecustomerwants

Evolution(进化)-changingthesoftwareinresponsetochangingdemands.

●Whatissoftwareprocessmodel?

Asimplifiedrepresentation(表示形式)ofasoftwareprocess,presentedfromaspecificperspective.

softwareprocessmodel:

Workflowperspective-sequenceofactivities;

Data-flowperspective-informationflow;

Role/actionperspective-whodoeswhat.

软件过程部分

●Genericprocessmodels

Ø

Waterfall;

(瀑布型)

——Separateanddistinctphasesofspecificationanddevelopment.(使用单独的过程阶段表现)

问题:

1.Inflexible(Onephasehastobecompletebeforemovingontothenextphase.)

2.Transferofrisks(风险转移)

适用:

mostlyusedforlargesystemsengineeringprojectswhereasystemisdevelopedatseveralsites

Evolutionarydevelopment;

(进化式)

——Specification,developmentandvalidationareinterleaved(交替,先快速开发再不断修改).

Exploratorydevelopment(探索式):

toworkwithcustomers

Throw-awayprototyping(抛弃式):

startwithpoorlyunderstoodrequirementstoclarifywhatisreallyneeded

1Lackofprocessvisibility(过程不可见)

2Systemsareoftenpoorlystructured

Forsmallormedium-sizeinteractivesystems

Component-basedsoftwareengineering.(基于组件CBSE)

——Thesystemisassembledfromexistingcomponents.(集成已存在的可复用的组件)

软件复用reuse:

peopleworkingontheprojectknowofdesignsorcodewhichissimilartothatrequired.

●Processiteration软件迭代:

(Iterationcanbeappliedtoanyofthegenericprocessmodels.)

两个过程模型专门为过程反复设计的

Two(related)approaches:

Incrementaldelivery(增量式开发);

——thedevelopmentanddeliveryisbrokendownintoincrements(增量)

Thehighestpriorityrequirementsareincludedinearlyincrements

Oncethedevelopmentofanincrementisfinished,correspondingsystemfunctionalityisavailable

Spiraldevelopment(螺旋式开发).

——Eachloop(循环)inthespiralrepresentsaphaseintheprocess.

Risksareexplicitlyassessedandresolvedthroughouttheprocess.

●Fourfundamentalprocessactivities:

•Softwarespecification

•Softwaredesignandimplementation

•Softwarevalidation

•Softwareevolution

Softwarespecification(描述)

Softwaredesignandimplementation(设计和实现)

Softwarevalidation(有效性验证)

Verificationandvalidation(V&

V)V&

Vmustbeappliedateachstageinthesoftwareprocess.

Hastwoprincipalobjectives:

Thediscoveryofdefectsinasystem;

Theassessmentofwhetherornotthesystemisusefulanduseableinanoperationalsituation

Verification:

"

Arewebuildingtheproductright”.——Thesoftwareshouldconformtoitsspecification.

Validation:

Arewebuildingtherightproduct”.——Thesoftwareshoulddowhattheuserreallyrequires.

Softwareevolution(进化)

软件项目管理部分

●Softwareprojectmanagement

Concernedwithactivitiesinvolvedinensuringthatsoftwareisdeliveredontimeandonscheduleandinaccordancewiththerequirementsoftheorganisationsdevelopingandprocuringthesoftware.

●MilestonesVs.Deliverables

Milestonesaretheend-pointofaprocessactivity.(里程碑)

Deliverablesareprojectresultsdeliveredtocustomers.(可交付的文档)

软件过程被分解为一系列想关的基本活动,每个基本活动都有相应的输出结果。

里程碑不是要交给客户的东西。

而可交付的文档是要交付给客户的项目成果,要在项目的描述、设计等阶段结束时交付。

例如需求过程:

可交付的文档是:

需求描述

●CriticalPath

Longestofallpathsthroughtheproject

●WBS

软件需求部分

●SoftwareRequirementVs.SoftwareRequirementEngineering

Requirement:

Itmayrangefromahigh-levelabstractstatementofaserviceorofasystemconstrainttoadetailedmathematicalfunctionalspecification.Descriptionofsystemservicesandconstraintstoadetailmathematicalfunction.

Requirementsengineering:

Theprocessofestablishingtheservicesthatthecustomerrequiresfromasystemandtheconstraintsunderwhichitoperatesandisdeveloped.

Therequirementsthemselvesarethedescriptionsofthesystemservicesandconstraintsthataregeneratedduringtherequirementsengineeringprocess.

●软件需求类型

用户需求(userrequirement)

Statementsinnaturallanguageplusdiagramsoftheservicesthesystemprovidesanditsoperationalconstraints.Writtenforcustomers.

系统需求(systemrequirement)

Astructureddocumentsettingoutdetaileddescriptionsofthesystem’sfunctions,servicesandoperationalconstraints.Defineswhatshouldbeimplementedsomaybepartofacontractbetweenclientandcontractor.

系统需求包括:

功能性需求(Functionalrequirements)

Statementsofservicesthesystemshouldprovide,howthesystemshouldreacttoparticularinputsandhowthesystemshouldbehaveinparticularsituations.

Functionaluserrequirementsmaybehigh-levelstatementsofwhatthesystemshoulddo

Functionalsystemrequirementsshoulddescribethesystemservicesindetail.

非功能性需求(non-functionalrequirements)

constraintsontheservicesorfunctionsofferedbythesystemsuchastimingconstraints,constraintsonthedevelopmentprocess,standards,etc.

需求工程过程(从可行性分析到需求文档,这部分包括很多细致的内容,请参考教材和ppt)

Requirementsengineeringprocess:

Feasibilitystudies

•Afeasibilitystudydecideswhetherornottheproposedsystemisworthwhile.

•Ashortfocusedstudythatchecks

◦Ifthesystemcontributestoorganisationalobjectives;

◦Ifthesystemcanbeengineeredusingcurrenttechnologyandwithinbudget;

◦Ifthesystemcanbeintegratedwithothersystemsthatareused.

Elicitationandanalysis

•Sometimescalledrequirementselicitationorrequirementsdiscovery.

•Involvestechnicalstaffworkingwithcustomerstofindoutabouttheapplicationdomain,theservicesthatthesystemshouldprovideandthesystem’soperationalconstraints.

•Mayinvolveend-users,managers,engineersinvolvedinmaintenance,domainexperts,tradeunions,etc.Thesearecalledstakeholders.

Requirementsvalidation

•Concernedwithdemonstratingthattherequirementsdefinethesystemthatthecustomerreallywants.

•Requirementserrorcostsarehighsovalidationisveryimportant

◦Fixingarequirementserrorafterdeliverymaycostupto100timesthecostoffixinganimplementationerror.

Requirementsmanagement

•Requirementsmanagementistheprocessofmanagingchangingrequirementsduringtherequirementsengineeringprocessandsystemdevelopment.

•Requirementsareinevitablyincompleteandinconsistent

◦Newrequirementsemergeduringtheprocessasbusinessneedschangeandabetterunderstandingofthesystemisdeveloped;

◦Differentviewpointshavedifferentrequirementsandtheseareoftencontradictory.

ReviewQuestionsforyou!

●WhatisSoftwareRequirement?

●Whodoesit?

●Whyisitimportant?

●Whatarethesteps?

●Whatistheworkproducts(artifacts)?

●HowdoIensurethatI’vedoneitright?

●WhataretheCASEforourrequirementanalysis?

软件体系架构设计部分

●SoftwareArchitectureVs.ArchitectureStyle

Thedesignprocessforidentifyingthesub-systemsmakingupasystemandtheframeworkforsub-systemcontrolandcommunicationisarchitecturaldesign.

Theoutputofthisdesignprocessisadescriptionofthesoftwarearchitecture.

软件设计部分

SoftwareDesign:

Designiswhatvirtuallyeveryengineerwantstodo.Itistheplacewherecreativelyrules-customersrequirements,businessneeds,andtechnicalconsiderationsallcometogetherintheformulationofaproductorsystem.

DesignPrinciples:

•Abstraction抽象

抽象是控制复杂性的基本策略。

“抽象”要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。

•Modularity模块性

•InformationHiding信息隐藏

•FunctionalIndependence功能独立

Coupling耦合——单元模块之间

Onemoduleisreferencedbyothermodules

Datatransportedfromonemoduletotheothers

耦合度是对软件结构中模块间关联程度的一种度量。

耦合的强弱取决于模块间接口的复杂性、进入或调用模块的位置以及通过界面传送数据的多少等。

与内聚度正好相反,在设计软件时应追求尽可能松散耦合的系统。

因为对这类系统中任一模块的设计、测试和维护相对独立。

由于模块间联系较少,错误在模块间传播的可能性也随之变小。

模块间的耦合程度直接影响系统的可理解性、可测试性、可靠性和可维护性。

耦合度也可以分为七级

Lowercoupling

No-directCoupling

无联系耦合:

如果两模块中任一个都不依赖于对方能独立工作,则称这两模块为(nodirectcoupling),这类耦合度最低。

DataCoupling

StampCoupling:

特征耦合:

介于数据耦合和控制耦合之间的一种耦合

印记耦合:

将数据结构作为参数进行传递

ControlCoupling:

控制耦合:

传递标志

如果两模块间通过参数交换信息,此时若传递的信息中含有控制信息,则耦合度上升为控制耦合。

控制耦合通常会增加系统的复杂性,有时适当分解模块可消除控制耦合。

Externalcoupling

外部耦合:

一些模块都与一个外部环境相关,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2