软件工程01概论.ppt
《软件工程01概论.ppt》由会员分享,可在线阅读,更多相关《软件工程01概论.ppt(96页珍藏版)》请在三一文库上搜索。
1、个人成果,妥善保存,请勿传播,软件工程,张康立 Email:,国内软件开发的现状,国内软件开发现状 中、小规模软件开发组织的现状和美国10年前的情况一样 软件开发过程没有明确规定 文档不完整、不规范 软件项目的成功往往是“个人英雄主义”的结果 大多数IT企业长期面临软件质量低下、进度延误、费用超支等难题 持续不断的信息化建设带来的却是软件重复开发 软件适应不了发展的环境 软件不可维护,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,软件企业的现状,软件企业与软件危机现象 IT产业:已经成为我国支柱产业之一 软件企业的发展:“轰轰烈烈” 强大的软件企业:“十个手指就掰完了” 软件企业
2、的“慢性病” “产品质量低下、诚信度低、进度延误、成本高昂” 问题的根源在那里? 专业教育?人才?政府扶持不够?产业投资? “No!” 答案是:“软件企业的内功太差“,个人成果,妥善保存,请勿传播,解读破解这些现象的原因,恶劣的慢性病:“软件危机” 许多企业没有战死沙场,却被病魔折磨的奄奄一息 没有获得“免疫力”的新企业又雨后春笋般诞生 它们前赴后继,延续着相似的故事 造成“快速诞生、快速死亡”的企业生存方式 软件企业平均寿命2.5年,极度的社会财富浪费 “确诊病因” 30多年前(1968年),NATO会议称之为“软件危机”,个人成果,妥善保存,请勿传播,解读破解这些现象的原因,医治慢性病的药
3、理:“软件工程” 软件工程是一类“工程”,工程是将理论和知识应用于实践的科学! 软件工程的核心:用工程化的方法组织软件开发 借鉴传统工程的原理和方法,以求高效地开发高质量软件 应用了计算机科学、数学、工程和管理科学 计算机科学和数学用于构造软件模型与算法 工程科学用于制定规范、设计泛型、评估成本 管理科学用于计划、资源、质量和成本的控制管理,个人成果,妥善保存,请勿传播,课程介绍,教学计划 授课与自学内容(1:2) 1.软件工程概述 2.可行性研究 3.需求分析 4.形式化说明技术(自学) 5.总体设计 6.详细设计 7.实现 8.软件维护 9.面向对象方法学 10.面向对象分析 11.面向对
4、象设计 12.面向对象实现(自学) 13.软件项目管理,个人成果,妥善保存,请勿传播,课程介绍,教学计划 课程设计(实践环节) 要求学生选择一个规模适度的软件课题,结合课程的学习进度,写出相应各阶段的文档(允许2-3个同学合作) 安排12学时(4次)上机实践和测试,完成软件开发各阶段的文档,文档要求: 系统分析报告 需求分析报告 总体设计报告 详细设计报告 测试报告,个人成果,妥善保存,请勿传播,课程介绍,我对课程内容的观点 理论是核心 如何与实际工作(实战!)相结合 工程理论与IT软件研发的工作流程和步骤相结合 教材与参考 张海藩,软件工程导论(第五版) 侧重于:工程理论全面概括的介绍 参考
5、书:赵池龙,实用软件工程(第2版),个人成果,妥善保存,请勿传播,课程介绍,自我介绍 我的身份: 教师/项目经理/企业经营者 我的体会: 传授思想和方法,建立软件开发工程化的概念,迎合企业需求 我的观点: 来源于企业实践、专业论著和个人体会(其中个人观点,仅供参考!),个人成果,妥善保存,请勿传播,企业的目标,理解企业的根本目标 企业的“宪法” “合理地赚取尽可能多的利润,使企业利益最大化” “利润”是企业生存和发展之本 企业所有的特定目标和行动都是围绕上述目标展开的 案例与评论 明星科技企业“巨人公司”的成败 企业必须专心致志地“赚钱”,理智地规避伪善的社会事务,防止企业被非目标事务拖累,个
6、人成果,妥善保存,请勿传播,企业的目标,企业的根本目标 企业的本性就是“惟利是图”,无论大企业和小商贩都是一样 企业惟利是图的本性就像“低俗赤裸的真理” 案例分析 明星科技企业“巨人公司”的成败 企业必须专心致志地“赚钱”,理智地规避伪善的社会事务,防止企业被非目标事务拖累,个人成果,妥善保存,请勿传播,软件工程在软件企业中的作用,推论 企业的根本目标决定了 “产品开发之道” “企业用人之道” 产品开发之道 开发正确的产品(开发能为企业赚取利润的产品) 正确地开发产品(努力使产品为企业赚取尽可能多的利润) 企业用人之道 用正确的人(利用能为企业赚取利润的人) 正确地用人(努力使人为企业赚取尽可
7、能多的利润),个人成果,妥善保存,请勿传播,软件工程和项目管理,企业对项目管理看法 项目的执行意味着什么? 合同的执行 企业合同“变现”的过程 合同赢利与亏损的“押宝”过程 项目管理的价值体现 提升项目本身的经济效益 提升客户满意度 提升项目成员的综合素质,个人成果,妥善保存,请勿传播,软件企业中的经营之道,企业经营中的战略与战术 决策过程:企业各级领导的第一职责 “开发正确的产品”“用正确的人”“正确地决策” 执行过程:企业各个团队的第一职责 “正确地开发产品”“正确地用人”“正确地执行” 有效的项目管理是保障“正确地执行”的手段 企业的成功是建立在“正确地决策”和“正确地执行的基础上的,个
8、人成果,妥善保存,请勿传播,我看软件工作者的职业生涯,软件“白领”的职业发展之路 程序员“出身” 编程这活究竟该干多久? 程序员是吃“青春饭”的:合适的年龄2030岁 20岁,大学,水平差,进步快 25岁,技能和效率达到最高,水平停滞不前 30岁,编程效率下降,已经不是编程主力 程序员应从事更有价值的工作 “三十而立”的含义 建立家庭,过上小康的日子 事业有所建树,不再是无名小卒,个人成果,妥善保存,请勿传播,我看软件“白领”的职业生涯,软件“白领”的职业发展之路 程序员的收入和在企业的地位 收入中等偏下 面临年轻程序员的压力 程序员的编程水平 使用一种语言,2年可成为专家 技能和经验到达一定
9、水平,很难再有提高 年长程序员的出路 软件工程 项目管理,个人成果,妥善保存,请勿传播,我看软件“白领”的职业生涯,软件“白领”的职业发展之路 职业发展之路 第一阶段:职业程序员 第二阶段:成为项目经理或技术负责人 第三阶段:成为机构管理人员 软件白领的“合格”、“良好”和“优秀” 最佳年龄为25岁、30岁和35岁 实现难度:“比较容易”、“需要努力”和“需要奋斗”,个人成果,妥善保存,请勿传播,我看软件“白领”的职业生涯,项目经理的职业发展之路,项目团队成员 项目经理助理,项目经理,高级项目经理 PMO成员,职能部门经理 项目管理经理,管理高层 职业经理人,个人成果,妥善保存,请勿传播,我看
10、软件“白领”的职业生涯,项目经理的职业发展之路,项目团队成员 项目经理助理,项目经理,高级项目经理 PMO成员,项目经理导师 PMO专员,项目管理专家 项目管理顾问,个人成果,妥善保存,请勿传播,软件工程课程目的,正确理解和认识“软件”的概念及其特点 掌握软件工程的原则、方法和思想来系统地开发软件,尤其是复杂、庞大软件的开发 了解和接触各种软件开发技术和工具 软件工程是软件技术和管理人员必备的课程,个人成果,妥善保存,请勿传播,课程内容提纲,软件工程概述:“摆脱软件危机的困扰” 软件的概念 软件危机 软件工程 软件生命周期 软件过程,个人成果,妥善保存,请勿传播,软件的概念,在运行中能提供所希
11、望的功能和性能的指令集(即程序) 使程序能够正确运行的数据结构(逻辑结构,存储结构,运算) 描述程序研制过程和方法使用的文档,程序,软 件,可执行部分,不可执行部分,文档1,文档2,文档3,个人成果,妥善保存,请勿传播,软件的概念,计算机硬件,程 序,内 存,CPU,数据抽象,过程抽象,应用问题,软件文档1,软件文档n,抽象过程,个人成果,妥善保存,请勿传播,软件的概念,软件的特点 是逻辑部件,不是物理部件 缺乏可见性 管理和控制生产过程相当困难 维护困难和复杂 生产只需复制 软件开发尚未完全摆脱手工的开发方式 软件开发复杂,费用较高且其性质如成本、进度等难以估计 软件的开发和运行受计算机系统
12、的限制,而开发更加依赖于开发人员的业务素质、智力、人员的合作、组织和管理,个人成果,妥善保存,请勿传播,软件的概念,基于软件功能的划分 系统软件 支撑软件 应用软件 基于软件开发方式的划分 实时处理软件 分时软件 交互式软件 批处理软件,基于软件规模的划分 微型软件 小型软件 中型软件 大型软件 甚大型软件 极大型软件 基于软件服务对象的范围 定制软件 产品软件,个人成果,妥善保存,请勿传播,软件的概念,软件的发展 程序设计阶段 20世纪50年代初期至60年代中期 程序系统阶段 20世纪60年代中期至70年代末期 软件工程阶段 始于20世纪70年代中期 第四阶段,个人成果,妥善保存,请勿传播,
13、课程内容提纲,软件工程概述:“摆脱软件危机的困扰” 软件的概念 软件危机 软件工程 软件生命周期 软件过程,个人成果,妥善保存,请勿传播,软件危机,计算机的发展与软件危机 个体化的软件环境 除了程序清单,没有任何资料 软件作坊 软件危机的出现 1968,北约在原西德提出“软件工程”概念,个人成果,妥善保存,请勿传播,软件危机,计算机的发展与软件危机 软件危机含义 软件的开发和维护过程所遇到的一系列问题 包含两个方面 如何开发软件,已满足日益增长的需求 如何维护数量不断膨胀的已有软件 软件危机表现 对软件开发成本和进度的估计常常很不准确 用户对“已完成的”软件系统不满意的现象经常发生 软件产品质
14、量往往靠不住,个人成果,妥善保存,请勿传播,软件危机,计算机的发展与软件危机 软件危机表现 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统总成本中所占比例逐年上升 软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势 以上列举的仅仅是软件危机的一些明显的表现,与软件开发和维护有关的问题远远不止这些,个人成果,妥善保存,请勿传播,软件危机,产生软件危机的原因 与软件本身的特点有关 逻辑部件,可见性差 管理可控制软件开发很困难 客观上软件维护比较困难 需要人员协作和科学管理 与软件开发与维护的方法不正确有关 采用了错误的方法和技术 忽视
15、软件需求分析的重要性,过早地开始编码工作 轻视软件维护的重要性,个人成果,妥善保存,请勿传播,软件危机,产生软件危机的原因 软件是有生命周期 软件从定义、开发、使用、维护到终止的时期 软件生命期中的有关经验数据 编码通常占软件开发全部工作量的10%20% 软件测试占软件开发全部工作量的40%50% 设计错误占软件错误的63%,编码错误占37% 软件维护费用占软件总投资的55%70% 软件后期变更比早期变更代价高23个数量级,个人成果,妥善保存,请勿传播,软件危机,个人成果,妥善保存,请勿传播,软件危机,消除软件危机的途径 对软件有一个正确的认识 软件程序方法规则数据文档 软件开发应该组织良好、
16、管理严密、协调配合 推广使用成功的技术和方法 应用开发和使用好的软件工具 总之,为了消除软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科,个人成果,妥善保存,请勿传播,课程内容提纲,软件工程概述:“摆脱软件危机的困扰” 软件的概念 软件危机 软件工程 软件生命周期 软件过程,个人成果,妥善保存,请勿传播,软件工程,软件工程的产生 软件危机分析根源解决途径软件工程 产生: 1968,NATO计算机科学会议 软件工程 是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护
17、软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。,个人成果,妥善保存,请勿传播,软件工程,软件工程的产生 定义: 定义1:软件工程就是为了经济地获得可靠的且能在实际机器上有效运行的软件,而建立和使用完善的工程原理 定义2:软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护的过程;(2)研究(1)中通道的途径,个人成果,妥善保存,请勿传播,软件工程,软件工程的本质特征 软件工程关注大型程序的构造 把一个人在较短时间内写出的程序称为小型程序,把多人合作用时半年以上才写出的程序称为大型程序
18、。 软件工程的中心课题是控制复杂性 软件的复杂性主要不是由于问题的内在复杂性造成的,而是由必须处理的大量细节造成的 软件经常变化,个人成果,妥善保存,请勿传播,软件工程,软件工程的本质特征 开发软件的效率非常重要 软件供不应求日益严重 和谐地合作是开发软件的关键 纪律是成功地完成软件开发项目的关键 软件必须有效地支持它的用户 仅仅用正确的方法构造系统还不够,还必须构造出正确的系统,提供产品、用户手册、培训资料 不同文化背景的人创造产品 缺乏应用领域的相关知识是软件开发项目出现问题的常见原因,个人成果,妥善保存,请勿传播,软件工程,软件工程的基本原理 著名的软件工程专家BWBoehm提出了软件工
19、程的七条基本原理。 他认为这七条原理是确保软件产品质量和开发效率的原理的最小集合 软件工程的7条基本原理 1.用分阶段的生命周期计划严格管理 2.坚持进行阶段评审 3.实行严格的产品控制 4.采用现代程序设计技术 5.结果应能清楚的审查 6.开发小组的人员应少而精 7.承认不断改进软件工程实践的必要性,软件工程,软件工程的基本原理 软件工程的7条基本原理 用分阶段的生命周期计划严格管理 坚持进行阶段评审 第一,大部分错误是在编码之前造成的 第二,错误发现与改正得越晚,所需付出的代价也越高 实行严格的产品控制 实行基准配置管理,个人成果,妥善保存,请勿传播,软件工程,软件工程的基本原理 软件工程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 01 概论
链接地址:https://www.31doc.com/p-2615180.html