首页 01基础知识

01基础知识

举报
开通vip

01基础知识 1 主讲:王慧芳 Tel:87951587(教二108)、13958080300 E-mail:huifangwang@zju.edu.cn 2 教材 《软件工程》王慧芳、毕建权编著 浙江大学出版社,“十一五”规划教材 课程评分方法  平时 30% (出勤+作业)  考试=开卷(70%)。 教学日历 3 猜数字 本质上是一门指导实践的工程学科 分析、设计、写作、使用工具能力 沟通、合作能力 “文科类”学科、被动地接受知识——只要求通过课程的考试, 而不去提高自己的实践...

01基础知识
1 主讲:王慧芳 Tel:87951587(教二108)、13958080300 E-mail:huifangwang@zju.edu.cn 2 教材 《软件工程》王慧芳、毕建权编著 浙江大学出版社,“十一五”规划教材 课程评分方法  平时 30% (出勤+作业)  考试=开卷(70%)。 教学日历 3 猜数字 本质上是一门指导实践的工程学科  分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 、设计、写作、使用工具能力 沟通、合作能力 “文科类”学科、被动地接受知识——只要求通过课程的考试, 而不去提高自己的实践能力。 角色转换。 学习方法——软件工程 4 第一讲 软件工程概述 5 软件及软件危机 软件的开发方法 软件工程 案例分析 6 计算机软件已经成为一种驱动力  进行商业活动的引擎;  现代科学研究和工程问MATCH_ word word文档格式规范word作业纸小票打印word模板word简历模板免费word简历 _1714156397469_1解决的基础;  区分现代产品和服务的关键因素;  现代社会中不可缺少的。 应用于:应用于: 交通、医药、通讯、军事、娱乐、交通、医药、通讯、军事、娱乐、 办公办公………… 7 软件定义 软件=程序+文档+数据 定义真简单! 8 软 件 生 产 的 发 展 程序设计时代 程序系统时代 软件工程时代 时间 1946~1956 1956~1968 1968~至今 生产 方式 个体手工劳动 作坊式小集团合 作 工程化的生产 使用 工具 机器、汇编语 言 高级语言 开发工具 开发 方法 个人编程技巧 个人编程技巧,开 始提出结构化方法 使用数据库、网络、 分布式、面向对象技 术等 硬件 特征 价格贵,存储容 量小,运行可靠 性差 速度、容量及工作 可靠性明显提高, 价格降低 向超高速、大容量、 微型化以及网络化方 向发展 软件 特征 只有程序设计概 念,不重视程序设 计方法 程序员数量猛增,但 开发人员素质差,开 发技术没有新突破。 软件危机产生。 开发技术有很大进步, 但没有突破性进展,没 有完全摆脱软件危机。 等于程序加技术 文档 完整定义等于程序软件 定义 用户-编码者-计算机 Hacker用户-计算机角色 9 软件— 定义 软件是软件是  能够完成预定功能和性能的可执行的指令(计 算机程序);  使得程序能够适当地操作信息的数据结构;  描述程序的操作和使用的文档。 被普遍接受的软件的定义是: 软件(software)是计算机系统中与硬件(hardware) 相互依存的另一部分,它包括程序(program)、 相关数据(data)及其说明文档(document)。 10 软件特点 软件是一种逻辑实体,具有抽象性。开 发过程的进度难以衡量,质量难以评价, 管理和控制相当困难。 软件成本昂贵。 软件是人类能够创造的最复杂的产物 : 实际问题的复杂性、程序逻辑结构的复杂 性、其他领域的专门知识。 软件产品是“定做”的 ,开发工作是高强 度的脑力劳动。 软件不会被“用坏”,但是较难维护, 维护意味着改正或修改原来的设计。 11 硬件的故障率曲线(浴缸曲线) 故 障 率 12 软件的故障率曲线(理想情况下) 故 障 率 13 软件的故障率曲线(实际情况下) 故 障 率 14 15 软件分类—按软件功能划分  系统软件系统软件::操作系统、数据库管理系统、设备驱动 程序以及通信处理程序等。它是计算机系统必不可少的一个 组成部分。  支撑软件支撑软件::支持软件设计的图形软件包,支持软件 实现的编辑程序、预编译程序等。它是协助用户开发 软件的工具性软件。  应用软件应用软件::工程和科学计算软件、嵌入式软件、计 算机辅助设计/制造(CAD/CAM)软件、系统仿真软 件、人工智能软件等 。。 经费突破 时间一拖再拖 …… 不满足要求 可维护性差 16 例: 美国IBM公司在1963年至1966年开 发的IBM360机的操作系统。这一项目花 了5000人一年的工作量,最多时有1000 人投入开发工作,写出了近100万行源程 序。......据统计,这个操作系统每次 发行的新版本都是从前一版本中找出 1000个程序错误而修正的结果。...... Software Crisis ! 17 这个项目负责人F.D.Brooks事后总结了 他在组织开发过程中的沉重教训时说: “……正像一只逃亡的野兽落到泥潭中做垂 死的挣扎,越是挣扎,陷得越深。最后无法 逃脱灭顶的灾难,……程序设计工作正像这 样一个泥潭,……一批批程序员被迫在泥潭 中拼命挣扎,……谁也没有料到问题竟会陷 入这样的困境……”。关于本项目的经验积 累可以看F.D.Brooks的著作《人月神话》 (UMLChina翻译组 汪颖/译,清华大学出版 社出版)。 18 软件危机— 介绍  软件危机包含两方面问题:软件危机包含两方面问题: 如何开发软件,以满足不断增长,日 趋复杂的需求; 如何维护数量不断膨胀的软件产品。 19 软件危机的表现  软件开发成本和进度的估算常常不准确; 一个复杂的软件系统需要建立庞大的逻辑体系,而这 些往往只存在于人们的头脑中,正如一个大项目负责 人所说:"软件人员太像皇帝新衣故事中的裁缝,当 我来检查软件开发工作时,所得到的回答好像对我 说:我们正忙于编织这件带有魔法的织物,只要一会 儿,你就会看到这件织物是极其美丽的。但是我什么 也看不到,什么也摸不到,也说不出任何一个有关的 数字,没有任何办法得到一些信息说明事情确实进行 得非常顺利,而且我已经知道许多人最终已经编织了 一大堆昂贵的废物而去,还有不少人最终什么也没有 做出来。" 20  用户对完成的软件系统不满意现象经常 发生;  软件产品的质量往往靠不住; BugBug一大一大 堆,堆,PatchPatch一个接一个。一个接一个。  软件常常是不可维护的;  软件通常没有适当的文档资料;  软件成本在计算机系统成本中所占的比 例逐年上升;  软件开发生产率提高的速度远远跟不上 硬件的发展和人们需求的增长。 软件危机的表现 21 产生软件危机的原因 软件本身特点:  逻辑部件:管理和控制软件开发过程相当困 难,较难维护  规模庞大:代码长度不正比程序复杂程度 软件开发与维护的方法不正确 没有认识软件的完整定义 没有认识到软件的生命周期 软件开发不同阶段进行修改需要付出的代 价差别很大 22 引入同一变化付出的代价随时间变化的趋势 变化出现的时期 代 价 早 中 后 高 中 低 23 消除软件危机的途径  对计算机软件有一个正确的认识 (软件≠程序)  技术措施:推广使用在实践中总结出来 的开发软件的成功技术和方法;开发和 使用更好的软件工具等。  管理措施:必须充分认识到软件开发不 是某种个体劳动的神秘技巧,而应该是 一种组织良好、管理严密、各类人员协 同配合、共同完成的工程项目。 24 软件及软件危机 软件的开发方法 软件工程 案例分析 25 软件工程产生 1968年北大西洋公约组织在联邦德国召 开国际会议,讨论软件危机问题,提出 软件工程概念。 软件工程的发展历史尽管不长,但也经历 了传统软件工程时代、对象软件工程时代、 过程软件工程时代、构件软件工程时代。目 前的发展趋势,正在这4个时代的基础上,朝 着流水线装配软件工程的方向发展,以迎接 软件发展的4大趋势:流水线生产、网络化、 服务化与全球化。 26 软件工程目标软件工程目标 目的是成功地建造一个大型软件系统,能在 开发成本、开发时间、软件功能、性能等方面达 到预期目标。为了实现其目标,软件工程提出了 工程化的思想。 软件工程从管理和技术两方面指导软件开发。 工程是对技术(或社会)实体的分析、设 计、建造、验证和管理。 27 美国软件工程实践的现状 20世纪90年代中期,美国软件工程的实践:  软件开发仍然很难预测,只有10%的项目能在 预定的费用和进度下交付; 管理 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 是软件项目成功或失败的主 要因素; 开发过程的返工是软件过程不成熟的 标志。 28 当前的软件实践  软件工程师在实践中 没有计划他们的工作 匆匆地走过需求和设计 在编码时再进行设计  这些实践引入了大量的缺陷 有经验的工程师每7-10行代码就引入一个缺 陷 平均中等规模的系统存在着上千个缺陷 这些缺陷的大多必须靠测试发现 通常要花去一半以上的开发时间  目前大多数的工作方式还象30年前一样 29 软件工程经典定义(软件工程经典定义(11)) ““The establishment and use of sound The establishment and use of sound engineering principles in order to obtain engineering principles in order to obtain economically software that is reliable and economically software that is reliable and works on real machines.works on real machines.”” [Fritz Bauer][Fritz Bauer] 软件工程就是为了经济地获得可靠且能在 实际机器上高效运行的软件而建立和使用 的完善的工程原理。 30 软件工程经典定义(软件工程经典定义(22)) ““The application of a systematic, The application of a systematic, disciplined, quantifiable approach to the disciplined, quantifiable approach to the development, operation, and maintenance of development, operation, and maintenance of softwaresoftware”” [IEEE 1990][IEEE 1990] 软件工程是将系统的、规范的、可度量 的方法应用于软件的开发、运行和维护 的过程,即将工程化应用于软件中,并 研究上述提到的途径。 31 软件工程经典定义(软件工程经典定义(33)) ““Software engineering is that form of Software engineering is that form of engineering that applies the principles of engineering that applies the principles of computer science and mathematics to computer science and mathematics to achieving costachieving cost--effective solutions to effective solutions to software problems.software problems.”” 软件工程就是应用计算机科学和数学的 原理来经济有效的解决软件问题的一种 工程。 32 软件工程定义  软件工程是用科学知识和技术原理来定 义、开发、维护软件的一门工程学科。  是一门涉及计算机科学、工程科学、管 理科学、数学等领域的综合性的交叉学 科。  主要思想是在软件生产中用工程化的方 法代替传统手工方法。 33 软件工程研究内容:软件工程研究内容: 序 号 研究方面 具体内容 1 软件开发 模型 如:瀑布模型、增量模型、迭 代模型 2 软件开发 方法 如:面向过程方法、面向数据 方法、面向对象方法 3 软件支持 过程 如:CASE工具Rose、北大青鸟 系统、PowerDesigner 4 软件管理 过程 如:ISO9000、CMM、软件企业 文化 过程:软件生存周期中的时间序列 34 软件的管理过程 序 号 名称 来源 特点 1 ISO9000 质量 管理和质量保 证体系 国际 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化组 织 规定了可接受的 质量体系的基本 要求 2 CMM 软件能 力成熟度模型 美国卡内基- 梅隆大学软件 工程研究所 按5个阶段和18个 关键过程域KPA管 理 3 软件企业文化 Microsoft 公 司 等 按“人品、智慧、 团队精神”三要素 管理 Capability Maturity Model for Software 35 【例】若要开发一个软件系统(如图书馆信 息系统),为了完成这项任务,首先要选择 软件开发模型,确定开发方法、准备开发工 具、设计开发环境和运行环境,然后进行需 求分析、设计、编程、测试、试运行、正式 运行、验收和交付,最后是系统维护或系统 升级换代。这样就按照所选择的开发模型, 走完了软件的一个生命周期,这一系列的软 件开发过程和管理过程,就是软件工程。 36 软件工程的基本原理 1. 用分阶段的生命周期计划严格管理 阶段划分为:可行性分析和计划、分 析、设计、编程、测试和运行维护。 2. 坚持进行阶段评审 大部分错误在编码之前造成(设计错 误63%,编码错误37%);错误发现越 晚,所付代价越高。 3.实行严格的产品控制 改变需求时,为保证软件各个配置成 分的一致性,都必须按照严格的规程进 行评审,批准后才能实施修改。 37 软件工程的基本原理(最小集合) 4.采用现代程序设计技术:提高软件开发和 维护效率。 5 .结果应能清楚地审查:为提高软件开发 过程的可见性,应根据软件开发项目的总目 标和完成期限,规定开发组织的责任和产品 标准,使得结果能清楚地审查。 6 .开发小组的人员应少而精:效率高,错 误少。1+1 < 2 7 .承认不断改进软件工程实践的必要性: 不仅要积极主动采纳新的软件技术,而且要 注意不断总结经验。 38 新原理-二八定律 对软件项目进度和工作量的估计:一般 主观上认为已经完成了80%的,往往实际上 只完成了20%; 对程序中存在的问题的估计:80%的问 题往往存在于20%的程序之中; 对模块功能的估计:20%的模块实现了 80%的功能; 对人力资源的估计:20%的人解决了软 件中80%的问题; 对投入资金的估计:企业信息系统中80 %的问题,可以用20%的资金来解决。 39 软件工程在软件企业中的作用 高层管理人员:他们应具备的基本条件是:软件专业宏 观知识、软件工程管理知识、加上商业与资本运作知 识。他们要用软件工程的理论和方法,来管理整个公司 的软件业务。 中层项目经理和软件工程师。他们应具备的基本条件 是:系统分析知识、系统设计知识、加上项目管理知 识。他们要用软件工程的理论和方法,来管理项目组的 软件开发。他们个人的奋斗目标是软件管理专家、分析 设计专家、开发技术专家。这两部分人员,是软件工程 的拥有者和实践者。 软件蓝领工人。他们应具备的基本条件是:掌握阅读文 档的技能、程序设计的技巧,加上软件测试知识。他们 要用软件工程的理论和方法,来实现软件项目的功能、 性能、接口、界面。 40 软件营销人员。他们应具备的基本条件是:营销知识、 售前知识、加上软件工程基本知识。他们要用软件工程 的基本思路,来与用户进行沟通,以赢得客户的信任。 软件实施和维护人员。他们应具备的基本条件是:软件 客户化及安装、运行、维护技术。他们要用软件工程的 基本方法,来实现软件功能、性能、与接口的实施和维 护。 软件售前人员。他们是公司的产品形象代表,其奋斗目 标是:既要成为某个行业领域的产品专家,又要成为该 产品的实现顾问。只有这样,他们才能看懂招标书、写 好投标书、讲好投标书。在制作和宣讲投标书过程中, 有许多与软件工程相关的知识和内容,如软件开发方 法、开发工具、开发环境、运行环境、管理方法、质量 和进度控制方法,只有把这些方法写清讲透,用户才能 相信认可,投标才有成功把握。这些知识和内容,离不 开软件工程知识的学习和教育。 41 从项目团队来讲,软件工程的作用在于:在规定的 时间和成本内,完成预期质量目标的软件。 从软件企业来讲,软件工程的作用在于:持续地规 范软件开发过程和软件管理过程,不断地优化软件组 织的个人素质和集体素质,从而逐渐增强软件企业的 市场竞争实力。 从软件发展进程来讲,软件工程的作用在于:克服 软件危机,控制软件进度,节约软件成本,提高软件 质量。 由于软件工程的作用越来越大,它的地位也越来越 高。以前只是作为一门课,现在已设立了软件工程 专业和软件工程学位。 42 软件工程和信息管理系统 软件工程 信息管理系统 五个面向理论 面向流程分析 面向数据设计 面向对象实现 面向功能测试 面向过程管理 分析、设 计、实现和 维护 43 软件及软件危机 软件的开发方法 软件工程 案例分析 44 软件开发方法 好的软件开发方法是克服软件危机的重要途径之 一。 方法名称 优点 缺点 适合的场合 面向过程的 方法 简单好 学 不 适 应 窗 口 界 面 , 维护困难 大型工程计算,实时数据 跟踪处理,各种自动化控 制系统,以及系统软件实 现等领域 面向数据的 方法 通俗易 懂 不 适 应 窗 口界面 以关系数据库管理系统为 支撑的信息系统建设 面向对象的 方法 功能强大 易于维护 不易掌握 互联网络时代,完全由用 户交互控制程序执行过程 的应用软件和系统软件开 发 开发方法的新发展:软件复用与基于组件的软件开发、 敏捷开发方法 45 案例分析 可视化的电网继电保护整定计算综 合管理系统(简称“整定软件”) (1)数据/图形平台。它是整定软件人机交互的主要载体。实现各 种图形的浏览、转换、打印等功能,并提供多种图形浏览工具。 (2)图形建模。提供绘制一次系统图的元件工具箱,支持系统图的 绘制和设备参数的录入与维护,并对连接没有错误的图形生成计算拓扑 ,为故障分析模块奠定基础。并提供运行方式的设置和管理功能。 (3)故障计算。它是软件的核心专业模块之一,提供多种继电保护 部门工作中需要的计算功能。 (4)整定计算。它主要实现线路、变压器、电抗器、电容器等电网 设备的整定计算功能,并提供详细的整定计算书。整定过程中能自动选 择计算运行方式,也允许用户修改。 (5)定值校正。提供保护定值自动检测和纠正功能。 (6)保护动作仿真。实现电网故障和保护动作情况仿真功能。 (7)报表管理。实现数据的查询、统计、定值单模板自定义设计以 及生成定值单等功能。其中,定值单模板自定义能实现用户个性化的定 值单模板定义功能。 (8)系统管理。包括系统设置、用户管理、工程管理和数据库管理 等功能。 46 一个有工科专业背景的人,若能掌握软件开发相关知 识,那他在从事本专业软件开发时将比仅具有软件开发 知识的人具有更大的优势。 故障分析主要采用了面向过程的开发方法,从分析、设 计到实现都使用自顶向下、逐步求精的指导思想;图形 建模模块主要采用了面向对象开发方法,分析、设计、 实现都是以对象为核心;而报表管理模块主要采用了面 向数据的方法。其他模块是针对不同的目标及特点采用 了多种开发方法。在实际项目开发中,往往要根据目标 和特点灵活选择适当的方法,而不应该受具体方法的局 限。 47 实践性大作业(实验课) 目的  体验软件工程各阶段的主要工作,特别 注意吸取教训; 学会与他人合作,培养团队精神。 48 分组  实践性大作业:1~3人(如以宿舍为单 位,便于讨论)。 组长负责:组织、分工、安排进度等。 现在开始 行动起来! 49 选题  选题:自己选题。举例 报表自动生成系统 以纸为介质的信息管理系统 网站建设 数字电子模拟仿真 触发1 触发2 ≥1 & T J1 +E +E J2 触发1 触发2
本文档为【01基础知识】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266266
暂无简介~
格式:pdf
大小:4MB
软件:PDF阅读器
页数:49
分类:互联网
上传时间:2014-02-10
浏览量:22