softpoint.docVIP

  • 15
  • 0
  • 约 10页
  • 2015-08-07 发布于湖北
  • 举报
softpoint.doc

采用工程的概念、原理、技术、方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,这就是软件工程。 一种产品从定货开始,?经过设计、制造、调试、使用维护,直到该产品淘汰为止,这就是所谓的产品生存周期。 软件生命周期是从用户提出开发要求开始,直到该软件报废为止的这段时间,可分为3个时期:计划期(软件定义)、开发期(软件开发)和运行期(软件维护)。计划期又分为问题定义和可行性研究两个阶段;开发期分为4个阶段:需求分析阶段、设计阶段(总体设计、详细设计)、编码阶段和测试阶段;运行期即维护阶段。 2.可行性研究 ① 经济可行性 ② 技术可行性 ③ 操作可行性 可行性研究的一般步骤有8步: 复查项目任务书,消除一切含混不清的问题。 搞清现有系统的功能及缺陷,并画出现行系统的高层系统流程图,但不应该花时间去了解现行系统是如何实现的(P5)。 导出新系统的高层逻辑模型(数据流图和数据字典)(P6)。 重新定义问题 导出和评价可供选择的解法 6 .推荐方案 7 .草拟开发计划 8.书写文档提交审查 1.3 软件的需求分析 用户与开发人员无共同语言,很难进行交流,这是需求分析阶段的特点之一。 有时进入到设计、编码阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。这是需求分析阶段的特点之二。 如果在需求分析产生一个错误,这个错误发现越晚,则花的代价越高。这是需求分析的特点之三。 详细设计的表示工具有图形工具和语言工具,图形工具有程序流程图、PAD(Problem Analysis Diagram)图、N–S盒图,语言工具有伪码和PDL(Program Design Language)等。 把软件划分为一些单独命名和编程的元素,这些元素称为模块 模块独立性是指模块具有功能专一,模块之间无过多相互作用的特性。具有独立性的模块,开发容易,模块组合更容易,也容易修改,容易测试,并且能减少错误的传播。为了更好地定性度量模块独立性,引入了模块的内聚性和耦合性概念。内聚性是模块内各部分之间联系紧密程度的度量,耦合性是模块之间联系紧密程度的度量。 内聚性是一个模块内各元素彼此的结合程度 耦合性是模块间相互连接紧密程度的度量。 ● 精细化数据流图,确定数据流图的类型; ● 指出各种信息流的流界; ● 将数据流图映射为软件结构; ● 精细化软件结构图; ● 开发接口描述和全程数据描述。 详细设计的描述方法也称为详细设计工具 (1) 程序流程图 (2) N-S盒图 (3)判定树 (4)判定表 (5) ?PAD图 (6) 伪码和PDL语言 2.编程风格 编程风格是指一个程序员在编程时所表现的特点、结构、逻辑思路的总和。编程风格包括源程序文档、数据说明、语句、输入输出及效率等。编程风格的原则是简明性和清晰性。 。白盒法是把程序看成装在一个透明的白盒子里,也就是人们完全了解程序的结构和处理过程,按照程序内部的逻辑结构,检验程序中的每条通路是否都能按照预定的要求正确工作。黑盒法是完全不管程序内部的结构和处理,把程序看成一个黑盒子,只按照程序需求说明书规定的功能和性能正常使用,程序是否能适当地接受输入数据并产生正确的输出信息。 测试阶段应该注意的一些基本原则是: (1) 测试用例应该由以下两部分组成:输入数据和预期的输出结果。 (2) 不仅要选择合理的输入数据作为测试用例,还应选用不合理的输入数据作为测试用例。 (3) 除了检查程序是否做了应做的工作之外,还应检查程序是否做了不应做的事。 (4) 应该长期保留所有的测试用例,直至这个程序系统被废弃不用为止。 测试阶段分为以下几个步骤: (1)单元测试:又称模块测试,检查每个模块是否有错误,主要发现编程和详细设计阶段的错误; (2) 集成测试:又称组合测试、组装测试,检查模块之间的接口的正确性,主要用于发现总体设计阶段的错误; (3) 验收测试:又称有效性测试、确认测试,检查程序系统是否满足用户的功能性能要求,主要用于发现需求分析阶段的错误 当使用渐增式测试方法把模块结合到软件系统中去时,有自顶向下和自底向上两种方法。 1) 自顶向下结合 2) 自底向上结合 1.6.4 软件的调试P64 调试策略P45 (1) 试探法 (2) 回溯法 (3) 对分查找法 (4) 归纳法 (5)演绎法 3.调试原则 (1) 要思考。实际上不用计算机就能确定大部分错误。 (2) 如果陷入困境,就把问题放到

文档评论(0)

1亿VIP精品文档

相关文档