




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程讲义,石 松 2006.8,2004级福建工程学院可视化程序设计专业,关于我,福州大学通信与信息系统专业博士生 2005年入学 信息产业部认证信息系统监理师 福州大学“擎鸿”软件研发小组组长 我的研究爱好:软件工程与人工智能 联系方式:,授课方式,总学时:90学时,19周 (4842) 指导方针:理论是用来指导实践的 学习环节: 理论讲授:立足课本,不拘泥课本,注重案例分析 实践环节: 给定若干案例,分组完成,进行 答辩 考试环节:笔试认证考试,参考书,软件工程导论(第三版) 张海藩 清华大学出版社(1997), 实用软件工程 (第二版) 郑人杰 殷人昆 陶永雷 清华大学出版社(199
2、6), 软件工程 -实践者的研究方法(英文版 第四版) Roger S. Pressman 机械工业出版社,第一章 导言,在信息处理和计算机领域内,一般认为软件是计算机程序、各种相关的文档和数据的集合 ,如下图。,文档:为了理解程序所需的阐述性资料。,程序:是计算任务的处理对象和处理规则的描述。,数据:包括使系统初始运行所必须的数据,如:数据库和表的结构及初始数据,系统运行中所需要的各种代码表、各种标志等。,软件的特点:, 软件是逻辑产品,它具有无形性,通过计算机的执行才能体现它的功能和作用。 不存在磨损和消耗问题。 其成本主要体现在软件的开发和研制上,可进行大量的复制。 主要靠脑力劳动生产。
3、 开发和维护成本高。,表现形式 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性 生产方式 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程,大多数软件仍是定制的。 维护 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题 要求 ? 软件产品不允许误差,软件质量要素,可维护性:软件必须能够不断进化以满足用户的需求变 化,这是软件产品最根本的要素,因为工作环境是不断变化的,软件也必然要跟着变化。 可依赖性:包括可靠性、保密性和安全性。可靠的软件在系统失败的情况下,也不会导致人员伤亡和经济损失。 有效性:软件不要浪费内存和CPU等系统资源,因而有效性应包括响应时间、处理时间
4、、内存利用率等。 可用性:软件必须具备可用性。必须是用户不用特殊地努力就能操作。那么,软件必须提供用户界面和充分地说明文档。,软件的分类,按软件的功能进行划分: 系统软件 使计算机系统各个部件、相关软件和数据协调、高效地工作的软件 操作系统 数据库管理系统 设备驱动程序 通信处理程序等,软件的分类,支撑软件 协助用户开发软件的工具软件 文本编辑程序 文件格式化程序 磁盘向磁带进行数据传输的程序 程序库系统 支持需求分析、设计、实现、测试和支持管理的软件,软件的分类,应用软件 商业数据处理软件 工程与科学计算软件 计算机辅助设计制造软件(CAD/CAM) 系统仿真软件 智能产品嵌入式软件 实时软
5、件 事务管理、办公自动化软件 计算机辅助教学软件,软件的分类,按软件规模进行划分: 类别 参加人员数 研制期限 源程序行数 微型 1 14周 0.5k 小型 1 16月 1k2k 数值计算或数据处理,通常没有与其它程序的接口。需要按一定的标准化技术、正规的资料书写以及定期的系统审查。只是没有大题目那样严格。 中型 25 12年 5k50k 软件人员之间、与用户之间的联系、协调的配合关系。因而计划、资料书写以及技术审查需要比较严格地进行。应用程序和系统程序。系统的软件工程方法是完全必要的。,软件的分类,大型 520 23年 50k100k 编译程序、小型分时系统、实时控制系统等。二级管理,若干小
6、组,每组5人以下。人员调整往往不可避免,新手的培训。采用统一的标准,实行严格的审查是绝对必要的。 甚大型 1001000 45年 1M(=1000k) 若干个子项目,每一个子项目都是一个大型软件。子项目之间具有复杂的接口。如远程通信系统、多任务系统、大型操作系统、大型数据库管理系统、军事指挥系统通常现有这样的规模。很显然,这类问题没有软件工程方法的支持,它的开发工作是不可想象的。 极大型 20005000 510年 1M10M 军事指挥、弹道导弹防御系统。 只是对软件工程技术依赖的程度不同而已。,1.2 软件工程的概念,1. 软件危机的产生,(1)软件规模越来越大,结构越来越复杂.(2)软件开
7、发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产提高缓慢。,例: 美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。.据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。.,这个项目的负责人F. D. Brooks事后总结了他在组织开发过程中的沉痛教训时说:“.正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。.程序设计工作正像这样一个泥潭,.一
8、批批程序员被迫在泥潭中拼命挣扎,.谁也没有料到问题竟会陷入这样的困境.”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。,Software Crisis !,2. 软件危机的主要表现,经费预算上升,完成时间一再拖延。 开发的软件不能满足用户的要求。 开发过程没有统一的规范和完整的文档,导致软件的可维护性差。 没有确保软件质量的体系,软件可靠性差。, 项目没有被很好地理解;计划不周,最终导致进度拖延。,问题出在哪里?,(2)没有充分的文档资料 (3)软件可靠性(reliability)缺少度量的标准,质量无法保证。,人与人的交流比写程序困难得多。,必须意识到:“软件” 编
9、程,它有自己的生命周期 (life cycle)。大型软件系统的开发与其它工程项目如建造桥梁、制造飞机、轮船等的开发是同理的。,解决问题的想法:,3. 软件工程的产生,软件工程的术语出现于1968年的NATO(北大西洋公约组织)会议上。,软件工程的发展分两个阶段: 第一:60-80年代,软件开发过程管理和工程化开发。成果:瀑布模型、SA等。,第二:80年代后,注重软件过程,开展了软件生产技术。成果:面向对象方法和语言。,(3). 软件工程的目的,倡导以工程的原理、原则和方法进行软件开发,来解决“软件危机”。,(2). 什么是软件工程,应用计算机科学、数学和管理科学等原理,借鉴传统工程的原理、方
10、法,创建软件以达到提高质量、降低成本的目的。,(1). 什么是工程,工程是将科学论理和知识应用于实践的科学。,3. 软件工程过程,软件工程过程就是在获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务,它包含获取过程、供应过程、开发过程、操作过程、维护过程、管理过程和支持过程等。,4. 软件生存周期,软件生存周期是指一个软件从立项开始,经过制造、测试、使用和维护直到软件废弃为止的整个时期。,在国家标准“计算机软件开发规范”中,把软件生存周期划分为8个阶段,即: (1)可行性研究与计划; (2)需求分析; (3)概要设计; (4)详细设计; (5)实现; (6)综合测试; (7)确认测试
11、; (8)使用与维护 。,1.2 软件工程框架,从这一框架中,要理解软件工程的目标、活动和原则。,从这一框架中可看出,软件工程学科的研究内容包括:软件开发技术和软件管理两方面。即:软件开发模型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程以及软件管理学、软件经济学和软件心理学。,软件工程定义,软件工程是一类求解软件的工程,它应用计算机科学、数学(用于构造模型和算法)和管理科学(用于计划、资源、质量和成本等的管理)等原理,借鉴传统工程(用于制定规范、设计范型、评估成本、权衡结果)的原则和方法,创建软件以达到提高质量、降低成本的目的。 软件工程是一门指导计算机软件开发和维护的
12、工程学科。,(1) 立足于系统的整体。 (2) 讲授系统分析、系统设计、 测试及维护的理论和方法。 (3) 构筑一个软件系统,实践 软件开发全过程。,“软件工程”课程 与其它软件专业课的区别,“软件工程”课程教学与实践的目标,转变对软件开发的认识: 上升 程序 系统 转变思维定式: 上升 程序员 系统工程师 (系统分析员) 工程化训练,我国软件业的现状,我国软件业的规模 目前,我国从事软件开发、研制、销售、维护和服务的软件企业有2000家左右,加上兼营的企业,总数大约有10000多家,其中具有自主软件研发能力的软件企业约5700家,已经通过双软认定的有2300余家,从事软件销售、维护和服务的企
13、业5000多家。在这里面,营业规模超过一亿元的软件企业达到100家以上,超过5亿元的达到18家,超过10亿元的达到12家。,我国软件业的现状,2001年,世界软件产品市场销售额超过1865亿美元,我国当年的销售额为285亿元人民币,只占世界市场不到2的份额。 国内软件市场有限的份额中大部分为国外软件厂商所瓜分,国内所开发的软件产品仅占小部分。,我国软件业的现状,2001年我国软件销售总额96.3亿美元,软件企业约5000家,从业人员29万。 2001年印度软件销售总额102.3亿美元,软件企业约6000家,从业人员40万。 2001年我国软件的出口额仅为7.2亿美元,2000年与1999年分别
14、为4亿美元及2.5亿美元。 印度在软件出口方面,则一直保持高速的增长。1990年印度软件出口只有5000万美元,1999年就达到了39亿美元,2000年达到了62亿美元,而2001年印度软件出口额为77.8亿美元,已经占到了印度全部出口总额的10.5。,我国软件业的现状,我国软件业发展不理想的原因除了政策和盗版外,最大的问题是我国绝大多数软件企业对其软件开发工作过程缺乏有效的管理和控制。多数软件企业开发和生产基本上处于“技术少标准、开发缺规范、生产无检验、质量无保证”的状态。在这方面印度软件业的发展能够给我们以启发。,它山之石,印度软件业能够这么迅速地发展起来,除了有政府支持、英语程度、人才储备等原因外,最重要的是从标准化与产品流程入手,重视管理。 印度的软件开发管理的特点是流程重于项目,流程管理人员独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程走,如果流程不对,项目肯定就此停止。另外,所谓的项目经理一般都是从编码人员升上来的,至少有四年以上的经验,而公司所有的东西(包括草稿)都有文档,其详细文档要求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏省盐城市东台市物理高一第二学期期末统考模拟试题含解析
- 冬春季传染病防治
- 2025年山西省风陵渡中学物理高二第二学期期末经典模拟试题含解析
- 2025届甘肃省白银市二中物理高一第二学期期末综合测试模拟试题含解析
- 2025版:文化娱乐产业合作补充协议文化娱乐权益拓展
- 2025年度高端不锈钢厨具加工定制服务合同范本
- 二零二五版太阳能光伏发电项目施工安装合同样本
- 二零二五年藏式建筑装修合作协议
- 二零二五年度森林资源调查与测绘服务合同
- 二零二五年体育设施PPP项目特许经营合同
- 2023年黑龙江省普通高中学业水平合格性考试数学试题(无答案)
- 旅游接待业 习题及答案汇总 重大 第1-10章 题库
- 隋唐人的日常生活
- 你比划我猜搞笑题目500题
- 如何进行高效沟通课件
- 宁夏西吉县公开招考10名城市社区工作者高频考点题库模拟预测试卷(共1000练习题含答案解析)
- 亚科科技(安庆)有限公司高端生物缓冲剂及配套项目(一期)环境影响报告书
- 防灾科技学院学生学籍管理规定
- 病人欠费催缴通知单
- GB/T 9766.5-2016轮胎气门嘴试验方法第5部分:大芯腔气门嘴试验方法
- GB/T 4857.4-2008包装运输包装件基本试验第4部分:采用压力试验机进行的抗压和堆码试验方法
评论
0/150
提交评论