1、精选ppt1软件工程与项目案例教程精选ppt2v华南理工大学,博士,计算机控制v曾任职以下公司:中国民航信息广州公司(香港上市)技术总监 广州金鹏集团(电子百强)项目总监 广东金宇恒(佛山最大软企)技术总监v曾获国家创新基金、广州科学技术奖v中联通炫铃广东/湖南/广西项目负责人(用户800万)v长期移动、民航、政府、互联网行业软件研发精选ppt3软件工程与项目案例教程精选ppt4软件工程与项目案例教程精选ppt5软件工程与项目案例教程精选ppt6软件工程与项目案例教程精选ppt7软件工程与项目案例教程精选ppt8软件工程与项目案例教程精选ppt9v软件的定义及其特点 v软件危机 v软件工程概念
2、 软件工程与项目案例教程精选ppt10v软件的定义 软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合。软件的定义及其特点 软件=程序+数据+文档程序:按事先设计的功能和性能需求执行的指令序列数据:是程序能正常操纵信息的数据结构文档:与程序开发、维护和使用有关的图文材料软件工程与项目案例教程精选ppt11软件的定义及其特点软件的定义及其特点软件的特点(1)抽象性;(2)无明显的制造过程;(3)无磨损、老化的问题(4)对硬件系统的依懒性;(5)复杂性;(6)成本昂贵;(7)社会性;软件工程与项目案例教程精选ppt12Tacoma Narrows大桥的崩溃大桥的崩溃软件
3、工程与项目案例教程精选ppt13 软件危机软件危机 在软件开发和维护过程中所遇到的一系列严重问题在软件开发和维护过程中所遇到的一系列严重问题 软件危机的表现软件危机的表现对软件开发成本和进度的估算很不准确对软件开发成本和进度的估算很不准确用户很不满意用户很不满意质量很不可靠质量很不可靠没有适当的文档没有适当的文档软件成本比重上升软件成本比重上升供不应求:软件开发生产率跟不上计算机应用迅速供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势深入的趋势 软件危机软件危机 软件工程与项目案例教程精选ppt14软件危机软件危机 v原因 客观:软件本身特点v逻辑部件逻辑部件v规模庞大规模庞大 主观:不
4、正确的开发方法v忽视需求分析忽视需求分析v错误认为:软件开发错误认为:软件开发=程序编写程序编写v轻视软件维护轻视软件维护软件工程与项目案例教程精选ppt15软件危机软件危机 产生的原因(软件开发人员的错误观点):v“有一个对目标的概括描述就足以着手编写程序了,许多细节可以在以后再补充”v“所谓软件开发就是编写程序并设法使它运行”v“用户对软件的要求不断变化,然而软件是柔软而灵活的,可以轻易地改动”v“软件投入生产性运行以后需要的维护工作并不多,而且维护是一件很容易做的简单工作”软件工程与项目案例教程精选ppt16软件危机软件危机 v解决途径解决途径 组织管理组织管理v工程项目管理工程项目管理
5、方法方法 技术措施技术措施v软件开发技术软件开发技术与方法与方法v软件工具软件工具v软件工程管理软件工程管理 软件管理学软件管理学 软件经济学软件经济学 软件度量学软件度量学v软件工程学软件工程学 指导计算机软件开发和维指导计算机软件开发和维护的工程学科护的工程学科 工程管理工程管理+开发技术开发技术v软件开发技术软件开发技术 软件开发方法学软件开发方法学 软件工具软件工具 软件工程环境软件工程环境软件工程与项目案例教程精选ppt17v软件工程的概念软件工程的概念 应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门工程学科。软件工程的原则
6、软件工程概念 软件工程与项目案例教程精选ppt18v软件生命周期 v软件开发模型 软件工程与项目案例教程精选ppt19 软件定义 阶段 软件开发阶段 软件的使用和维护阶段 退役Page 19软件生命周期软件生命周期软件工程与项目案例教程精选ppt20 瀑布模型 软件开发模型 问题定义问题定义可行性研究可行性研究需求分析需求分析概要设计概要设计详细设计详细设计软件实现软件实现软件测试软件测试运行维护运行维护计计划划时时期期开开发发时时期期运行维护时期运行维护时期强调阶段的划分及其顺序性、各阶段工作及其文档的完备性,是一种严格线性的、按阶段顺序的、逐步细化的开发模式。软件工程与项目案例教程精选pp
7、t21 螺旋模型 喷泉模型 软件工程与项目案例教程精选ppt22 两种典型的建模工具:1IBM Rational Rose 2Microsoft Office Visio 软件工程与项目案例教程精选ppt23Page 23IBM Rational Rose软件工程与项目案例教程精选ppt24vVisio是一个图表绘制程序,可以帮助用户描述复杂设想以及系统的业务和技术图表。使用Visio创建图表可以使信息形象化,能够以更为直观有效的方式进行信息交流,这是单纯的文字和数字无法比拟的。Page 24Microsoft Office Visio 软件工程与项目案例教程精选ppt25v考核方式:课程设计
8、(附设计说明文档,正文字数不少于1000字)(60%)+平时作业及实验(30%)+平时表现(10%),按优秀、良好、中、及格、不及格五级评定成绩v通过演示及讲述,讲解课程设计的整体情况,针对其设计提出一些技术及细节问题确认是否真正理解课程设计中的要点、是否掌握了进行系统设计的知识和能力、是否本人完成。如通发现没有真正设计或者不清楚技术细节,则课程设计不及格。v答辩部分答辩部分:40分分(没有课程设计说明文档不予参加答辩)v设计部分设计部分:60分分v选题:创新性,实用性,界面美观友好(15分)v难度:设计包含的难度(15分)v设计的完整性(30分)软件工程与项目案例教程精选ppt26软件工程与
9、项目案例教程精选ppt27 复杂系统分解多个简单系统 提高软件项目可控性 降低软件开发风险 有效地应对需求变更在迭代过程中,功能的不确定性逐渐减小,我们对功能的描述越来越明确。软件工程与项目案例教程精选ppt28v只对希望成功的项目使用2004年年2月月4日,日,马克马克扎克伯格扎克伯格在大学的宿舍里在大学的宿舍里鼓捣了一个约会鼓捣了一个约会网站网站 精选ppt29软件工程与项目案例教程精选ppt30vUML的概念vUML的发展vUML的主要内容 软件工程与项目案例教程精选ppt31OOOOUML:OOAOODDP :软件工程与项目案例教程精选ppt32vUML的概念 UML Unified
10、Modeling Language 统一建模语言 统一建模语言是一种通用的可视化建模语言,用于对软件系统的制品进行规范化、可视化处理,然后构造它们并建立它们的文档。UML的概念的概念软件工程与项目案例教程精选ppt33Grady Booch,James Rumbaugh和和Ivar Jacobson软件工程与项目案例教程精选ppt34这把刀,也不知道有多长、多这把刀,也不知道有多长、多宽、多重、由什么材质铸成,宽、多重、由什么材质铸成,由谁铸造?很普通,很平常,由谁铸造?很普通,很平常,也许在我们手中!但,只要是也许在我们手中!但,只要是他拿着,握着,这把刀就有了他拿着,握着,这把刀就有了生命
11、,有了气息,追魂的刀,生命,有了气息,追魂的刀,亦是救命的刀,就看他是如何亦是救命的刀,就看他是如何赋予它使命的!赋予它使命的!该用图用图该用图用图 该代码用代码该代码用代码软件工程与项目案例教程精选ppt35v过去数十种面向对象的建模语言过去数十种面向对象的建模语言各自为战各自为战,而,而UML可以消除一些潜在差异,可以消除一些潜在差异,一统江湖一统江湖v通过统一语义和符号表示,提高面向对象技术通过统一语义和符号表示,提高面向对象技术v使项目建立在一个成熟的标准建模语言基础之上使项目建立在一个成熟的标准建模语言基础之上v便于沟通和交流,统一的理解便于沟通和交流,统一的理解软件工程与项目案例教
12、程精选ppt36 精确的元模型定义 UML表示法表示法 UML表示符表示符 UML可视化的图形建模语言 UML提供了五类图形 UML的主要内容的主要内容 软件工程与项目案例教程精选ppt37基本基本UML建模元素、关系和图建模元素、关系和图达到特定目标的公共达到特定目标的公共UML方法方法系统架构的系统架构的UML视图视图软件工程与项目案例教程精选ppt38Page 38建模元素本身建模元素本身把事物联系在一起,关系说明两个或多个事物时如何语义相关的把事物联系在一起,关系说明两个或多个事物时如何语义相关的UML模型的视图,它们展现事物的集合,模型的视图,它们展现事物的集合,“讲述关于软件系统的
13、故事讲述关于软件系统的故事”,是,是我们可视化系统将做什么(分析级图)或者系统如何做(设计级图)的方法我们可视化系统将做什么(分析级图)或者系统如何做(设计级图)的方法软件工程与项目案例教程精选ppt39UML模型中的名词,如类、接口、协作、用例、活动类、组件、节点模型中的名词,如类、接口、协作、用例、活动类、组件、节点UML模型的动词,如交互、状态机模型的动词,如交互、状态机包,它用于把语义上相关的建模元素分组为内聚的单元包,它用于把语义上相关的建模元素分组为内聚的单元注解,它附加到模型以捕获特殊信息,同黄色便笺很相像注解,它附加到模型以捕获特殊信息,同黄色便笺很相像软件工程与项目案例教程精
14、选ppt40描述对象之间的一组链接描述对象之间的一组链接事物的改变引起依赖物件的语义改变事物的改变引起依赖物件的语义改变一个元素是另一个元素的特化,而且它可以取代更一般的元素一个元素是另一个元素的特化,而且它可以取代更一般的元素类元之间的关系,一个类元说明一份契约,另一个类元保证实现该契约类元之间的关系,一个类元说明一份契约,另一个类元保证实现该契约软件工程与项目案例教程精选ppt41软件工程与项目案例教程精选ppt42软件工程与项目案例教程精选ppt43vUML模型:使用图和图标可视化模型 各种建模元素的规格说明所组成v规格说明 模型元素的特征和语义的文本描述模型的“肉”形成了承载模型的语义
15、背板,赋予模型意义,各种图仅仅是该背板的视图或者可视化投影软件工程与项目案例教程精选ppt44v修饰:图中建模元素上暴露的信息项 任何UML图仅是模型的视图,只有在修饰增强了图的整体清晰性和可读性或者突出模型的某些重要特征时,才应该表示那些修饰WindowWindow+size:Area#visibility:Boolean-xptr:XWindow+create:void+hide:void-attachXWindow:voidWindow软件工程与项目案例教程精选ppt45v描述认识世界的特殊方法 类和实例v类元:一类事物的抽象概念;如“银行帐户”v实例:一类事物的特定实例;如“张三丰帐户
16、”接口和实现v接口:说明事物行为的契约(做什么)v实现:事物是如何工作的特殊细节(如何做)软件工程与项目案例教程精选ppt46v约 束:允许对模型元素添加新的规则v构造型:基于已有的建模元素引入新的建模元素v标记值:允许为模型元素添加新的特性,是带有相关值得关键字软件工程与项目案例教程精选ppt47 构架是一个系统的组织结构包括:1.系统分解成的各个部分 2.它们的连接性 3.交互机制 4.通知系统设计的向导规则软件工程与项目案例教程精选ppt48 构架是一个系统的组织结构包括:1.系统分解成的各个部分 2.它们的连接性 3.交互机制 4.通知系统设计的向导规则软件工程与项目案例教程精选ppt
17、49 构架是一个系统的组织结构包括:1.系统分解成的各个部分 2.它们的连接性 3.交互机制 4.通知系统设计的向导规则软件工程与项目案例教程精选ppt50软件工程与项目案例教程精选ppt51UML构造块构造块公共机制公共机制架构架构物件物件关系关系图图规格说明规格说明修饰修饰公共分类公共分类扩展机制扩展机制用例视图用例视图逻辑视图逻辑视图进程视图进程视图实现视图实现视图部署视图部署视图结构物件结构物件行为物件行为物件分组物件分组物件注解物件注解物件关联关联依赖依赖泛化泛化实现实现类图类图顺序图顺序图对象图对象图协作图协作图构件图构件图状态图状态图部署图部署图活动图活动图用例图用例图软件工程与
18、项目案例教程精选ppt52 用例图 类图 对象图 包 使用类图的建议 软件工程与项目案例教程精选ppt53Page 53用例图用例图 参与者 参与者参与者1参与者参与者2用例用例1用例用例2软件工程与项目案例教程精选ppt54v用例图从系统外部、从用户用例图从系统外部、从用户角度出发描述系统的功能集角度出发描述系统的功能集v用例图所描述的系统功能依用例图所描述的系统功能依靠外部用户或另一个系统激靠外部用户或另一个系统激活,为用户或另一个系统提活,为用户或另一个系统提供服务供服务软件工程与项目案例教程精选ppt55v用例图中可以包含若干个用例,用例表达了系统用例图中可以包含若干个用例,用例表达了
19、系统的功能的功能v用例只描述参与者和系统在交互过程中用例只描述参与者和系统在交互过程中做些什么做些什么,并不描述并不描述怎么做怎么做。软件工程与项目案例教程精选ppt56Page 56 保险销售用例 签订保险单签订保险单更新销售统计资料更新销售统计资料完善客户数据资料完善客户数据资料客户客户保险销售员保险销售员软件工程与项目案例教程精选ppt57Page 57 商品订单用例 客户客户支付过程支付过程客户支持客户支持搜索商品搜索商品下订单下订单提供帮助提供帮助软件工程与项目案例教程精选ppt58Page 58 教学管理用例 教师教师学生学生教学管理人员教学管理人员选课管理选课管理成绩管理成绩管理
20、试题管理试题管理软件工程与项目案例教程精选ppt59v不知道什么情况不用用例v如果没有用到用例,闭门反省软件工程与项目案例教程精选ppt60软件工程与项目案例教程精选ppt61v功能需求功能需求 监听删除操作,保证数据的安全。v场景场景 监听删除操作监听删除操作 删除操作一旦执行,立即被监听器捕获到,进而在执行 删除操作前执行自定义的函数体,即判断实体有无undeletable标签,有则中断删除操作,无则正常删除。步骤步骤异常情况异常情况异常处理方法异常处理方法取得实体的类名取得实体的类名ClassNotFoundException异常异常日志记录,然后包装成一日志记录,然后包装成一个个Hib
21、ernateException,向上层抛出。向上层抛出。获取获取undeletable标签,判标签,判断是否存在,是则执行函数断是否存在,是则执行函数体,否则执行父类函数体体,否则执行父类函数体(onDelete)IllegalAccessException异常与异常与InvocationTarget-Exception异常异常日志记录,然后包装成日志记录,然后包装成HibernateException,向向上层抛出。上层抛出。软件工程与项目案例教程精选ppt62v关系 关联关系;依赖关系;泛化关系;关系的扩展 Page 62参与者参与者用例用例系统边界系统边界关联关联扩展扩展包含包含泛化泛化
22、注释体注释体注释连接注释连接软件工程与项目案例教程精选ppt63v类 名称;属性;操作v关联关系v泛化 v依赖关系 v约束 类图类图软件工程与项目案例教程精选ppt64类图类图客客户户债债券券股股票票交交易易员员有有价价证证券券泛化泛化关联关联软件工程与项目案例教程精选ppt65v类图是面向对象方法的支柱v如果没用到类图?找电杆撞下,看是否用面向对象方法软件工程与项目案例教程精选ppt66v类图用滥了,建狗屋画了10页类图v类图没分清粗细层次:概念类图规约类图实现类图软件工程与项目案例教程精选ppt67鸟类图软件工程与项目案例教程精选ppt68软件工程与项目案例教程精选ppt69软件工程与项目
23、案例教程精选ppt70软件工程与项目案例教程精选ppt71软件工程与项目案例教程精选ppt72v不要试图使用所有的符号 v根据项目开发的不同阶段,用正确的观点来画类图 v不要为每个事物都画一个模型,应该把精力放在关键的领域 使用类图的建议使用类图的建议软件工程与项目案例教程精选ppt73 对象图 表示在某一时刻类的具体实例和这些实例之间的具体连接关系 对象图对象图丁一家里的丁一家里的PC:计算机:计算机名称:名称:DELL446内存:内存:128丁一:作家丁一:作家姓名:丁一姓名:丁一年龄:年龄:30软件工程与项目案例教程精选ppt74姓名姓名:string年龄年龄:integer名称名称:s
24、tring内存内存:integer姓名姓名丁一丁一年龄年龄3030丁一办公室中的丁一办公室中的PC:计算机计算机丁一家中的丁一家中的PC:计算机计算机教师教师计算机计算机丁一丁一:教师教师名称名称Dell 内存内存256名称名称IBM内存内存512软件工程与项目案例教程精选ppt75姓姓 名名:string年年 龄龄:integer名名 称称:string内内 存存:integer姓姓 名名 丁丁 一一年年 龄龄 3 30 0丁丁 一一 办办 公公 室室 中中 的的 PC:计计 算算 机机丁丁 一一 家家 中中 的的 PC:计计 算算 机机教教 师师计计 算算 机机丁丁 一一:教教 师师名名
25、称称 D ell 内内 存存 256名名 称称 IB M内内 存存 512对象图使用的是与类图相同的符号和关系 软件工程与项目案例教程精选ppt76软件工程与项目案例教程精选ppt77v包 一种分组机制,把各种各样的模型元素通过内在的语义连在一起成为一个整体就叫做包 包包PackageABCAABC软件工程与项目案例教程精选ppt78引用引用使用使用软件工程与项目案例教程精选ppt79软件工程与项目案例教程精选ppt80软件工程与项目案例教程精选ppt81v对象之间的交互 v状态图 v交互图 v活动图 v四种图的运用 软件工程与项目案例教程精选ppt82v简单消息 v同步消息 v异步消息 v同
26、步且立即返回消息 对象之间的交互对象之间的交互软件工程与项目案例教程精选ppt83状态图 用来建模对象是如何改变其状态以响应事件,展示对象从创建到删除的生命周期状态图状态图发票状态图发票状态图软件工程与项目案例教程精选ppt84状态标记符软件工程与项目案例教程精选ppt85v状态和转移 v事件 状态图状态图超时超时在第一层在第一层向上移动向上移动空闲空闲向下移动向下移动向第一层移动向第一层移动上楼上楼到达到达到达到达下楼下楼到达到达上楼上楼软件工程与项目案例教程精选ppt86v子状态 状态图状态图软件工程与项目案例教程精选ppt87航班申请航班计划entry/发布航班信息do/检查当前日期批准
27、航班计划不允许申请航班还有票航班票售完结束售票飞行准时到达目的机场延时到达目的机场售票/退票 开始预售 售最后一张票 起飞前30分钟 退票 起飞前30分钟 起飞 天气非正常 天气正常 降落降落软件工程与项目案例教程精选ppt88v顺序图 交互图交互图:打打印印服服务务器器:计计算算机机:打打印印机机:队队列列打打印印(文文件件)打打印印(文文件件)打打印印机机空空闲闲打打印印(文文件件)打打印印机机忙忙存存储储(文文件件)软件工程与项目案例教程精选ppt89软件工程与项目案例教程精选ppt90协作图 链接;消息流;对象生命周期 交互图交互图:计计算算机机:打打印印服服务务器器:打打印印机机:队
28、队列列打打印印机机空空闲闲1 1.1 1:打打印印(文文件件)1 1:打打印印(文文件件)打打印印机机忙忙1 1.2 2:存存储储(文文件件)软件工程与项目案例教程精选ppt91v活动和转移 v泳道 v对象 v信号 活动图活动图在屏幕上显示在屏幕上显示“磁盘满磁盘满”在屏幕上显示在屏幕上显示“打印打印”擦除屏幕上的提示信息擦除屏幕上的提示信息产生附录文件产生附录文件Printfile()Printer.Print(file)磁盘满磁盘满有可用的有可用的磁盘空间磁盘空间软件工程与项目案例教程精选ppt92v活动和转移 v泳道 v对象 v信号 活动图活动图软件工程与项目案例教程精选ppt93v正确
29、画图的做法是:为帮助理解类而画它的状态图。状态图描述跨越多个用例的单个对象的行为,而不适合描述多个对象间的行为合作 四种图的运用四种图的运用精选ppt94软件工程与项目案例教程精选ppt951.系统的研发背景图书馆系统的提出图书馆系统的提出国内外研发现状国内外研发现状建立系统需求原型建立系统需求原型 2.软件开发计划 问题定义问题定义可行性分析可行性分析可行性分析报告可行性分析报告系统的开发计划系统的开发计划软件工程与项目案例教程精选ppt961.图书馆系统的提出 传统的手工方式对图书信息的管理已越来越不能适应社会发展的需要,尤其是随着计算机网络和Internet的普及,运用先进的信息管理系统
30、对信息进行科学化和网络化管理,已成为图书信息管理系统发展的趋势。软件工程与项目案例教程精选ppt972.国内外研发现状国内外应用的图书管理系统的划分:(1)开发方式(2)开发方法(3)结构形式(4)开发平台(5)系统使用的范围(6)按照系统开发主体面向的对象 软件工程与项目案例教程精选ppt981.问题定义(1)问题定义的任务(2)问题定义的内容 软件工程与项目案例教程精选ppt991.问题定义(1)问题定义的任务(2)问题定义的内容 软件工程与项目案例教程精选ppt1002.可行性分析可行性分析(1)可行性分析的主要内容 可行性分析的内容可概括为可行性分析的内容可概括为:环境、技术和经济环境
31、、技术和经济3个方面个方面(2)可行性分析的主要步骤确定目标确定目标进行系统调查进行系统调查 列出可能的技术方案列出可能的技术方案 技术先进性分析技术先进性分析 经济效益分析经济效益分析综合评价综合评价 优选可取方案并优选可取方案并写出可行性分析报告 软件工程与项目案例教程精选ppt101(3)可行性分析的评价原则 效益性原则效益性原则 经济性原则经济性原则 可靠性原则可靠性原则 可比性原则可比性原则 软件工程与项目案例教程精选ppt1023.可行性分析报告可行性分析报告的一般格式可行性分析报告的一般格式 可行性分析报告通常包括封面和内容两个部分可行性分析报告通常包括封面和内容两个部分可行性分
32、析报告案例可行性分析报告案例 4.系统的开发计划 开发计划主要任务开发计划主要任务 项目开发计划编写提示项目开发计划编写提示 软件工程与项目案例教程精选ppt103 项目3从图书馆管理系统研发的背景出发,介绍了软件开发的计划及软件开发的可行性分析。接着针对图书馆管理系统的开发提出了可行性分析内容,包括可行性分析的主要任务、基本的步骤,以及如何编写可行性分析报告。最后介绍了开发计划的主要任务和计划的制订。精选ppt104软件工程与项目案例教程精选ppt1051.调查系统的需求调查系统的需求 功能需求和技术需求功能需求和技术需求系统相关者系统相关者建立系统需求原型建立系统需求原型 2.模型模型 模
33、型的作用及类型模型的作用及类型 逻辑模型和物理模型逻辑模型和物理模型3.事件事件 事件的概念和类型事件的概念和类型 事件定义事件定义 图书馆管理系统中的事件软件工程与项目案例教程精选ppt1064.事物事物 事物的概念和类型事物的概念和类型 事物间的关系事物间的关系 事物的属性事物的属性 数据实体和对象数据实体和对象5.实体实体联系图联系图6.类图类图用面向对象的方法分析事物用面向对象的方法分析事物类图的符号类图的符号 建模的目标建模的目标 需求分析规格说明书编写提纲需求分析规格说明书编写提纲软件工程与项目案例教程精选ppt1071.功能需求和技术需求(1)系统需求通常可以分为两类:功能需求和
34、技术需求。功能需求是系统必须完成的活动,也就是系统将要投入的业务应用。功能需求直接来自系统规划阶段确定的系统功能。(2)技术需求是指和企业的环境、硬件和软件有关的所有可操作目标。软件工程与项目案例教程精选ppt1082.系统相关者(1)用户:那些实际使用系统处理日常事务的人。(2)客户:那些购买和拥有系统的人。(3)技术人员:确保系统运行在公司的计算机环境下的人。(4)外部实体:例如公司的顾客。软件工程与项目案例教程精选ppt1093.建立系统需求原型建立系统需求原型 传统的系统需求开发过程可分为以下传统的系统需求开发过程可分为以下4个步骤:个步骤:(1)确定现有系统的物理过程和活动。)确定现
35、有系统的物理过程和活动。(2)从现有物理过程中提取出业务逻辑功能。)从现有物理过程中提取出业务逻辑功能。(3)为将在新系统中使用的方法开发出业务逻辑功能。)为将在新系统中使用的方法开发出业务逻辑功能。(4)定义新系统的物理处理需求。)定义新系统的物理处理需求。软件工程与项目案例教程精选ppt1101.模型的作用及类型 (1)模型的作用)模型的作用有助于提取系统需求信息有助于提取系统需求信息 有助于系统分析员整理思路有助于系统分析员整理思路 有助于系统的分析和集成有助于系统的分析和集成 有助于记忆和把握相关细节有助于记忆和把握相关细节 有助于系统开发小组以及小组成员之间进行交流有助于系统开发小组
36、以及小组成员之间进行交流 为未来的维护和升级提供文档参考为未来的维护和升级提供文档参考(2)模型的类型)模型的类型 数学模型数学模型 描述模型描述模型 图形模型图形模型 软件工程与项目案例教程精选ppt1112.逻辑模型和物理模型(1)逻辑模型 在系统分析阶段所建立的模型详细定义了系统需求但并没有局限于某一具体技术,因此这些模型通常被称为“逻辑模型”。(2)物理模型 在系统设计阶段也会建立许多模型。这些模型显示了如何使用具体技术来实现系统的某些方面,因此它们被称为“物理模型”。软件工程与项目案例教程精选ppt1121.事件的概念和类型(1)外部事件)外部事件(2)临时事件)临时事件(3)状态事
37、件)状态事件 2.事件定义(1)区分事件和触发事件的条件以及系统响应)区分事件和触发事件的条件以及系统响应(2)跟踪事务处理的生命周期)跟踪事务处理的生命周期(3)暂不考虑技术依赖事件和系统控制)暂不考虑技术依赖事件和系统控制 3.图书馆管理系统中的事件 软件工程与项目案例教程精选ppt1131.事物的概念和类型 2.事物间的关系3.事物的属性4.数据实体和对象 软件工程与项目案例教程精选ppt114 结构化分析方法把重点集中在系统的数据存储需求上。数据存储需求包括数据实体、数据实体的属性以及它们之间的关系。用来定义数据存储需求的模型被称为实体联系图(Entity-Relation Diagr
38、am,ERD)。软件工程与项目案例教程精选ppt1151.用面向对象的方法分析事物(1)对事物进行概括具体的层次分析可以使用概括具体层次图来描述,它把事物按照从最概括到最具体的顺序进行排列。(2)分类就是定义事物的类。在层次图的每个类的上面也许有更一般的类,这个类称为父类。同时,每个类的下面也许有更具体的类,这个类称为子类。(3)整体局部层次图有两种类型:聚合以及合成。术语聚合用于描述一种关联形式,这种关联详细说明了集合,即整体及其组件,即局部之间的整体局部关系,这里的各个部分都可以独立存在。软件工程与项目案例教程精选ppt1162.类图的符号 类图采用的符号基于统一建模语言(UML),这种语
39、言已成为面向对象系统开发中建立模型的实际标准 类符号用一个矩形表示,包含3个部分。矩形顶端是类名,中间部分列出了类的属性,下部列出了类的重要方法。如果方法是标准的,那么它们通常就不显示在类符号中。软件工程与项目案例教程精选ppt1173.建模的目标 结构化方法是首先获得事件表,然后根据表中的信息生成一组数据流程图(Data Flow Diagram,DFD),这些图包括关联图、DFD片段和详细DFD。ERD定义了包括在DFD中的数据存储需求。需求的其他信息包括数据流定义和过程描述等。面向对象方法首先获得事件表,然后生成一组用例图和应用实例图。应用实例和类图用于生成对象行为的其他模型,包括顺序图
40、、状态图和其他模型。我们将在后面的项目中介绍这些模型。软件工程与项目案例教程精选ppt118 需求分析是系统建设的初始阶段,系统需求建模使得系统的基本功能以模型的形式更加清晰有序地显现出来,然而,仅仅建模还是不够的,需求分析阶段的成果将以需求分析说明书这样的文档来体现。需求分析规格说明书提纲分以下几个部分:1引言 2任务概述 3需求规定 4运行环境设定 5缩写词表 6参考文献软件工程与项目案例教程精选ppt119 项目4介绍了建模的两种基本分析方法结构化分析方法和面向对象分析方法以及他们用来描述系统需求的模型工具。建设管理信息系统初期需要明确系统需求,使用模型清晰完整地描述需求是有效手段,这个
41、过程称为建模。精选ppt120软件工程与项目案例教程精选ppt1211.总体设计基本内容 2.结构化软件设计3.面向对象软件设计软件工程与项目案例教程精选ppt1221.总体设计的基本内容 软件设计定义总体设计的目标与步骤总体设计的基本任务总体设计的准则2.结构化的软件设计结构化设计的基本概念结构化的设计方法 运行环境设计 软件工程与项目案例教程精选ppt1233.面向对象的软件设计 面向对象的的设计方法系统行为图书管理系统的用例图对象交互图书管理系统的交互图 对象行为图书管理系统的状态图 软件工程与项目案例教程精选ppt124 1.软件设计软件设计 软件设计分为:概要设计(或者总体设计);和
42、详细设计。概要设计是从需求出发,描绘了总体上系统架构应该包含的组成要素。尽可能模块化,描绘了各个模块之间的关联。详细设计是描述实现各个模块的算法和数据结构以及用特定计算机语言实现的初步描述,例如变量、指针、进程、操作符号以及一些实现机制。软件工程与项目案例教程精选ppt1251.总体设计的目标 2.总体设计的步骤:(1)根据用户需要,确定要做哪些工作,形成系统的逻辑模型。(2)将系统分解成一组模块,各个模块分别满足所提出的要求。(3)将分解出来的模块,按照是否能满足正确的需求进行分类,对不能满足正常需求的模块要进一步调查研究,以确定是否能进行有效地开发。(4)制定工作计划,开发有关的模块,并对
43、各模块进行一致行动测试以及系统的最后运行。软件工程与项目案例教程精选ppt126 1.设计软件结构 为了实现目标系统,最终必须设计出组成这个系统的所有程序结构和数据库文件。对于程序则首先进行结构设计:(1)采用某种设计方法,将复杂的系统按功能分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用功能。(4)确定模块之间的接口,即模块之间传递的消息。(5)评价模块结构的质量。软件工程与项目案例教程精选ppt127 1.设计软件结构 软件结构的设计是以模块为基础的。在需求分析阶段,通过某种分析方法把系统分解成层次结构,在设计阶段,以需求分析的结果为依据,从实现的角度划分模块,并组成模块的层次
44、结构。软件结构的设计是总体设计的关键一步,直接影响到详细设计与编程工作,软件系统的质量及一些整体特性都在软件结构的设计中决定。软件工程与项目案例教程精选ppt1282.数据结构及数据库设计3.编写总体设计文档(1)总体设计的说明书。引言:编写的目的、背景、定义、参考资料。总体设计:需求规定、运行环境、基本设计概念和处理流程、软件结构。接口设计:用户接口、外部接口、内部接口。运行设计:运行模块组合、运行控制、运行时间。系统数据结构设计:逻辑结构设计、物理结构设计。数据结构和程序的关系。系统出错处理设计:出错信息、补救措施、系统恢复设计。软件工程与项目案例教程精选ppt129(2)数据库设计说明书
45、。只要给出所使用的数据库管理系统(DBMS)简介,数据库概念模型、逻辑设计和结果。(3)用户手册。对需求分析阶段的用户手册进行补充和修改。(4)修订测试计划。对测试策略、方法和步骤提出明确要求。4.评审 软件工程与项目案例教程精选ppt1301.Davis的设计准则(1)设计过程应该考虑各种可选方案,根据需求,资源情况,设计概念来决定设计方案。(2)设计应该可以跟踪需求分析模型。(3)设计资源都是有限的。(4)设计应该体现统一的风格。(5)设计的结构应该尽可能满足变更的要求,(6)设计的结构应该能很友好地处理异常情况。(7)设计不是编码,编码也不是设计。(8)设计的质量评估应该是在设计的过程中
46、进行,而不是事后进行的。(9)设计评审的时候,应该关注一些概念性的错误,而不是更多的关注细节问题。软件工程与项目案例教程精选ppt1312.命名规则(Naming Rule)(1)变量名只能由大小写英文字母、下划线“以及阿拉伯数字组成。而且第一个字母必须是大小写英文字母或者下划线,不能是数字。(2)全局变量、局部变量的命名必须用英文字母简写来命名。(3)数据库表名、字段名必须用英文来命名,命名应尽量体现数据库、字段的功能。3.术语定义 4.参考资料5.相关文档 软件工程与项目案例教程精选ppt1321.结构化设计的基本概念结构化设计的基本概念(1)模块)模块(2)模块的独立性(3)抽象(4)信
47、息隐蔽 2.结构化的设计方法(1)功能模块划分设计(2)面向数据流设计(3)输入输出设计 3.运行环境设计 软件工程与项目案例教程精选ppt133软件工程与项目案例教程精选ppt134现 实 世 界 为对 象 世 界存 储 指 令 计 算机 过 程 世 界OOAOODOOP开 发 过 程面向对象分析面向对象分析面向对象设计面向对象设计面向对象编程面向对象编程软件工程与项目案例教程精选ppt1351.面向对象的的设计方法 面向对象设计方法主要有4个特点:抽象性、信息隐藏性、功能独立性和模块化。(1)识别对象(2)确定属性(3)定义操作(4)确定对象之间的通信(5)完成对象定义2.系统行为系统行为
48、图书管理系统的用例图图书管理系统的用例图(1)用例、参与者以及场景(2)用例和参与者关系以及用例之间的关系 (3)图书管理系统的用例图 现实世界为对象世界存储指令计算机过程世界OOAOODOOP开发过程软件工程与项目案例教程精选ppt136软件工程与项目案例教程精选ppt1373.对象交互图书管理系统的交互图(1)顺序图的基本构成(2)如何开发顺序图(3)图书馆管理系统中的顺序图(4)图书馆管理系统中的协作图4.对象行为图书管理系统的状态图(1)对象状态和状态转换(2)如何开发状态图(3)图书馆管理系统的状态图 软件工程与项目案例教程精选ppt138 项目5分别介绍了面向结构化设计方法及面向对
49、象设计方法,以图书馆管理系统为案例,以面向对象设计方法为重点,运用UML建模语言,详细描述了对系统行为、对象交互和对象行为几个方面进行建模的过程。精选ppt139软件工程与项目案例教程精选ppt1401.系统详细设计的基本内容 2.图书管理系统的详细设计软件工程与项目案例教程精选ppt1411.系统详细设计的基本内容 详细设计概述 详细设计的基本任务详细设计方法 2.图书管理系统的详细设计系统包图 类的类型以及类之间的关系图书馆管理系统的类图 设计类图的开发软件工程与项目案例教程精选ppt1423.用户界面设计用户界面设计应具有的特点 用户界面设计的基本类型和基本原则图书馆管理系统的界面设计软
50、件工程与项目案例教程精选ppt1431.详细设计概述 表达过程规格说明的工具叫做详细设计工具,它可以分为如下三类。(1)图形工具 把过程的细节用图形方式描述出来。(2)表格工具 用一张表来表达过程细节,这张表列出了各种可能的操作及其相应条件,也就是描述了输入、处理和输出信息。(3)语言工具 用某种高级语言(伪码)来描述过程细节。软件工程与项目案例教程精选ppt1442.详细设计的基本任务 详细设计过程中需要完成的工作主要是确定软件各个组成部分的算法以及各部分的内部数据结构和确定各个组成部分的逻辑过程,此外,还要做以下工作。(1)处理方式的设计(2)物理设计(3)可靠性设计(4)其他设计(5)编