文档详情

哈尔滨工业大学软件工程-1.ppt

发布:2017-10-31约3.59万字共50页下载文档
文本预览下载声明
* * * * * * 我们以上讨论的是区别于计算机硬件或其他工程对象的各种软件的共同特点。那么究竟软件有哪些类型?事实上,要给计算机软件做出科学的分类是很难的 但鉴于不同类型的工程对象,对其进行开发与维护有着不同的要求与处理方法,因此仍然需要对软件的类型进行必要的划分。 1、按软件的功能划分-------- 系统软件:能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件与数据协调、高效率地工作的软件。如操作系统、数据库管理系统、 设备驱动程序以及通信处理程序等。系统软件是计算机系统中必不可少的一个组成部分。 支撑软件:是协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件产品的工具,也包括帮助管理人员控制开发的进程的工具。 如下表所示: * 1、微型------只有一个人,甚至是半时,在几天之内完成的软件。写出的程序不到500行语句。 2、小型------一个人半年之内完成的2千行以内的程序。例如,数值计算问题或是数据处理问题就是这种规模的课题。这种程序通常没有与其他程序的接口。 如,有求伯君开发最初的 WPS,单独完成BASIC 的比尔.盖茨 3、中型------5人以内在一年多时间里完成的5千到5万行的程序。这种课题开始出现了软件人员之间,软件人员与用户之间的联系、协调与配合关系的问题。 4、大型------5人至10人在两年多的时间里完成5万行到10万行的程序。例如编译程序、小型分时系统、应用软件包、实时控制系统等很可能都是这种软件。 5、甚大型—100人至1000人参加 6、极大型---2000-5000人参加,如,微软的windows 2000项目就包含了近3000名工程师,他们被分成几百个小的团队。 * 我们可以与自然地将软件分成两类 --- 软件产品与软件项目 软件产品---------指的是不局限于特定领域的、可以被广大用户直接使用的软件系统。如微软的 Windows,Office等。这类系统的特点是技术含量高,开发时要考到各种不同的用户需求; 软件项目---------也称定制软件,是受某个特定客户(或少数客户)的委托,由一个或多个软件开发机构在合同的约如我们常说的管理信息系统(MIS)与电子商务系统。这类软件的特点是领域知识所占的比重较大,相对技术而言工程性更强。例如,军用防空指挥系统、卫星控制系统等均为这类软件。 针对这两种不同类型的软件,应该有不同的软件开发方法去指导项目开发过程。 软件项目的开发,---------目前比较成熟的软件开发方法有软件成熟度模型(CMM)。 这种软件开发模型试图将整个软件开发过程规范化与量化,直到可以对软件开发过程进行定量的控制与优化。 软件产品的开发,--------像微软公司积累了许多成功的经验。 * “软件工程”一词是来自于1968年北大西洋公约组织(NATO)在联邦德国召开的一次会议上首次提出来的。 它的主要思想是 “把软件当成一种产品。并要求采用工程化的原理与方法对软件进行计划、开发与 维护。 软件工程的目标是实现生产高质量的软件产品 * 那么为达到软件优质高产这个目标,从技术到管理做了大量的努力,从而逐渐已形成了“软件工程学”这一新学科。 它包含以下主要内容: 2、软件开发方法:软件工程的方法提供了建造软件在技术上需要“如何做”。 方法涵盖了一系列的任务---- 需求分析、设计、编程、测试与维护。 是在60年代后期才逐步形成了一种软件开发方法,在不同的软件开发阶段对应有不同的方法,例如在软件的设计阶段有“结构化分析与设计”方法,在软件测试阶段有“黑盒”与“白盒”测试技术,等等。 象目前又有一种更新的技术“面向对象的程序设计方法”。在这一方法中,数据与数据的操作是被封闭在一个个称为“对象(Object) “的统一体中,对象之间则是通过”消息”(message”)进行相互联系的。 从而使由软件所描述的系统与客观世界的系统在结构上
显示全部
相似文档