软件开发过程理论与方法
第3章 程序设计理论与方法
3.1 软件开发过程 3.1.1 软件概念 在现代软件工程中软件概念不仅指程序本身, 还包括规范而完备的文档材料。其中文档是软件 “质”的部分,而程序则是文档代码化的表现形 式。 3.1.2 软件的特点 软件生产是逻辑思维,集中于开发而不是制 造,因此起决定作用的是人的智能的高效率的发 挥。这与开发者的个人技术水平和工作作风有很 大的关系。
第3章 程序设计理论与方法
3.2.2自顶向下逐步求精模块程序设计思想 程序模块化的优点包括: (1)便于将复杂问题转化为个别小问题。 (2)便于从抽象到具体地进行程序设计。 (3)便于测试和维护。采用模块化原则设计程序时,某 个模块所包含的信息(过程和数据)其他模块不需要 知道,既不能访问,以体现模块的独立性。 (4)便于理解分析程序。在对模块化程序进行分析时, 由于每个模块功能明确,彼此独立,所以可以采用自 顶向下的分析方法,首先确定每个模块的功能,进而 理解整个程序。
他细节问题可以再补充。
第3章 程序设计理论与方法
结构化程序设计原则 (1)大型程序,按功能划分模块。 (2)每一个基本程序单元,具有“独立程序“的特征, 既单入口,单出口;强调由3种基本结构(顺序、 选择、循环)组成;严格限制使用goto语句;不包 含无限循环,即程序执行时间是有限的;程序中所 有语句都应有执行的机会;书写格式清晰。 按上述原则进行设计,就称为结构化程序设计。 结构化程序设计的优点在于能使结构清晰,风 格固定,便于理解、交流和维护。其缺点是设计出 的程序运行效率有所降低。
第3章 程序设计理论与方法
自顶向下逐步求精的程序设计方法 自顶向下设计的一个重要特点是,对某一层来说,下一 层设计的细节是隐藏起来的,只要那些必须通过接口的数据 和控制才有定义。 如果一个数据结构被整个包含在某个低层模块之中。在 设计到达该层之前,没有必要进行描述。但当数据必须由某 层的几个模块共享时,则必须在进展到该层之前就选定数据 结构。 逐步求精的特点是考虑问题时先整体后局部,先抽象后 具体。它要求从问题的全局出发,首先明确“做什么“,接 着将其进一步分解成若干子任务分而治之。一步一步精细化, 每步都向程序的最终形式接近一点,直到获得一个在你所使 用的计算机系统上可执行的程序为止。 由此可见,通常把自顶而下逐步求精及模块化设计结合起 来实现程序的结构化设计。
进度耽误了,可以增加人员。 软件工作直到交付使用为构化程序设计 3.2.1结构化程序设计的一般概念
给出程序,并且运行了任务就算完成任务。
软件灵活性大,易于修改。 没有必要进行评审
第3章 程序设计理论与方法
3.1.4 软件开发时常见的错误观念 只要有对总目标的一般性描述,就可以开始写代码了,其
第3章 程序设计理论与方法
3.1.3 软件开发的一般步骤 研究软件的生存周期可分为三个大阶段:计划阶段,开发 阶段和维护阶段。 计划阶段:这一阶段的任务是进行问题定义,可行性研究 和需求分析。 开发阶段:这一阶段的任务就是进行设计、编码和测试。 维护阶段:维护阶段的任务就是通过各种必要的维护活动 使系统持久地满足用户的需要,通常通过四类维护活动,改正 性维护,既诊断和改进在使用过程中发现的软件错误;适应性 维护,既修改软件以适应变化的环境;完善性维护,根据用户 的要求改进或扩充软件使它更加完善;预防性维护,既修改软 件为将来的维护活动做准备。
程序设计优劣的判定标准 (1)功能应能满足用户目标要求; (2)可靠性应达到预定水平; (3)用户界面友好; (4)在规定的条件下执行时间要短; (5)资源消耗少; (6)可维护性好; (7)可移植性高;