欢迎来到天天文库
浏览记录
ID:46976139
大小:1.16 MB
页数:93页
时间:2019-12-02
《软件工程06细节设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Details细节structuredprogramming结构化程序设计Human-computerInterface人机界面VocabularyCH6DetailsdesignNantongUniversity主讲人:程显毅可行性分析:解决“为什么要做”软件需求:解决“做什么”软件设计:解决“怎么做”软件设计的任务问题结构(软件需求)软件结构映射从软件需求规格说明书出发,形成软件的具体设计方案。这个项目怎么做?这是总体设计和详细设计的任务要好好学习啦!总体设计(概要设计、系统设计):确定软件的结构以及各组成成分(子系统或
2、模块)之间的相互关系。关注的是软件结构,主要面向用户。(1)软件结构设计(2)数据设计详细设计(技术设计):确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。关注的是系统的具体实现方法,主要面向开发人员。(3)人机界面设计(4)过程设计软件设计分为两个阶段:Contents6.4DesignMethodorientedDatastructure软件危机(1.2)6.5TheMeasureofProgramComplexityDegree6.6Summary6.3ToolofProcedureDesign6.2H
3、uman-computerInterfaceDesign6.1StructuredprogrammingStructuredprogramming采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。1965年,E.W.Dijkstra在IFIP(国际信息处理联合会)会议上提出“可以从高级语言中取消GOTO语言”、“程序的质量与程序中所包含的GOTO语句的数量成反比”。但是当时并未引起很大反响。1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口单出口的程序,这个结论奠定了结构程序设计的理论基
4、础。这三种基本的控制结构是“顺序”、“选择”、“循环”。1968年Dijkstra在ACM通讯上发表了短文“GOTOstatementconsideredharmful”再次建议从一切高级语言中取消GOTO语句,只使用三种基本控制结构写程序。经过讨论人们认识到,不是简单地去掉GOTO语句的问题,而是要创立一种新的程序设计思想、方法和风格,以显著地提高软件生产率和降低软件维护代价。1971年IBM公司在纽约时报信息库管理系统的设计中成功地使用了结构程序设计技术(以及主程序员组),随后在美国宇航局空间实验室飞行模拟系统的设计中,结
5、构程序设计技术(也采用了主程序员组的形式)再次获得圆满成功。(1)Structuredprogramming发展历史6.1Structuredprogramming(2)三种基本的控制结构1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口单出口的程序,这个结论奠定了结构程序设计的理论基础。这三种基本的控制结构是“顺序”、“选择”、“循环”。虽然从理论上说只用上述三种基本控制结构就可以实现任何单入口单出口的程序,但是为了实际使用方便起见,常常还允许使用DO-UNTIL和DO-CASE两种控制结构
6、,其流程图分别为:常用以上五种基本构造,但是在遇到多层嵌套循环时,如果每层只允许一个出口,势必影响退出时的效率。所以需要立即从循环(甚至嵌套的循环)中转移出来,如果允许使用BREAK,则不仅方便而且会使效率提高很多。BREAK语句实质上是受限制的GOTO语句,用于转移到循环结构后面的语句。(3)Structuredprogramming特征①使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。②选用的控制结构只准许有一个入口和一个出口。③复杂结构应该用基本控制结构进行组合嵌套来实现。严格控制GOTO语句。(3)怎么判
7、断一个程序是否为结构化的?如果对流程图中每一构件用“边框”圈起来,边界之间不出现交叉,则说明所有构件都为单入口单出口,则称此程序为结构化程序。重写D(4)自顶向下,逐步求精方法的优点①符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率。②用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构,程序容易阅读和理解。③在同一层的节点上的细化工作相互独立。有利于编码、测试和集成。④有利于设计的分工和组织工作。Contents6.4DesignMethodorientedDatastru
8、cture软件危机(1.2)6.5TheMeasureofProgramComplexityDegree6.6Summary6.3ToolofProcedureDesign6.2Human-computerInterfaceDesign6.1Structuredprogram
此文档下载收益归作者所有