- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程是:①将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;②在①中所述方法的研究
软件工程过程包括:开发过程、运作过程、维护过程、管理过程、支持过程、获取过程、供应过程、剪裁过程等
CMM(Capability Maturity Model)即能力成熟度模型,是美国卡内基梅隆大学软件工程研究所(SEI)在美国国防部资助下于二十世纪八十年代末建立的,用于评价软件机构的软件过程能力成熟度的模型。
典型的软件过程模型有:
瀑布模型(waterfall model)
演化模型(evolutionary model)
增量模型(incremental model)
原型模型(prototyping model)
螺旋模型(spiral model)
喷泉模型(water fountain model)
基于构件的开发模型(component-based development model)
形式方法模型(formal methods model)
是瀑布模型和演化模型的结合,并增加了风险分析
螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即:
制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件
风险分析:评价所选的方案,识别风险,消除风险
工程实施:实施软件开发,验证工作产品
客户评估:评价开发工作,提出修正建议
喷泉模型是一种支持面向对象开发的模型
体现迭代和无间隙特征
迭代:各开发活动常常重复工作多次,相关的功能在每次迭代中随之加入演进的系统
无间隙:开发活动之间不存在明显的边界
所谓基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的集合
组成基于计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程
本书将软件需求工程细分为:需求获取、需求分析与协商、系统建模、需求规约、需求验证和需求管理六个阶段。
常用的分析方法:
面向数据流的结构化分析方法 (SA)
面向数据结构的分析方法
面向对象的分析方法 (OOA)
需求管理是一组用于帮助项目组在项目进展中的任何时候去标识、控制和跟踪需求的活动
需求跟踪有两种方式,正向跟踪与逆向跟踪
正向跟踪:以用户需求为切入点,检查《需求规约》中的每个需求是否都能在后继工作产品中找到对应点
逆向跟踪:检查设计文档、代码、测试用况等工作产品是否都能在《需求规约》中找到出处
软件设计是把软件需求变换成软件表示的过程,它主要包含两个阶段:软件体系结构设计阶段和部件级设计
使用一种设计方法,软件分析模型中通过数据、功能和行为模型所展示的软件需求的信息被传送给设计阶段,产生数据/类设计、体系结构设计、接口设计、部件级设计
软件设计的原则:
抽象化与逐步求精;
软件设计中主要抽象手段有:过程抽象和数据抽象
模块化;
信息隐藏;
功能独立;
功能独立性可以由两项指标来衡量:内聚度与耦合度
软件体系结构关注系统的一个或多个结构,包含软件构件、这些构件的对外可见的性质以及它们之间的关系
常见的软件体系结构
单主机结构
C/S(Client/Server)结构
B/S(Browser/Server)结构
常用体系结构风格:
数据为中心的体系结构
数据流风格的体系结构
调用和返回风格的体系结构
面向对象风格的体系结构
层次式风格的体系结构
在这里要了解几个概念:
程序结构的深度:程序结构的层次数称为结构的深度。结构的深度在一定意义上反映了程序结构的规模和复杂程度。
程序结构的宽度:层次结构中同一层模块的最大模块个数称为结构的宽度。
模块的扇入和扇出:扇出表示一个模块直接调用(或控制)的其它模块数目。扇入则定义为调用(或控制)一个给定模块的模块个数。多扇出意味着需要控制和协调许多下属模块。而多扇入的模块通常是公用模块。
部件级设计阶段,主要完成如下工作:
为每个部件确定采用的算法,选择某种适当的工具表达算法的过程,编写部件的详细过程性描述;
确定每一部件内部使用的数据结构;
在部件级设计结束时,应该把上述结果写入部件级设计说明书,并且通过复审形成正式文档,作为下一阶段(编码阶段)的工作依据。
图形表示法:
程序流程图
N-S图
PAD
设计评审:
软件设计的最终目标是要取得最佳方案
“最佳”是指在所有候选方案中,就节省开发费用,降低资源消耗,缩短开发时间的条件,选择能够赢得较高的生产率、较高的可靠性和可维护性的方案
设计评审的内容:
1. 可追溯性:即分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求。
2.接口:即分析软件各部分之间的联系,确认该软件的内部接
原创力文档


文档评论(0)