文章目录


写在前面:开发软件不等于编写程序,开发软件应该完成的工作远远多于编写程序应该完成的工作

1.第一章 绪论

  1. 开发软件的步骤:问题定义(明确软件需要解决用户的哪些问题)->可行性研究(技术可行-是否有解,经济、时间可行)->需求分析(搞清楚用户对软件的具体需求,分析成功与否基本上决定了软件开发的成功与否)->总体设计与详细设计(编写程序前的设计)->编写程序(一般只占到整个工程的15%工作量)->严格测试(测试一般占40-50%)
  2. 什么是软件? 程序+数据+文档 文档的重要性要超过程序和数据
  3. 软件特点 软件本身是复杂的(WIN7有2亿行代码)、软件成本十分昂贵、软件的开发和运行往往受到计算机系统的限制,对计算机系统有不同程度的依赖、相当多的软件工作涉及到社会因素(宗教、信仰等)
  4. 软件分类:
    按照功能 :系统软件(操作系统、大型数据库)、支撑软件(支持软件开发的工具等)、应用软件(纯应用软件)
    按照规模:微型、小型、中型、大型、超大型
    工作方式:实时(工业)、分时、交互、批处理
    服务对象:项目软件(根据某个项目或某个客户)、产品软件(不是根据一个客户而是一个产品,面向面广)
  5. 软件危机 软件工程学复习
    软件工程学复习
    需求做的不充分,计划不周,文档资料不充分(上千人的团队开发,资料不充分后对于别人而言看你的代码很困难),没有软件可靠性标准无法保证质量,软件难以维护升级等许多问题,必须意识到,编写软件和写程序是两个概念
    软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题:主要是如何开发软件,怎样满足对软件日益增长的需求,如何维护已经开发的软件?
    主要表现:软件工程学复习
    产生原因:在软件的开发和维护过程中存在着这么多的问题,一方面与软件本身的特点有关,另一方面也与软件的开发和维护的方法有关。造成上述软件危机的原因概括起来有以下几方面:
    1.软件规模越来越大
    2.软件开发的管理困难
    3.相当多的软件开发人员对于软件的开发和维护存在不少糊涂的观念,实践中或多或少地采用错误的方法和技术
    4.软件开发技术落后
    5.生产方式落后:手工开发言传身教
    解决措施:
    1.研制新一代体系结构的智能计算机,以改变软件的实现方式,降低软件的复杂性。目前尚未研制成功。
    2.采用工程化、规范化的开发方法来指导软件的开发:这就是产生“软件工程学”的背景,并在70年代形成了结构化分析、设计方法。也是本课程要讲授的主要内容。
    3.在求解方法上采用面向对象的软件设计方法。即在软件开发中,以客观世界的问题空间入手进行软件设计,以减少求解方法空间与客观世界问题空间存在的“鸿沟”。
  6. 软件工程:软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
    1.用分阶段的生命周期计划严格管理
    2.坚持进行阶段评审
    3.实行严格的产品控制
    4.采用现代程序设计技术
    5.结果应能清楚地审查
    6.开发小组的人员应该少而精

标题

相关文章: