软件开发流程图介绍.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

软件工程开发

第一章软件工程基本观念

1.1软件工程的目标与常用模型

软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。对开发人员

而言,如果非得在质量与生产率之间分个主次不可,那么应该是质量第一,生产率第二.

软件工程的主要环节如图1所示,软件开发过程一般包括可行性与需求分析、系统设

计、程序设计、测试和维护。

图1软件工程环节

常见的软件工程模型有:线性模型,渐增式模型,螺旋模型,快速原型模型,形式化描述

模型等等。虽然线性模型比较简单,太理想化,但是每一个非线性的模型都能转化为一系列

简单的线性模式,因此在其他模式中需要灵活运用线性模式。

1.2软件开发的基本策略

1。2。1复用

在一个新系统中,大部分的内容是成熟的,只有小部分内容是创新的。应该把大部分的

时间用在小比例的创新工作上,而把小部分的时间用在大比例的成熟工作中。我们将具有一

定集成度并可以重复使用的软件组成单元称为软构件。软件复用可以表述为:直接使用已有

的软构件,即可组装(或加以合理修改)成新的系统.这样可以提高生产率和质量.

图2应用软构件产生应用软件

1.2.2分而治之

我们可以把复杂的问题分解成N个简单的问题,再逐个寻求解决方法。但是最终的目的是

要保证单个的简单问题可以通过程序实现,组装后能够使原本复杂的问题得到合理解决。

1。2.3优化——折衷

优化是用以优化软件的各个质量因素,但不能面面俱到,应折衷,其目标就是协调各个

质量因素,实现整体质量最优.而不能盲目得拆东墙,补西墙。

第二章软件开发过程各个环节介绍

2。1可行性分析与需求分析

2.1.1可行性分析要求

可行性分析是从经济、技术、市场与政策及人员方面分析这个项目做还是不做。

2。1.2需求分析要求

当确定做之后,我们就要与客户交流,进行需求分析,但由于客户表达不清、需求自身

经常变动或分析人员理解有误,都会导致需求分析困难。因此,有必要通过请教行家或者分

析同类型产品,来做进一步的分析。

2。2系统设计

2。2。1体系结构设计

体系结构就如同人体中的骨架,是软件系统中最本质的东西.其中层次结构和客户机/服

务器结构是两种非常通用的软件体系结构。每个系统均有一个体系结构,我们在没有必要地

情况下不可以修改。

2.2。2模块设计

模块设计过程不仅要考虑本身提供什么样的功能,还要考虑该模块与其他模块如何交

流。常用以下三个特征进行模块优劣的评价:“信息隐藏”、“内聚与耦合”和“封闭—开放

性”。

模块的信息隐藏可以通过接口设计来实现,执行模块的功能或与模块交流信息必须且只

须通过调用公有接口来实现。

内聚是模块内部各成分之间的关联度,而耦合是模块间的依赖程度,在模块设计时应做

到强内聚,弱耦合。

2.2。3数据结构与算法设计

在算法设计时我们主要要从时间和空间的角度考虑软件的效率.时间与空间的优化也应

该采取折中的方式。

2.2。4用户界面设计

人机界面设计应从合适性、风格和广义美上着手。做到吸引眼球和谐,才能吸引客户.

2。3程序设计

本节主要讲述了编程的一些小注意事项,需养成良好的编程规范。

1、命名约定

(1)宏定义用大写字母加下划线表示,如MAX_LENGTH;

(2)函数用大写字母开头的单词组合而成,如SetName,GetName;

(3)指针变量加前缀p,如*pNode;

(4)BOOL变量加前缀b,如bFlag;

(5)int变量加前缀i,如iWidth;

(6)float变量加前缀f,如fWidth;

(7)double变量加前缀d,如dWidth;

(8)字符串变量加前缀str,如strName;

(9)枚举变量加前缀e,如eDrawMode;

(10)类的成员变量加前缀m_,如m_strName,m_iWidth;

2、使用断

文档评论(0)

133****8893 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档