- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
P403-12软件项目度量管理-开头的话
在软件项目中,上述的抽象过程渗透到所有工程范围、接受着各个阶段的工程设计规范要求。 工程中典型的抽象,就是基于“规格”的描述。 规格化,就是在“程序抽象”和“工程设计之间的映射(即理解),实现了从程序语言到工程设计描述的转换。 规格化转换的常见情况,如C语言程序设计中的函数设计。 规格化为软件度量提供的信息结构。 * 软件开发的中心工作是“理解”与“设计”: 理解的方法是抽象。这个过程贯穿于软件过程的始终; 抽象之后的分解就是设计。设计是对理解的工程描述,主要是规格与方案的描述。 注意:一个项目最初的规格化成果,就是WBS(任务分解说明)。——WBS是软件度量的基础信息结构。不可小看!! * 某灌溉控制系统软件。 经理解与设计,其体系结构设计结果如下图所示。 这是系统级的抽象,用职责定义层次的划分,模型抽象出软件未来部署的逻辑关系 * 启动层 用户界面层 灌溉层 设备接口层 设备的模拟(仿真)层 抽象 具体 以层次模型中的启动层为例,其规格化过程如下: 启动层的分解——模块规格描述如下图(UML模型): * 图B-27 启动层的结构 这是中层模块级抽象,意在为具体的对象提供封装的结构(相当于包)。 启动层内各模块职责定义 这是底层的执行功能的抽象,采用文字定义的形式规划了上图三个模块的职责。 * 模 块 职 责 AquaLushApplet 要求模拟层创建所有GUI组件和模拟实体,并创建使用这些模拟对象配置程序的配置器 AquaLush 创建使用实际硬件的配置器。获取配置规范。调用配置器对程序进行配置 配置器 基于配置规范以及程序是模拟产品还是现场产品,创建和连接运行时组件。从持久性存储器恢复系统的状态 启动层最外围的接口规范 对外提供的服务 需要的服务(略) 这是对启动层入口的程序级抽象,定义了启动功能的接口规范概要。显然,至此完成了启动功能的进入接口的概要设计。 * Applet初始化 语法: Init() 前置条件: 无 后置条件: 对模拟AquaLush的applet初始化 程序执行 语法: main(args:String[]) 前置条件: 无 后置条件: 按照AquaLush程序的局部配置对程序进行设置,并将它的状态恢复到上一次执行它时的状态 从上例我们看到了度量的要素: 基础信息结构——体系结构的层次模型。 所以对软件设计的度量都在此基础信息之上。 随后,按照该层次模型,可以逐层、逐模块跟踪度量(相当于WBS) ——可以通过WBS所分配任务对人力、时间、成本进行度量。 最小度量单元是模块内功能接口规范——度量方法可以采用功能点计数了。 * 提问:我们为什么如此关注软件设计的度量? 因为,保持低开发费用的关键是保持一个简单的、轻量级的结构。 越是简单的设计,越能减低成本。 越是灵活的设计,越有新的价值。 越是规范的设计,越好维护。 越是得到广泛理解的设计,开发速度越快、越顺利。 * 但如果不度量设计,下列混乱是难以避免的。 那么多模块,开发人员应该到哪个模块中去查找一个特定的功能呢? 应该将一个新的类放在哪个模块中呢? 那些小点的模块有什么用?它们又是如何结合在一起的呢?——因为,随着用户领域知识的丰富,随着项目的进展,还要创建新的模块呢… 至此,我可以坦言:软件度量必须直指软件设计。离开软件设计的度量只能是“花拳绣腿”。 * 是软件的度量促进了软件的设计 软件度量,以对软件的理解为基础; 对软件的理解,落实到软件的描述; 软件的描述,开始了规格化抽象的过程,为软件度量创造了条件,同时也发现了软件的问题——支撑整个软件设计的基础是软件的体系结构(即技术上的WBS); 于是,人们发现了一个真理: ——保持低开发费用的关键是保持一个简单的、轻量级的软件体系结构。 有志者请注意这些词汇:软件体系结构、层次模型、轻量级、设计模式、模型驱动等。 * * 代码实现 某启动程序包UML模型 模 块 职 责 AquaLushApplet 要求模拟层创建所有GUI组件和模拟实体,并创建使用这些模拟对象配置程序的配置器 AquaLush 创建使用实际硬件的配置器。获取配置规范。调用配置器对程序进行配置 配置器 基于配置规范以及程序是模拟产品还是现场产品,创建和连接运行时组件。从持久性存储器恢复系统的状态 某启动程序包的规格描述 软件度量的对象 某程序单元 * * 软件规格 软件设计:体系结构描述 软件度量 管理复杂度——软件项目管理的首要使命 目的:切实防止高代价、低效率的设计。 这样的设计源于下面三种错误的设计风格: 用复杂的方法解决简单的问题; 用简单但错误的方法解决复杂的问题; 用不恰当的复杂方法解决复杂的问题。 软件度量后可以采取的管理方法(
您可能关注的文档
- MYFM1029石家庄分公司“DJ大赛”招商案.pptx
- MyCRM案例介绍.ppt
- MYSELF创意事务所推介方案.ppt
- myml膜颜膜丽品牌创想.ppt
- MYUTUDU是一个制作在线网络课程的工具.ppt
- my__favorite陶禹丞.ppt
- N-74 涡轮流量计.ppt
- N01_chapt01_运作管理概论.ppt
- N01 NETGEAR安全网络产品及方案介绍.ppt
- N05 应用程序控制功能.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)