版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程许静
E-Mail:xjhelen@163.com1软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。2教材软件工程导论(第5版)张海藩清华大学出版社(2008)3各章节主要内容第1章软件与软件工程第2章可行性研究第3章需求分析第4章总体设计第5章详细设计第6章实现第7章软件维护第8章面向对象的分析设计方法第9章软件项目管理4考试理论考试:平时成绩30%(考勤、书面作业、课堂测验、论文等)期末考试70%(闭卷)5第1章软件工程学概述内容提要:软件和软件危机软件工程软件生命周期软件过程6§1.1软件和软件危机1、软件软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发,维护和使用有关的图文材料72、软件的特点抽象性:软件是逻辑实体,而不是具体的物理实体严密性:软件是逻辑产品,它的生产与物理产品不同,在它的开发过程中没有明显的制造过程智力性:软件的开发是技术人员从无到有写出程序的过程持久性:软件没有时间磨损一次性:软件的开发和运行常受到计算机系统的限制,对计算机系统有不同程度的依赖难以度量:难定量变量必须维护:纠错和变更83、软件的发展软件的发展是与计算机硬件系统的发展密切相关的软件发展经历了三个阶段试验阶段:1940—1960
特点:(1)先硬后软
(2)完全是手工编写程序,手工操作
(3)工作效率极低
(4)无文档资料、只有程序文本9软件的发展理论抽象阶段:1960—1970
特点:(1)软件急剧发展
a.高级语言涌现(公布1000多种,常用20多种)
b.操作系统(批处理、分时、实时)、数据库的出现(2)出现软件作坊(3)出现了软件危机
a.质量差
b.成本难以控制
c.进度难控
d.维护困难
10美国IBM公司在1963年至1966年开发的IBM360机的操作系统,这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序……据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。这个项目的负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“……正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难……程序设计正像这样一个泥潭,……一批批程序员被迫在泥潭中拼命挣扎,……谁也没有料到问题竟会陷入这样的困境……。”11软件的发展(4)提出“软件工程”术语1968年10月,北大西洋公约组织召开讨论软件可靠性会议上提出“软件工程”12软件的发展技术发展阶段:1970—今特点:(1)软件的成批生产:不是copy,出现软件工厂(2)微机急剧发展,普遍应用(3)“软件工程”被正式承认1973年,国际软件可靠性会议决定,软件错误来自设计上的错误1975年,召开第一次软件工程国际会议,软件工程被正式承认,出版了软件工程杂志SoftwareEngineering13软件的发展软件产品在不同时期关注的问题不同:
70年代:规模问题规模大
80年代:量的问题人员缺乏的量
90年代:质的问题可靠性和易操作
90年代后:接口问题数据和程序的互换和连接性开放式系统
144、软件危机(1)软件危机定义软件的开发和维护过程中所遇到的一系列问题(2)软件危机的典型表现对软件开发的成本和进度估计不准确用户对已完成的软件产品往往不满意软件产品的质量不可靠可维护性差文档不完整或无文档软件成本上升(软件+硬件比例成本)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。15软硬件成本在计算机系统总成本中所占的比例16软件危机(3)软件危机产生的原因与软件本身特点有关。开发与维护的方法有关a.对需求分析的理解不明就匆忙着手编写程序b.重程序,轻配置c.轻视软件维护17软件危机(4)消除软件危机的途径正确认识计算机软件软件开发过程的工程化开发工具的高性能化开发人员的高素质化18§1.2软件工程1、软件工程定义用科学知识和技术原理来定义、开发、维护软件的一门工程学科。2、软件工程的基本原理用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性19软件工程3、软件工程方法学软件工程包括技术和管理两方面的内容软件工程的管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。软件工程方法学:在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。20软件工程软件工程方法学包括3个要素:方法、工具和过程方法:为软件开发提供了如何做的技术工具:为软件工程方法提供了自动化或半自动化的软件支撑环境过程:软件工程过程定义了①方法使用的顺序;②要求交付的文档资料;③为保证质量和适应变化所需要的管理;④软件开发各个阶段完成的里程碑。21软件工程目前最广泛的软件工程方法学:(1)传统方法学:也叫做生命周期方法学,采用结构化技术完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化得运用。(2)面向对象方法学软件项目实践WordVisioPowerDesignerSourcesafeRoseMicrosoftproject22§1.3
软件生命周期软件生命周期软件生命周期(SoftwareLifeCycle)是指一个软件产品从被提出开始研制到软件最终被废弃不再使用为止的全过程。软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又被划分成若干个阶段23软件生命周期阶段基本任务软件定义软件开发运行维护问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试确定要解决的问题是什么确定项目的可行性确定目标系统必须具备哪些功能概括的说,应该怎样实现目标系统应该怎样具体地实现这个系统写出正确的容易理解、容易维护的程序模块通过各种类型的测试使软件达到预定的要求通过各种必要的维护活动使系统持久的满足用户的需要24§1.4
软件过程软件过程描述了为达到某个确定的目标,需要什么人在什么时间以何种方式做何种工作用软件生命周期模型描述软件过程生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,生命周期模型也称过程模型25软件过程说明:软件生命周期被划分成的阶段需求分析(包括问题定义、可行性研究)规格说明:用正确的文档准确的记录目标系统的要求设计(包括总体设计、详细设计)编码、测试(单元测试)综合测试维护26瀑布模型(文档驱动的模型)传统的瀑布模型实际的瀑布模型27瀑布模型的特点①阶段间具有顺序性:前一阶段的工作完成之后,才能开始后一阶段的工作;阶段间具有依赖性:每一阶段结束都需要有交付的文档,前一阶段的输出文档是后一阶段的输入文档。②清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现。③保证质量每个阶段必须完成规定的文档;每个阶段结束前必须对所完成的文档进行评审,以便尽早发现问题,改正错误。28瀑布模型当有一个稳定的产品定义和很容易被理解的技术解决方案时,瀑布模型特别合适当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,瀑布模型也特别合适。瀑布模型能够降低管理费用,因为你可以预先完成所有计划。对于那些容易理解但很复杂的项目,采用瀑布模型比较合适,因为可以用顺序方法处理问题。在质量需求高于成本需求和进度需求的时候,它尤为出色。当开发队伍的技术力量比较弱或者缺乏经验时,瀑布模型更为适合。29瀑布模型的优点和缺点优点:可强迫开发人员采用规范的方法。严格的规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。30快速原型模型快速原型模型31快速原型模型原型的好处从实践中学习(Learningbydoing)改善的通信改善的用户参与使部分已知的需求清晰化展示描述的一致性和完整性可能可以减少文档减少了维护成本特征约束(利用工具构造原型可以将某些特性落到实处,而非在纸上写的那样容易失误)32快速原型模型原型法的缺点用户有时误解了原型的角色,例如他们可能误解原形应该和真实系统一样可靠缺少项目标准,原型法有点像编码修正额外的花费:研究结果表明构造一个原型可能需要10%额外花费原型法要求开发者与用户密切接触,有时这是不可能的。例如外包软件。33
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东科学技术职业学院《电气控制与PLC控制技术B》2023-2024学年第一学期期末试卷
- 广东酒店管理职业技术学院《建筑设计A(六)》2023-2024学年第一学期期末试卷
- 广东交通职业技术学院《市政管理》2023-2024学年第一学期期末试卷
- 广东海洋大学《虚拟互动技术》2023-2024学年第一学期期末试卷
- 广东工商职业技术大学《学前教育发展前沿专题》2023-2024学年第一学期期末试卷
- 《创投基金推介》课件
- 护理服务与安全课件
- 《职业精神解读》课件
- 《膳食与营养妇科》课件
- 赣州师范高等专科学校《教育技术在中学化学教学中的应用》2023-2024学年第一学期期末试卷
- 抗菌药物临床应用指导原则(2023年版)
- 2023年军政知识综合题库
- 2023-2024学年福建省福州市小学语文 2023-2024学年六年级语文期末试卷期末评估试卷
- YY 0286.1-2019专用输液器第1部分:一次性使用微孔过滤输液器
- GB/T 22544-2008蛋鸡复合预混合饲料
- GB/T 12224-2015钢制阀门一般要求
- 特殊焊接作业 安全要求
- 浩学堂中西医结合执业医师系列之诊断学基础
- CRRT-抗凝详解课件
- plc控制的电动机正反转课件
- 东南大学结构设计原理大作业完成稿
评论
0/150
提交评论