清华大学郑人杰 殷仁昆教授 《软件工程讲义》03.
- 格式:ppt
- 大小:6.94 MB
- 文档页数:94
1.软件工程目标:正确性、可用性、适合销售活动:需求、设计、实现、V&V(验证与确认)、支持原则:开发泛型、设计方法、支持工具、工程管理WW软件工程是开发,运行,维护和修复软件的系统方法,将系统化的,规范的,可度量的方法应用与软件的开发,运行维护的过程。
即将工程化应用于软件中。
2.软件过程中的基本活动(pdca)1.软件规格说明plan2.软件开发do3.软件确认check4.软件演进action3.瀑布模型:需求-》系统设计-》实现单元测试-》集成与系统测试-》运营维护。
他的显著特点是顺序性和依赖性。
4.演化模型:软件通过不断的演化才能完成和完善,其显著特点是迭代。
适合于业务和需求不断变更的开发过程,交付部分功能给客户,确认需求,逐步完善。
5.螺旋模型:将瀑布模型和演化模型结合起来,加入了风险分析。
6.增量模型:是将软件分解成一系列的增量的构件,在增量开发迭代中逐步加入,也叫极限程序设计。
7.软件工程原则:a)抽象自顶向下,逐层细化b)模块化的开发方法c)信息隐蔽和数据封装。
d)局部化e)一致性f)完备性g)可验证性8.软件工程基本原理:a)按软件生存期分阶段制定计划并认真实施b)坚持进行阶段评审c)坚持严格的产品控制d)使用现代程序设计技术e)明确责任f)用人少而精g)不断改进开发的过程9.识别用户要求,必须考虑的问题:a)功能和性能b)可靠性和质量c)总的系统目标d)成本与进度的把控e)制造需求f)市场竞争情况g)有效的技术h)将来可能的扩展10.可行性研究a)问题识别b)市场调查c)分析准备d)环境分析e)物理分析f)功能分析g)信息分析h)动态分析i)确立系统方案和成本估算j)模型评审k)成本可行性l)法律可行性11.面向对象设计面向对象=对象+分类+继承+消息通信,基本组成部分叫对象,计算是通过新对象的确立和对象之间的通信来执行。
相对于面向过程开发,核心:数据被封装在对象中,而不是全局变量中,数据流是通过消息传递,而不是面向过程解决办法。
软件工程概论郑人杰等版第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
软件工程复习第一章:软件危机与软件工程一.软件危机概念,软件危机产生的原因,解决软件危机的方法二.软件工程概念,软件工程原理,软件工程途径三.生命周期各阶段及其基本任务四.软件开发模型如:瀑布模型,演化模型,螺旋模型几种模型的形式与特征第二章:可行性研究一.可行性研究的任务,可行性研究的步骤,二.辅助工具如:数据流图,数据字典的画法及其在分析中的作用三.成本/效益分析第三章:需求分析一.需求分析的任务,需求分析的步骤,ER模型,二.辅助工具三.验证软件需求第四章:总体设计一.总体设计的任务和过程二.软件设计原理及概念模块化,抽象化,信息隐蔽,模块独立性(耦合与内聚)三.启发式规则(模块的作用域与控制域)四.辅助工具五.面向数据流的方法变换型分析与设计事务型分析与设计(结构化分析方法建立模型---变换设计与事务设计)第五章:详细设计一.结构化程序设计二.详细设计工具(程序流程图与盒图,PAD图之间的转化)三.JACKSON程序设计方法四.程序复杂度的定量度量(McCabe方法)第六章:编码设计一.选择程序设计语言二.程序的编码风格三.程序设计途径第七章:测试一.测试的有关概念二.软件测试的目的三.软件测试的策略四.软件测试用例设计两种常用的测试方法白盒测试中逻辑覆盖的各种测试方法(给定程序建立相应的控制流程图,设计测试用例,实现逻辑覆盖)黑盒测试的各种测试方法(等价类划分、边界值分析等)五.调试第八章:维护一.维护的方法二.维护的特点三.维护的过程四.可维护性第九章:面向对象的有关概念与特性面向对象、对象、消息、类和实例、继承、重载、多态第十章:面向对象方法的开发过程一.软件开发模型二.基于复用的面向对象开发过程的几个阶段三.面向对象应用生存期与面向过程的软件生存期四.类生存期、类的开发方法第十一章:面向对象分析与模型化一.对象模型、动态模型、功能模型的功能描述二.面向对象分析方法建立对象—关系模型三.面向对象分析方法建立动态模型《软件工程》期末复习第一章第一章软件工程概述一、一、重点掌握的内容:软件和软件工程的基本概念二、二、一般掌握内容:软件生存周期及软件开发的各种模型。
《软件工程需求分析--图书管理系统》图书管理系统软件工程需求分析软件工程软件项目的需求分析图书馆管理系统学号:班级:姓名:提交日期:2022年11月21日图书管理系统软件工程需求分析1引言1.1编写目的编写本文档的目的是根据系统分析工程师和客户沟通的结果,对用户需求进行了全面细致的分析,深入描述《图书管理系统》软件的功能和性能与界面,确定该软件设计的限制和定义软件的其他有效性需求。
该需求规格说明书的读者对象是图书管理系统软件小组的研发工程师、测试工程师、销售工程师,版权归上述所有者所有,严禁外传。
1.2背景1.3定义文档中采用的专门术语的定义及缩略词简要如下:[1]王慧亮关于图书管理系统的批文[2]郑人杰,殷人昆,陶永雷。
《实用软件工程》(第二版)。
北京:清华大学出版社,1997。
[3]王立福,麻志毅。
《软件工程》(第二版)。
北京:北京大学出版社,2001。
[4]唐学忠,王文。
《ViualBaic程序设计教程》北京:中国电力出版社,2002。
图书管理系统软件工程需求分析2任务概述2.1目标1.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:3.能够对需要的统计结果提供列表显示输出。
4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
2.2用户的特点该软件的最终用户是图书馆管理人员和读者。
这些人员对本软件的使用频度相当大2.3假定和约束一个更为完善的图书管理系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数量有限,该系统并未提供这一功能。
对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。
3需求规定3.1对功能的规定1.1功能划分该软件具有如下主要功能:1.浏览功能;2.查询功能;3.插入功能;4.修改功能;图书管理系统软件工程需求分析5.6.1.21.删除功能;授权功能;功能描述浏览功能列出当前数据库文件中书籍和读者的所有记录;可选定一项记录,显示所有域;查询功能书目匹配查询;读者匹配查询;书目和读者相关匹配查询;插入功能增加一个书目记录;增加一个读者记录修改功能修改某一已存在的记录内容,提供确认机制;删除功能删除一个记录,提供确认机制;授权功能;授权读者访问数据的权限;2.3.4.5.6.3.2对性能的规定3.2.1精度查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。