版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程基础知识软件需求就是系统必须完成的事,以及必须具备的品质。包括:功能需求、非功能需求、设计约束3方面需求工程包括需求开发和需求管理两大工作。需求开发包括需求捕获、需求分析、编写规格说明书、需求验证四个阶段需求管理包括定义需求基线、处理需求变更、需求跟踪等方面1徐二毛的读书笔记软件工程基础知识2徐二毛的读书笔记业务需求项目试图/范围文档用户需求质量属性SRS其它非功能需求设计约束系统需求功能需求用例文档软件工程基础知识需求调查与问题定义WhatWhereHow需求捕获技术:1、用户访谈(形式包括结构化【准备好问题】与非结构化【粗略想法】)准备问题——》访谈技巧——》应该询问的问题2、用户调查3、现场观摩4、文档考古5、联合讨论会6-18人,1-5小时需求捕获策略:迭代3徐二毛的读书笔记软件工程基础知识可行性研究工作的任务技术可行性经济可行性(投资回报率)社会可行性(符合企业实际情况?符合员工利益?符合相关法规和行业规范)可行性研究工作的步骤:核实问题定义和目标研究分析现有系统(旧的软件系统和旧的非计算机系统)为新系统建模(建模的目的是为了获得一个对新的系统的框架性认识、概念性认识)系统上下文关系范围图实体-关系图用例模型域模型(OO思想)IPO表(输入、处理、输出)客户复核4徐二毛的读书笔记软件工程基础知识可行性研究工作的步骤:提出并评价解决方案确定最终推荐的解决方案(是否可行?什么地方最合理?)成本效益分析有两个部分:A、成本估算
准确估算工作量:历史数据和经验模型【功能点分析、COCOMO分析ConstructiveCostModel,中文为构造性成本模型】B、效益分析草拟开发计划以书面的形式提交《可行性分析报告》并进行审查效益分析货币时间价值F=P(1+i)F:代表未来货币价值P:代表货币现在的价值i:代表年利率n:代表年数投资回收期:多少年才能将投资回收纯收入投资回报率(ROI)ReturnOnInvestment5徐二毛的读书笔记软件工程基础知识投资回报率(ROI)
ReturnOnInvestmentP=F1/(1+j)+F2/(1+j)+…+F/(1+j)P代表总投资n代表系统使用寿命j就是投资回报率F是第i年年底收益6徐二毛的读书笔记软件工程基础知识需求建模用图形表示需求就是需求建模,获得分析模型。有助于检测需求的不一致性、模糊性、错误及遗漏需求分析方法结构化分析方法(SA,StructuredAnalysis)软系统分析方法面向对象分析方法(OOA)面向问题域分析法(ProblemDomainOrientedAnalysis,PDOA)7徐二毛的读书笔记软件工程基础知识结构化分析包括如下工具:数据流图(DFD,DataFlowDiagram)数据字典(DD)结构化语言(SL)判定表判定树如何做结构化分析需求工作:研究“物质环境”建立系统逻辑模型划清人机界限数据流图的五个基本元素过程实体数据存储数据流实时连接结构化分析的思路是依赖于数据流图进行自顶而下的分析。课本P27页的图片有问题。8徐二毛的读书笔记软件工程基础知识数据流图事例:9徐二毛的读书笔记Context图就是顶层数据流图,所以它的组成元素和数据流图一致。上下文关系范围图把需求的范围界定清洗,再通过数据流图进行细化分解,关注过程编号规则,关注输入输出的一致性,否则就会存在明显错误,且关注DFD0层图的意思,不是顶层,而是对顶层的分解。DFD0层图中不会出现0过程。软件工程基础知识决策表实例:例:问题要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”
。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立判定表10徐二毛的读书笔记解答:①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。②列出所有的条件茬和动作茬:③填人条件项。(二进制的真值表)。④填人动作桩和动作顶。这样便得到形如图的初始判定表。软件工程基础知识决策表实例:11徐二毛的读书笔记软件工程基础知识数据字典符号:12徐二毛的读书笔记软件工程基础知识实体关系图:在E-R图中,我们用一个圆角矩形表示实体,而在数据流图中,我们有一个直角矩形表示外部实体。实体也有实例,表示实体的一个具体值,成为实体实例13徐二毛的读书笔记学生学生学号姓名地址学生学号number姓名Text(10)地址Text(30)学生学号number(primarykey)姓名Text(10)地址Text(30)软件工程基础知识基数:通常情况下我们需要对关系的多重性进行描述。基数定义了一个实体相对于另一个关联实体的某个具体值得最小和最大具体值数量14徐二毛的读书笔记正好一个(1…1)0或一个(0…1)1或多个(1…*)0或多个(0…*)软件工程基础知识面向问题域的分析方法(PDOA)和SA、OOA相比较,PDOA更多地强调描述,而较少强调建模,PDOA的描述主要包括如下两方面:
关注问题域
关注解系统的待求行为问题框架是PDOA的核心元素15徐二毛的读书笔记软件工程基础知识软件设计基本原则信息隐蔽原则提升软件可维护性、可靠性模块独立性两个准则度量模块独立性:模块间耦合模块内聚模块内各元素之间的联系越紧密,内聚性越高,它与其它模块之间的耦合性就减低,独立性就越强,所以高内聚、低耦合就是独立性好的模块,在设计模块时争取高内聚内聚性的7种类型功能内聚(FC,FunctionCohesion)信息内聚(IC,InformationCohesion)通信内聚(CC,ComunicationCohesion)过程内聚(PC,ProceduralCohesion)时间内聚(经典内聚,ClassicalCohesion)逻辑内聚(LC,LogicalCohesion)巧合内聚(偶然内聚CoincidentalCohesion)/koˌɪnsɪˈdɛntl:/FICPCLC16徐二毛的读书笔记软件工程基础知识耦合的强度依赖于以下几个方面:模块间互相调用模块间传递数据的量模块间互相施加的控制模块间接口复杂程度一般模块之间可能的连接方式有7种,它们构成耦合性的7中类型:非直接耦合(NodirectiveCoupling)数据耦合(DataCoupling)标记耦合(StampCoupling)控制耦合(ControlCoupling)外部耦合(ExternalCoupling)公共耦合(CommonCoupling)内容耦合(ContentCoupling)NDSC,ECC17徐二毛的读书笔记软件工程基础知识结构化设计方法是基于模块化、自顶向下逐层细化、结构化程序设计等程序设计技术发展而来。系统结构图(SC,StructuredChart)重点反映模块间的隶属关系,而程序流程图重点表达程序执行的顺序,以及执行顺序所以来的条件,结构图着眼于软件系统的总体架构,只考虑模块的作用,以及它和上下级模块的关系,而程序流程图则用来表达执行程序的具体算法。18徐二毛的读书笔记系统结构图中有4中类型模块:传入模块:从下级取数【逻辑输入数据流】,传给上级传出模块:从上级取数【逻辑输出数据流】,传给下级变更模块:从上级取数【变换数据流】,传给上级协调模块:从下级取数,传给下级。协调模块应在较高层出现软件工程基础知识系统结构图中的4中主要成分:模块(矩形)模块间的调用关系(两个模块,一上一下)模块间的通信(长箭头旁的短箭头)辅助控制符号(条件调用棱形箭头,循环调用环状箭头)19徐二毛的读书笔记循环调用条件调用软件工程基础知识常用系统结构图有三种:变换型系统结构图物理输入——》逻辑输入——》逻辑输出——》物理输出事务型系统结构图混合型系统结构图详细参考《面向数据流的设计方法.ppt》20徐二毛的读书笔记软件工程基础知识用户界面设计最好具备如下三点:可使用性灵活性复杂性和可靠性21徐二毛的读书笔记软件设计评审:设计负责人:提交设计报告待审稿高级管理人员:确定主审员,审批评审记录主审员:确定评审组,确定评审结果并填写评审记录评审组软件工程基础知识软件测试:为了发现错误而执行程序的过程,是根据开发阶段的需求规格说明及程序内部结构而精心设计的一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程22徐二毛的读书笔记“尽早地和不断地进行软件测试”应该是软件开发者的座右铭;程序员应该避免检查自己的程序;测试用例应该有对应的输入输出两部分组成设计测试用例时,输入条件应该包括合理的和不合理的。严格执行测试计划,排除测试的随意性软件工程基础知识-测试用例设计测试用例:是为特定目标开发的测试输入、执行条件、预期结果的集合设计测试用例通常有两种方法:黑盒测试(功能测试、数据驱动测试),软件接口测试、功能测试、性能测试,是否有数据结构错误或者外部信息访问错误不考虑程序内部逻辑和特性,只依据程序的需求规格说明书白盒测试(结构测试、逻辑驱动测试)允许利用程序的内部逻辑结构等相关信息,对程序所有逻辑路径进行测试。程序模块进行测试,测试内部结构的有效性23徐二毛的读书笔记黑盒测试的测试用例设计方法需要有如下几种:等价类划分边界值分析错误推测发因果图白盒测试的测试用例设计方法:逻辑覆盖法:语句覆盖、条件覆盖、判断覆盖、判断-条件覆盖、条件组合覆盖、路径覆盖软件工程基础知识-软件测试策略软件开发的过程是自顶向下的,而软件测试过程正好相反——自底向上单元测试(模块测试通常在编码阶段进行)集成测试(组装测试)确认测试(步骤:有效性测试——》软件配置复查——》进行验收测试)系统测试(把软件放到整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员,真实环境)α测试β测试(在软件交付使用之后,用户将如何实际使用程序,对于开发者而言是不知道的,通常在软件发布上市之前需要进行α测试β测试)24徐二毛的读书笔记驱动模块是指在单元测试和集成测试中,协调输入输出的测试程序桩模块指模拟被调用单元的程序。单元测试可以测试:模块接口、局域数据结构、独立路径、错误处理路径、边界条件五方面集成测试时模块组装的两种方式:一次性组装方式、增殖式组装方式。集成测试时应当确定关键模块,它具有如下特征:满足某些软件需求;在程序模块结构中位于较高层次;较复杂易发生错误;有明确定义的性能要求α测试:用户在开发环境下测试,测试的目的是评价FLURPS(Function,Localization,Usable,Reliability,Performace,Support)功能、局域化、可使用性、可靠性、性能和支持。重视产品的界面和特色。β测试开发者通常不在现场,必须在α测试达到一定的可靠程度是才能开始。着重在于测试产品的支持性,处在软件测试的最后阶段,手册才能完全定稿。β测试在真实生产环境下进行软件工程基础知识-软件测试类型功能测试可靠性测试:评价指标有两个(平均故障间隔时间MTBF,MeanTimeBetweenFailure;平均故障修复时间MTTR,MeanTimeToRepair)强度测试(敏感性测试)性能测试恢复测试启动/停止测试配置测试安全性测试可使用性测试安装测试过程测试容量测试文档测试兼容性测试25徐二毛的读书笔记面向对象的软件测试该模型包括:OOA
Test
OOD
Test
OOP
Test
oo单元测试
oo集成测试
oo系统测试软件工程基础知识-软件维护软件具有可维护性的三个因素:可理解性——子系统--〉模块--〉功能--〉内部处理过程可测试性可修改性软件系统的文档可分为:用户文档(描述软件功能和使用方法)和系统文档(需求规格说明书、设计报告、测试计划等)两大类采用软件工程提升软件可维护性注重可维护性的开发过程跨平台、高内聚低耦合、加强注释、面向对象、测试文档齐全、维护时的配置管理严格26徐二毛的读书笔记可维护性度量:M=1/(1+MTTR)M:可维护指标MTTR:平均修复时间软件维护分类:纠错性维护(21%)、完善性维护(50%)、预防性维护(4%)、适应性维护(25%)软件维护活动分为:生产类(确认维护需求、设计、编码、测试、培训)和非生产类(熟悉原软件编码、理解原有软件结构等)软件维护工作量模型:M=P+KM:维护用的总工作量P:生产类活动的工作量K:为经验常数C:软件复杂度D:维护人员对软件的熟悉程度软件工程基础知识-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中老年疾病康复治疗
- 2024培训合同协议书范本(公司与培训机构)
- 2024认定阴阳合同效力的方法
- 2024至2030年中国软质胶手环行业投资前景及策略咨询研究报告
- 2024至2030年中国高温齿轮油泵数据监测研究报告
- 2024至2030年中国风力提水机组数据监测研究报告
- 2024年熨平机项目成效分析报告
- 2024至2030年中国西装时尚肩型肩垫数据监测研究报告
- 2024年豪华电动车项目综合评估报告
- 2024至2030年中国脸谱烟缸数据监测研究报告
- 会议室改造实施方案
- 江苏省南通市2024-2025学年七年级上学期期中英语试卷(含答案解析)
- 干燥装置和设备市场发展预测和趋势分析
- 2022年甘肃省公务员录用考试《行测》真题及答案解析
- 施工现场仓库、危化品管理制度
- 高三语文补写句子公开课教案省公开课获奖课件说课比赛一等奖课件
- 税收的经济效应课件
- 3.2推动高质量发展 课件-高中政治统编版必修二经济与社会-1
- 2024届清华大学强基计划数学学科笔试试题(附答案)
- 山东省潍坊市2025届高三年级10月联考语文试题及答案
- 2024年资格考试-PMP项目管理师考试近5年真题集锦(频考类试题)带答案
评论
0/150
提交评论