




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程概论2021年10月14日32个人介绍个人介绍姓名:方海姓名:方海诺诺电话电话Q:454010252E-mail:fhn_获得证书:获得证书: 系统集成项目管理工程师(中级)系统集成项目管理工程师(中级) 信息系统项目管理师(高级)信息系统项目管理师(高级)2021年10月14日33个人介绍个人介绍l受教育情况受教育情况2002年毕业于东北大学计算机系年毕业于东北大学计算机系黑龙江大学黑龙江大学MBA专业专业 企业信息化方向企业信息化方向l工作经历工作经历lIBM中国软件开发实验室 IBM Lotus Workplace Client Technology项目
2、Build 组,担任Integrator,负责版本控制,代码集成,BVT,版本控制工具应用及培训l深圳南凌科技发展有限公司软件事业部,担任QA,配置管理员,测试经理 ,参与完成黑龙江省运管规费征收系统,黑龙江省道路运输管理局综合办公管理系统V1.0版,黑龙江省道路运输管理局票据管理系统,吉林省道路旅客运输联网售票系统l黑龙江软件园职业培训学校任教学主任,NITE-QAI软件测试工程师项目讲师,黑龙江大学大学生实训基地执行总监等职务 l哈尔滨文诺科技开发有限公司任总经理职务l哈尔滨华夏计算机职业技术学院信息中心技术总监l哈尔滨华德学院电信学院计算机应用系软件工程专业教师+课时:课堂教学部分: 4
3、0+培养目标 通过本课程的学习,学生能够更加全面地理解软件开发、软件过程和软件项目管理的知识,并能适当地运用软件工程原理应用于实际行软件开发活动。u第 1章 软件工程概述u第 2章 软件立项与合同u第 3章 需求分析u第 4章 系统设计u第 5章 软件实现u第 6章 软件测试u第 7章 软件发布与实施u第 8章 软件维护u第 9章 软件配置管理u第10章 软件项目管理u人月神话,(美)布鲁克斯 著 ,汪颖译,清华大学出版社u人件,Tom DeMarco Timothy Lister ,清华大学出版社u质量免费-确定质量的艺术,(美)克劳士比 著,杨钢,林海 译,中国人民大学出版社 u软件工程:
4、实践者的研究方法(原书第7版),(美)普雷斯曼 著,郑人杰 等译 ,机械工业出版社 u需求工程uSwebokuPMbok2021-10-142007.11.152021-10-142007.11.15第一章第一章 软件工程概述(一)软件工程概述(一)+软件的发展软件的发展+软件软件+软件软件:地平线上的危机地平线上的危机+软件神话软件神话+软件在社会上扮演了双重角色将计算机硬件的计算功能发挥出来它本身是一种产品+同时,它也是一种传递产品的工具软件传递了我们这个时代最重要的产品信信 息息+70年代和80年代“新的工业革命”“工业社会将转换为信息社会”+90年代知识的民主化将改变旧的权力结构 能够
5、完成预定功能和性能的、可执行的能够完成预定功能和性能的、可执行的指令指令( (计算机程序计算机程序) ); 使得程序能够适当地操作信息的数据结使得程序能够适当地操作信息的数据结构;构; 描述程序的操作和使用的文档。描述程序的操作和使用的文档。软件软件 = = 程序程序 + + 数据数据 (库)(库) + + 文档文档 + + 服务服务+软件软件是计算机系统中与硬件相互依存的是计算机系统中与硬件相互依存的另一部分,另一部分,它是包括程序,数据及其相它是包括程序,数据及其相关文档的完整集合。关文档的完整集合。+程序程序是按事先设计的功能和性能要求执是按事先设计的功能和性能要求执行的指令序列行的指令
6、序列+数据数据是使程序能正常操纵信息的数据结是使程序能正常操纵信息的数据结构构+文档文档是与程序开发,维护和使用有关的是与程序开发,维护和使用有关的图文材料图文材料+客户需求 - Customer Requirements+市场需求文档 - MRD (Marketing Requirement Document)+软件规格说明书 - Specifications+技术设计文档 Technical Design Docs+测试文档 Test Documents+在线帮助 - Online help+产品发布注释 - Release Notes / Read Me+产品软件包 - Release
7、packages 帮助文件帮助文件 Help filesHelp files 示例示例 Samples and examples to illustrate pointsSamples and examples to illustrate points 产品支持文档产品支持文档 Product support informationProduct support information 错误信息错误信息 Error messagesError messages 安装手册安装手册 Setup and installation instructionsSetup and installation
8、instructions 用户手册用户手册 User manual(s)User manual(s) 产品标签产品标签 Label and stickersLabel and stickers 产品广告或宣传材料产品广告或宣传材料 Ads and marketing materialAds and marketing material 软件则是逻辑的、知识性的产品集合,是对物理世界的一种抽象,或者是某种物理形态的虚拟化T最根本的:软件是一种逻辑元素而不是物理元素最根本的:软件是一种逻辑元素而不是物理元素T软件是开发出来的,而不是传统的方法制造出来软件是开发出来的,而不是传统的方法制造出来的的T
9、软件不会软件不会“磨损磨损”,而是逐步完善,而是逐步完善 T大多数软件是自定义的,而不是通过已有的构件组装而来的 故障率理想曲线实际曲线时间由于副作用造成故障率的提高修改大多数软件是自定义的,而不是通过已有的构件组装而来的 科学计算函数库(60年代)重用数据结构重用组建“软件危机”是在1958年正式提出+软件项目不成功的例子比比皆是: 1999年10月,耗资1.25亿美元的NASA的火星气象卫星失踪,据信这是由于一个简单的数据转换错误所导致的。人们发现卫星软件中,有些数据使用英制,它们应该被转换成公制。这个卫星应当充当另一项任务中的火星极地着陆项目的通信转发器,那个任务也失败了,原因不明。+在
10、上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”。当2000年到来的时候,问题就会出现,比如银行存款程序在计算利息时,应该用现在的日期“2000年1月1日”减去当时存款的日期,比如“1989年1月1日” ,结果应该是21年,如果利息是3%,银行要付给顾客每100元,大约86元利息。如果程序没有纠正年份只存储两位的问题,其存款年数就变为-89年,变成顾客反要付银行1288元的巨额利息。+就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。 +美国IBM公司在1963至1966年开发的IBM360机的操作系统。这一项任务
11、花费了5000人一年的工作量。最多的时候有1000人同时进行开发工作。写出了近100万行源程序。据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果IBM360机操作系统的教训成为软件开发项目的典型示例为大家所记取。当然这个项目的负责人F.R.Brook根据经验教训,写出了著名的IT工程方面的书籍人月神话。+1999年8月,在一个大型的商业高速数据网络中,软件的缺陷影响了70000个商业用户,时间长达8天。在受到影响的客户中,有美国最大的远期电子交易系统,该系统中断服务长达一周+1998年4月,美国的一个重要的数据通信网络出现了长达24小时的故障,使美国大部分
12、的信用卡管理系统交易受到影响。受到影响的还有一些大银行、零售商和政府的数据系统,最后查出也是软件故障所致1.什么是软件危机?什么是软件危机? 指在计算机软件开发和维护过程中所遇到的一系列问题。指在计算机软件开发和维护过程中所遇到的一系列问题。(1)软件开发无计划性:)软件开发无计划性:不能正确估计软件开发成本和不能正确估计软件开发成本和进度,无法估计工作量,难于控制开发进度。进度,无法估计工作量,难于控制开发进度。(2)软件需求不充分:)软件需求不充分:需求是设计的基础,需求不充分需求是设计的基础,需求不充分直接导致软件产品不可靠,满足不了用户的需求,甚直接导致软件产品不可靠,满足不了用户的需
13、求,甚至无法使用。至无法使用。(3)软件开发过程无规范性:)软件开发过程无规范性:各行其是,没有文档。各行其是,没有文档。(软件工程过程中的四个基本活动:规格说明、开发、(软件工程过程中的四个基本活动:规格说明、开发、确认、演进)确认、演进)(4)软件无评测手段:)软件无评测手段:软件质量无法保证。软件质量无法保证。(软件产品质量度量、软件过程质量控制和保证)(软件产品质量度量、软件过程质量控制和保证)2.什么原因导致软件危机的?什么原因导致软件危机的?(1)软件的固有特征:软件是复杂的。)软件的固有特征:软件是复杂的。 实际问题的复杂性、感知接受的复杂性、理性表达的复杂实际问题的复杂性、感知
14、接受的复杂性、理性表达的复杂性。(另外,软件规模不断扩大。)性。(另外,软件规模不断扩大。)(2)外部原因:)外部原因: 软件开发范型(模型)软件开发范型(模型) 软件设计方法(方法)软件设计方法(方法) 软件开发支持(工具)软件开发支持(工具) 软件开发管理(过程)软件开发管理(过程)+关于建造软件的标准和规程的书籍关于建造软件的标准和规程的书籍+很多很好的软件开发工具很多很好的软件开发工具+增加更多的程序员来赶上进度增加更多的程序员来赶上进度+项目需求总是在不断变化,但这些变化能项目需求总是在不断变化,但这些变化能够很容易地满足,因为软件是灵活的够很容易地满足,因为软件是灵活的+程序真正运
15、行之前,没有办法评估其质量程序真正运行之前,没有办法评估其质量+成功项目唯一应该提交的就是运行程序成功项目唯一应该提交的就是运行程序 没有足够测试 缺乏测试平台 不正确的测试环境 缺少集成测试 缺少性能测试 缺少强度测试 缺少可靠性测试 “程序测试是为了发现错误而执行程序的过程程序测试是为了发现错误而执行程序的过程”。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有“破坏性”,测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要地位。 微软的经验微软的经验:Windows 95/98
16、 Windows 2000 系统的稳定性有了明显改善,DEV:QA = 1:2 +软件已经成为基于计算机系统及产品的关键组成部分。+软件由程序、数据和文档组成。+软件危机使得人们开始重视软件项目管理+软件工程的目的就是为建造高质量的软件提供一个框架第一章第一章 软件工程概述(二)软件工程概述(二)+软件工程软件工程一种层次化技术一种层次化技术+软件过程软件过程+软件过程模型软件过程模型+线性顺序模型线性顺序模型+原型模型原型模型+RAD模型模型+演化软件过程模型演化软件过程模型+第四代技术第四代技术+产品和过程产品和过程+将系统化的、规范的、可度量的方法应用将系统化的、规范的、可度量的方法应用
17、于软件的开发、运行和维护的过程,即将于软件的开发、运行和维护的过程,即将工程化应用于软件中工程化应用于软件中+软件工程过程是将技术层结合在一起的凝聚力,使得计算软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来。机软件能够被合理地和及时地开发出来。+方法涵盖了一系列的任务:需求分析、设计、编程、测试方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。和维护。+工具对过程和方法提供了自动的或半自动的支持。工具对过程和方法提供了自动的或半自动的支持。2007.11.15软件工程层次图软件工程层次图2007.11.15+Capability Maturity
18、Model by SEI+软件能力成熟度模型软件能力成熟度模型 一个具体的一个具体的软件过程软件过程被明确地定义、管被明确地定义、管理、评价、控制和产生实效理、评价、控制和产生实效的程度的程度。软件过程不正规、混乱项目管理实践制度化技术过程制度化软件过程改良制度化、系统化实施了产品和过程的数量化控制1. INITIAL2. REPEATABLE3. DEFINED4. MANAGED5. OPTIMIZINGCapability Maturity ModelDisciplinedStandard, consistentpredictableContinuous improving个别过程初始级
19、可重复级配置管理 SCM质量保证 SQA子合同管理 SSM项目跟踪与监控 SPTO项目策划 SPP需求管理 RM规范化过程已定义级同行评审 PR组间协调 IC软件产品过程 SPE集成软件管理 ISM培训大纲 TP组织过程定义 OPD组织过程焦点 OPF标准化过程已管理级软件质量管理 SQM定量过程管理 QPM可预测过程优化级过程变更管理 PCM技术变更管理 TCM缺陷预防 DP持续改进过程2级3级4级5级级别表明能力关键过程区域包含达成目标共同特性解决包含实施和制度化关键实践基础设施或活动描述+ISO(International Organization For Standardization
20、)通过产品和服务的可交换性去推动国际贸易的发展+推动和协调了国际标准化工作,发布国际协调标准化工作,发布国际协调标准客客 户户我们的工作太复杂了,我们的工作太复杂了,帮我们开发一个系统帮我们开发一个系统吧吧没问题!我们开没问题!我们开发的系统一定会发的系统一定会大大提高你们的大大提高你们的工作效率工作效率项目建议书项目建议书市场负责人市场负责人软件开发过程软件开发过程指定项目经理指定项目经理分配资源分配资源制定初始计划、制定初始计划、PDSP投标书、项目建议书投标书、项目建议书召开项目启动会召开项目启动会签字认可业务需求客户调研记录SOWSRS签字认可同行评审入基线客 户系统分析员接收请求,并
21、分析变更影响变更后的工作产品变更申请单客 户变更请求项目经理批准变更SCCBSCM基线库提取工作产品变更负责人验证人项目详细计划项目经理项目进度计划风险计划培训计划IC任务书系统分析员测试计划SQA计划SCM计划SQASQASCMSCM同行评审NC列表跟踪检查客 户SQA定期沟通定期沟通项目组按计划进行设计开发活动系统分析员设计说明书代码项目计划、SRS程序员开发总监重大问题、项目组无法关闭的NC月会、里程碑跟踪监控测试计划单元测试报告系统分析员集成测试用例验收系统测试用例程序员单元测试测试员集成测试系统测试验收测试集成测试报告系统测试报告验收测试报告BUG记录测试员设置测试环境确定缺陷执行测
22、试测试结果验收测试报告客 户测试所需的硬件、软件等初始化测试环境是否有缺陷签字确认系统分析员修正缺陷程序员是否SCCB发 行 包SCM批准发布提取最新版本工作产品发布负责人发行包测试测试员产品库SQA发布审计基线库客户接收发行包项目文档验证文档数据过程数据可重用组件过程数据过程文档可重用组件开发管理规范组织过程资产库流转签字相关部门结项申请批准入组织库SEPG项目经理SQA结项会议项目委员会+ 瀑布模型+ 原型模型+ 快速应用开发(RAD)模型+ 改进的V模型+ 螺旋模型+ 增量模型和迭代模型+ 构件组装模型+ 并发模型+ XP模型2007.11.15Requirements Analysis
23、System DesignProgram DesignCoding Unit TestIntegration TestingSystem TestingAcceptance TestingOperation maintenancePrototypingUser/Customer2.4原型原型+瀑布模型瀑布模型(线性顺序)线性顺序)2007.11.15听取客户意见建造/修改原型用户测试运行模型2007.11.152007.11.15Process of Development and Testing (V_Model)System/Software DesignSystem TestFeature TestDetail DesignCodeUnit TestRequirements,FunctionalDesignAcceptanceTestcustomer, user, PM, technical supportDesign/AnalysisVerify/testingVerification of system designValidation of Customer RequirementsEngineersTest ObjectivesTest PlanningTest
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训师演讲课件
- 移动安全l2题库及答案解析
- 行车安全使用题库及答案解析
- 汽车碰瓷安全测试题及答案解析
- 安全培训师培训内容课件
- 2025年医药代表招聘笔试真题及答案
- 2025中小学教师高级职称专业水平能力测试复习题库+答案
- 天津市安全生产考核B证题库及答案解析
- 2025年国家开放大学(电大)《美术欣赏与鉴赏》期末考试备考试题及答案解析
- 2025年幼儿园保育员考试试题及答案
- 民间借贷法律知识讲座
- 基于PLC的果园灌溉施肥系统设计
- 2025年武汉市中考英语试卷真题(含答案)
- 无人机清洗玻璃幕墙技术规范
- 基于人工智能的个性化学习路径研究
- 浙江省舟山市2024-2025学年高二下学期6月期末物理+答案
- 2025年陕西省中考英语试题卷(含答案及解析)
- 麻醉气道痉挛处理
- 2025年中国咖啡行业行业市场调查研究及投资前景预测报告
- 学前卫生考试试题及答案
- 2025春季学期国开电大专科《液压与气压传动》一平台在线形考(形考任务+实验报告)试题及答案
评论
0/150
提交评论