软件工程(全)420页.ppt
《软件工程(全)420页.ppt》由会员分享,可在线阅读,更多相关《软件工程(全)420页.ppt(419页珍藏版)》请在三一办公上搜索。
1、2023/6/25,2023/6/25,软件工程,哈尔滨工业大学 韩静萍,Software Engineering,2023/6/25,在一些人眼里,今天的软件开发似乎已 成为简单的事情,已有了不少很好的开发工 具和软件库,软件开发人员训练有素,都强 烈渴望去编写很酷的软件,可以在几天的时 间里编写出一个相当复杂的软件。但为什么 有一些软件能够得到用户的喜欢,而另一些 则不能?为什么有些软件能够在市场上成功,而有些则受到冷落?由此可见,开发软件 并不一定难,难就难在如何开发有用的软件。,微软凌小宁博士,2023/6/25,我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术而
2、从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求。否则,无论你的技术是多么优秀,多么先进,恐怕你的产品在市场上都无法获得成功。,微软张益肇博士,2023/6/25,2023/6/25,本课程比较全面、系统地介绍软件工程的概念、技术与方法。主要内容包括:软件工程概述、软件生存周期及软件需求分析、软件设计方法、软件测试技术等。通过本课程的学习,使学生能真正的从中了解软件开发的整个过程。为了让学生真正得以实践,结合实际软件开发项目,让学生从问题定义开始,经过可行性研究、需求分析、概要设计、详细设计、编码直到最后要对自己开发的软件还要进行测试,这样一个软件开发过程,从而使学生掌握
3、软件开发的基本技能。,课程主要内容,2023/6/25,2023/6/25,各 章 学 时 安 排,2023/6/25,第一章 软件工程概述,水利工程,建筑工程,机械工程,软件工程,本章将对软件的地位和作用、软件的特点、软件 的发展、软件的危机以及软件工程学科的形成、软件 生期等方面的问题和基本概念,传统工程,新兴工程,气象工程,生物工程,2023/6/25,1.1 软件的概念与特点,1、软件,software,soft+ware,软制品(软体),软件是计算机系统中与硬件相互依存的另一部分。它包括程序、数据及其相关文档的完整集合。,2023/6/25,2、软件特点,.软件是一种逻辑实体,而不是
4、具体的物理实体,.软件的生产与硬件不同,.在软件的运行和使用期间,没有硬件那样的机械 磨损,老化问题,磨合调整,磨损用坏,修改点,实际曲线,理想曲线,2023/6/25,.软件的成本相当昂贵,软件技术的发展落后于需求,硬、软件成本比例的变化,年份,成本%,软件,硬件,2023/6/25,3、软件的分类,1、按软件的功能进行划分,2023/6/25,支撑软件,2023/6/25,2、按软件的规模进行划分,2023/6/25,3、按软件开发划分,2023/6/25,1.2 软件工程的概念及范畴,1、“软件工程”,-Software Engineering,于1968年 NATO 组织在德国召开的一
5、次会议上提出,是把软件当作一种工业产品,要求“采用工程化的 原理与方法对软件进行计划、开发和维护”。,2023/6/25,软件工程学,软件开发技术,软件工程管理,软件开发方法学,软件工具,软件工程环境,软件工程管理学,软件经济学,-软件工程学的范畴,2、软件工程学,2023/6/25,Wake up every day with a feeling of passion for the different technology will make in peoples Life.,微软企业文化宗旨部分内容,每天醒来的时候,要对技术给生活造成的改变 始终拥有一份 激情。,2023/6/25,程序
6、,3、软件的演变(即从传统软件开发到现代软件开发),软件,软件产品,传统软件开发,现代软件开发,2023/6/25,1.3 软件生存周期,把软件从产生、发展到成熟、直至衰亡为止,(SW life cycle),2023/6/25,特点:上一阶段的变换结果 是下一阶段的变换的 输入,相邻两个阶段 具有因果关系,紧密 相联。,需求分析,问题定义,可性行研究,计划时期,概要设计,详细设计,编 码,测 试,开发时期,运行与维护,运 行时 期,软件生存周期模型(瀑布模型 Waterfall Model),2023/6/25,原型模型(Prototype Model),加工原型,原型:是指模拟某种产品的原
7、始模型,快速分析和设计,建造原型,客户评价原型,1、原型系统仅包括未来系统的 主要功能,以及系统的重要 接口。,2、为了尽快向用户提供原型,开发原型系统时应尽量使用 能缩短开发周期的语言和工 具。,2023/6/25,第二章 问题的定义与可性行研究,当我们在着手做任何一件工作以前,必须明确工作的性质、任务,制定完成任务的计划,这是非常必要的。同样对于软件产品的开发,显然也应该解决好这样类似的问题,明确该软件产品开发的任务,以及完成任务的价值从而制定出完成任务的计划。那么问题的定义和可性行研究就是制定软件系统的计划的第一步。所以在软件工程中把这一步称为 计划时期,2023/6/25,开始,问题定
8、义,可性行研究,可行否?,项目实施计划,终止项目的建议,结束,Y,计划时期的工作流程图,N,2023/6/25,Who,What,Why,3W,Win CE1.0,有用的软件,2023/6/25,2.1 现状调查和问题的定义,目的:弄清楚用户要求计算机解决什么问题,任务:编写系统目标与规范说明书,系统目标与规范说明书1、项目:教材销售系统2、问题:人工销售教材手续繁琐,容易出错3、项目目标:建立一个高效率、无差错的计算机教材销售系统4、项目范围:利用现有的计算机,软件开发费用不得超过2000元5、初步想法:建议在系统中增加对缺书的统计与采购功能6、可性行研究:建议进行大约10天的可性行研究,且
9、研究费用不超过500元,2023/6/25,2.2 可行性研究与论证,1、经济可行性:,进行成本效益分析,评估项目的开发成本。,基于计算机系统的成本由四部分组成,其论证的焦点是:围绕着对系统开发的价值进行论证,2023/6/25,举例:关于开发CAD系统的软件开发成本及效益分析,该系统节省经费,该系统成本,盈亏平衡点,投资回收期,-成本及效益分析图,2023/6/25,2、技术可行性:,对系统的性能、可靠性、可维护性以及生产率等方面的信息进行评价。,通过技术可行性的分析,将为新系统提交技术可行性评估。以指明为完成系统的功能和性能需要什么技术?需要哪些材料、方法、算法、或者过程等,2023/6/
10、25,可行性论证报告,2023/6/25,2.3 可行性分析所需工具(系流程图与系统结构图),1、系统流程图:,是用来描述系统物理模型的一种传统工具。,2023/6/25,2023/6/25,举例,库存清单系统流程图,2023/6/25,人工销售教材 流程图,2023/6/25,计算机售书系统流程图,结束,学生,购书发票,到书库领书,购书单,终端,审查并开发票,1,1-学生各学期用书数据库,购书单,2,2-教材存量数据库,2023/6/25,练,习,请画出由下列文字描述的系统流程图,2023/6/25,2、系统结构图:,系统工程师用结构摸板开发的系统模型,用户界面处理,输入处理,维护和自测试,
11、处理和控制功能,输出处理,-结构摸板-,2023/6/25,-传输线的分类系统,3、系统结构环境图(ACD-Architecture Context Diagram),:ACD 可用于描述实现系统与系统运行环境之间的信息边界。,2023/6/25,-传输线分类系统的 ACD 图,处理与控制功能区,外部实体,2023/6/25,ACD 的层次结构,2023/6/25,作,请画出学生成绩管理系统的 ACD 图,业,2023/6/25,第3 章 软件需求分析,软件需求分析是软件开发早期的一个重要阶段。它在问题定义和可行性研究阶段之后进行。需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切
12、要求。这是关系到软件开发成败的关键步骤,也是整个系统开发的基础。软件需求分析阶段要求用 需求规格说明书(SRS)来表达用户对系统的要求。规格说明书可用文字方式表示,也可用图形表示。本章将介绍需求分析的任务、步骤、需求分析方法(面向数据流图分析方法、面向对象的分析方法)。,2023/6/25,一、确定目标系统的具体要求,1、确定系统的运行环境要求,2、系统的性能要求,3、系统功能,3.1 需求分析的任务,硬件环境和软件环境,确定目标系统具备的所有功能,2023/6/25,数据库中存放的是职工的,某学校医疗费管理系统,所属部门、职工号、姓名,职工报销时应填写:,所属部门、职工号、姓名、日期,校内门
13、诊、校外门诊、住院费、子女医疗费,医疗费分类:,该校规定,每年每个职工的医疗费有一个限额(如 80元),限 额在年初确定,其限额规则如下:,1、每个职工一年内报销的医疗费不超过限额时,全部报销 2、超额,则超出部分只可报销90%,其余10%由职工个人负担 3、职工子女的医疗费也有限额(如 40元),2023/6/25,1、医疗费管理系统每天记录当天报销的若干职工或职工子女的医 疗费的类别、金额。2、在当天下班前让系统自动结帐、统计当天报销的医疗费总额,供 出纳员核对。3、每笔帐要保存备查,每天所报销的费用要和各个职工已报销的金 额累计起来,以便检查哪些职工已超额。4、系统还要配有适当的查询功能
14、。5、年终结算后,下一年度开始时要对数据库文件进行初始化。6、当职工调离本单位,职工调如本单位或在本单位内部门间调动,数据库文件应能及时得到修改。,请完成对上述系统的 需求分析,用户对系统的要求,2023/6/25,该系统规模不太大,可以和用户单位的其他管理系统使用相同的计算机硬件设备、相同的操作系统和相同的关 系数据库管理系统。如果,可以使用汉化了的数据库管理系统,但在建立数据库结构时,凡是用英文名称来代表字段名时,则必须在数据字典中予以说明。,1、确定系统的环境要求,2023/6/25,3、系统的功能,(1)具有表格形式屏幕的输入格式(2)具有重复录入数据的功能(3)具有查询和统计汇总的功
15、能(4)职工的调入和调出以及对数据库的初始化,2023/6/25,2、系统性能要求,(1)数据不能随意更改 2)保证数据的准确性 由于医疗费管理系统涉及到会计经费问题,数据不能随意更改但数据输入又难免会出错。因而在每输入一个职工的医疗费后,屏幕提示“数据有误吗?”。若是在核对时 有误,可及时更改,避免输入错误。一天报销结束时,在 数据存档前,再让出纳员核对一下经费总额,若出纳员支 出的金额总数有误时,应让计算机显示每笔帐目,供一一 仔细核对,此时在允许修改一次。当正式登帐后,数据就 绝对不允许在修改了,由此保证财务制度的严格性,保证 数据的安全性。,2023/6/25,二、建立目标系统的逻辑模
16、型,通常软件软件开发项目是要实现目标系统的物理模型,即 确定待开发软件系统的系统元素,并将功能和数据结构分配到 这些系统元素中。它是软件实现的基础。但是目标系统的物理模型是由它的逻辑模型经实例化,即 具体到某个业务领域而得到的。与物理模型不同,逻辑模型忽 视机制和细节,只描述系统要完成的功能和要处理的数据。为此,该阶段的主要任务是,借助于当前系统的逻辑模型 导出目标系统的逻辑模型,也就是解决目标系统“做什么”的问 题。,2023/6/25,用户调查,具体模型,建立系统模型的工作流程,逻辑抽象,当前系统,逻辑模型,当前系统,计算机化,评审修改,正式模型,完善细节,目标系统,目标系统初始模型,经认
17、可的,问题需求,系统模型,用户,1、建立目标系统逻辑模型的步骤,2023/6/25,图形工具,2、建立目标系统逻辑模型的图形工具,2023/6/25,-学生购买教材的具体模型,请建立计算机售书系统的逻辑模型,-学生购买教材的 逻辑模型,2023/6/25,-学生购买教材的 逻辑模型,完善目标系统并补充细节,的出目标系统的正式逻辑模型,2023/6/25,三、需求规格说明书与评审,软件需求说明书,-SRS(Software Requirement Specification),主要包括以下的内容:,SRS,数据流图,数据字典,2023/6/25,一、数据流图,3.2 面向数据流的方法,-DFD(
18、Data Flow Diagram),2023/6/25,储户,检验,付款,登录,存折,帐卡,取款信息,办理取款手续的 DFD 图,检验不合格,现款,付款信息,取款单,存折,2023/6/25,1、数据流图中的主要图形元素,-转换数据流的处理过程,-可以是数据库文件或任何形式的数 据组织。箭头向内则表示写入文件 或查询文件,箭头向外则表示从文 件中读取数据或得到查询结果,数据转换,外部实体,-位于软件系统边界之外的信息生产者 或 消费者,数据流,-在转换之间有向流动的数据项或数据 集合,数据存储文件,2023/6/25,-系统逻辑模型,2023/6/25,-学生购买教材的 逻辑模型,2023/
19、6/25,2、数据流图中的其它图形元素,-有 A 则 B 或者 C,或者两者都有,-有 A 则 B 与 C,或者两者同时有,-有 A 则 B 或 C,但不会同时有B与C,2023/6/25,-标识多个数据流与加工之间关系的符号,-当 A 或 B 有一个存在就有 C,-只有当 A 与 B 都存在,则有 C,2023/6/25,3、分层的数据流图,第 n+2 层,2023/6/25,人工销售教材 系统流程图,2023/6/25,学生,教材购销系统,保管员,外部实体,外部实体,2023/6/25,教材销售子系统,1.3登记并开领书单,1.2开发票,1.1审查有效性,1.4登记缺书,1.5补售教材,采
20、购,学生,学生,暂缺书单,补售书单,第 3 层,F1书号单价数量,外部项,2023/6/25,采购 子系统,第 2 层,缺书单,2.3修改教材库存和待购量,销售,2.1按书号汇总缺书,2.2按出版社统计缺书,保管员,2023/6/25,.便于实现,.便于使用,-采用逐步细化的扩展方法,可避免一 次引入过多的细节,有利于控制问题 的复杂度;,-用一组图代替一张总图,方便用户及 软件开发人员阅读。,4、分层 DFD 图的优点,2023/6/25,.注意父图和子图的平衡,5、画分层 DFD 的指导原则,2023/6/25,.区分局部文件和局部外部项,.掌握分解的速度,一般来说,每一个加工每次可分为
21、2-4个子加工,最 多不得超过 7 个。,.遵守加工编号规则,顶层加工不编号。第二层的加工编号为1,2,3,n号。第三层编号为1.1,1.2,1.3n.1,n.2等号,依此类推。,2023/6/25,局部外部项,局部文件,2023/6/25,练,请画出学生成绩管理系统的 DFD 图,习,2023/6/25,二、数据字典,-DD(Data Dictionary),2023/6/25,1、数据字典的定义,数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。,(1)数据流词条的描述,数据流名:
22、发票 说明:用作学生已付书款的依据 数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计,2023/6/25,数据元素名:类型:数字(离散值、连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构,(2)数据元素词条的描述,2023/6/25,(3)数据文件词条的描述,数据文件名:简述:存放的是什么数据。输入数据:输出数据:数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:,2023/6/25,加工名:加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流:取值范围:相关的数据元素及数据结
23、构,(4)加工逻辑词条的描述,2023/6/25,名称:外部实体名 简要描述:什么外部实体 有关数据流:数目:,(5)外部实体词条描述,2023/6/25,2、数据字典定义符号,=,被定义为,+,与,x=a+b,则表示 x 由 a 和 b 组成,x=a,b,则表示 x 由 a 或由 b 组成,或,重复,x=a,则表示 x 由 0个或多个 a 组成,(),可选,表示在两个*之间的内容为词条的注释,m n,重复,x=3a8,则表示x中至少出现3次a,最多出现8次,*,注释符,x=(a),则表示 a 在 x 中出现,也可不出现,2023/6/25,请为下列给出的 DFD 图编写 DD,2023/6/
24、25,2023/6/25,2023/6/25,3、数据字典的实现,数据字典的实现,2023/6/25,三、加工说明,-(Process Specification),2023/6/25,加工说明组成,加工说明描述工具,描述把输入数据流变 换为输出数据流的加工过 程,是加工说明的主体。,2023/6/25,2023/6/25,自然语言+结构化形式,结构化语言,2023/6/25,例1:请写出下列在 DFD 图中给出的“统计晚婚职工”的加工说明,Count Late-MarriageEmployees,Late-Marriage-Count Request,职工名册文件,Late-Marriage
25、-List=List-Count+Name-List,Name-List=Name,2023/6/25,Count Late-Marriage Employees Policy For each Late-Marriage-Count request:Repeat the following;Access the staffs-Record.If status is single,If sex is maie and Age is over 30 or sex is female and Age is over 26 Write Name to Name-List.Increment List
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 420
链接地址:https://www.31ppt.com/p-5319395.html