- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件开发方法综述 60年代中期开始爆发了众所周知的软件危机。为了克服这一危机,在1968、1969年连续召开的两次著名的NATO会议上提出了软件工程这一术语,并在以后不断发展、完善。与此同时,软件研究人员也在不断探索新的软件开发方法。 一、Parnas方法 D. Parnas在1972年最早提出了软件开发方法 Parnas的方法针对的是可维护性和可靠性方面存在着严重问题 信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。 第二条原则是在软件设计时应对可能发生的种种意外故障采取措施。 一、Parnas方法(续) Parnas对软件开发提出了深刻的见解。遗憾的是,他没有给出明确的工作流程。所以这一方法不能独立使用,只能作为其它方法的补充。 二、Yourdon方法 1978年,E.Yourdon和L.L.Constantine提出了结构化方法,即SASD方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。 1979年Tom DeMarco对此方法作了进一步的完善。 二、Yourdon方法(续) Yourdon方法是80年代使用最广泛的软件开发方法。 它首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后是结构化编程(SP)。 这一方法不仅开发步骤明确,SA、SD、SP相辅相成,一气呵成,而且给出了两类典型的软件结构(变换型和事务型),便于参照,使软件开发的成功率大大提高,从而深受软件开发人员的青睐。 三、面向数据结构的软件开发方法 Jackson方法 1975年,M.A.Jackson提出了一类至今仍广泛使用的面向数据结构的软件开发方法。 这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。 这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。 该方法也可与其它方法结合,用于模块的详细设计。 三、面向数据结构的软件开发方法(续) Warnier方法 1974年,J.D.Warnier提出的软件开发方法与Jackson方法类似。差别有三点: 一是它们使用的图形工具不同,分别使用Warnier图和Jackson图; 另一个差别是使用的伪码不同; 第三个是最主要的差别即在构造程序框架时,Warnier方法仅考虑输入数据结构,而Jackson方法不仅考虑输入数据结构,而且还考虑输出数据结构。 四、问题分析法PAM PAM(Problem Analysis Method)是80年代末由日立公司提出的一种软件开发方法。 PAM方法的特点:希望能兼顾Yourdon方法、Jackson方法和自底向上的软件开发方法的优点,而避免它们的缺陷。 基本思想是:考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合。 四、问题分析法PAM(续) PAM方法的具体步骤是:从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系;按先后关系逐步综合处理框,直到画出整个系统的PAD图。 从上述步骤中可以看出,这一方法本质上是综合的自底向上的方法,但在逐步综合之前已进行了有目的的分解,这个目的就是充分考虑系统的输入、输出数据结构。 四、问题分析法PAM (续) PAM方法的另一个优点是使用PAD图。这是一种二维树形结构图,是到目前为止最好的详细设计表示方法之一,远远优于N-S图和PDL语言。 这一方法在日本较为流行,软件开发的成功率也很高。由于在输入、输出数据结构与整个系统之间同样存在着鸿沟,这一方法仍只适用于中小型问题。 五、面向对象的软件开发方法 面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。 随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(Object Modelling Technique)。 这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构 五、面向对象的软件开发方法 (续) OMT彻底实现了PAM没有完全实现的目标 OO技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破 ,彻底地解决了在这些方面存在的严重问题,从而宣告了软件危机末日的来临。(?) 五、面向对象的软件开发方法 (续) 自底向上的归纳 OMT的第一步是从问题的陈述入手,构造系统模型。 从真实系统导出类的体系,即对象模型包括类的属性,与子类、父类的继承关系,以及类之间的关联。 类是具有相似属性和行为的一组具体实例(客观对象)的抽象,父类是若干
文档评论(0)