2023/10/202023/10/20软件工程软件工程 哈哈尔尔滨滨工工业业大大学学 韩静萍Software Engineering 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 在一些人眼里,今天的软件开发似乎已 成为简单的事情,已有了不少很好的开发工 具和软件库,软件开发人员训练有素,都强 烈渴望去编写很酷的软件,可以在几天的时 间里编写出一个相当复杂的软件但为什么 有一些软件能够得到用户的喜欢,而另一些 则不能?为什么有些软件能够在市场上成功 ,而有些则受到冷落?由此可见,开发软件 并不一定难,难就难在如何开发有用的软件微软凌小宁博士 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术而从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求否则,无论你的技术是多么优秀,多么先进,恐怕你的产品在市场上都无法获得成功微软张益肇博士 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 软件工程是计算机科学与技术专业的一门专业核心课程通过本课程的学习,使学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。
课程的性质、目的与任务课程的性质、目的与任务 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 本课程比较全面、系统地介绍软件工程的概念、技术与方法主要内容包括:软件工程概述、软件生存周期及软件需求分析、软件设计方法、软件测试技术等通过本课程的学习,使学生能真正的从中了解软件开发的整个过程为了让学生真正得以实践,结合实际软件开发项目,让学生从问题定义开始,经过可行性研究、需求分析、概要设计、详细设计、编码直到最后要对自己开发的软件还要进行测试,这样一个软件开发过程,从而使学生掌握软件开发的基本技能课程主要内容课程主要内容 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20学习本课程的基本要求学习本课程的基本要求 本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课程要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面向对象程序设计以及程序设计方法论通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20章学时章学时章学时章学时123494132补充2421021442284122总学时 46=38(讲授)+8(课程设计)各 章 学 时 安 排 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20第一章第一章 软件工程概述软件工程概述水利工程建筑工程机械工程 软件工程软件工程软件工程软件工程 本章将对软件的地位和作用、软件的特点、软件 的发展、软件的危机以及软件工程学科的形成、软件 生期等方面的问题和基本概念传统工程新兴工程气象工程生物工程 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/201.1 软件的概念与特点软件的概念与特点1、软件softwaresoft+ware软制品(软体)软件是计算机系统中与硬件相互依存的另一部分。
它包括程序、数据及其相关文档的完整集合哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202、软件特点.软件是一种逻辑实体,而不是具体的物理实体.软件的生产与硬件不同 .在软件的运行和使用期间,没有硬件那样的机械 磨损,老化问题磨合调整磨损用坏修改点实际曲线理想曲线硬件失效率曲线时间失效率时间失效率软件失效率曲线 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20.软件的成本相当昂贵软件技术的发展落后于需求时间软件复杂性软件需求差距软件技术硬、软件成本比例的变化年份成本%软件软件1950197019851995硬件硬件 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/203、软件的分类1 1、按软件的、按软件的、按软件的、按软件的功能功能功能功能进行划分进行划分进行划分进行划分系统软件支撑软件应用软件 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20支撑软件一般类型一般类型一般类型一般类型:文本编辑程序文本编辑程序文本编辑程序文本编辑程序 文本格式化程序文本格式化程序文本格式化程序文本格式化程序支持需求分析支持需求分析支持需求分析支持需求分析:PSL/PSA PSL/PSA问题描述语言问题描述语言问题描述语言问题描述语言 关系数据库管理系统关系数据库管理系统关系数据库管理系统关系数据库管理系统支持设计支持设计支持设计支持设计:图形软件包图形软件包图形软件包图形软件包 结构化流程图绘图程序结构化流程图绘图程序结构化流程图绘图程序结构化流程图绘图程序支持测试支持测试支持测试支持测试:静态分析器静态分析器静态分析器静态分析器 测试覆盖检验程序测试覆盖检验程序测试覆盖检验程序测试覆盖检验程序支持实现支持实现支持实现支持实现:编辑程序编辑程序编辑程序编辑程序 连接编辑程序连接编辑程序连接编辑程序连接编辑程序支持管理支持管理支持管理支持管理:标准检验程序标准检验程序标准检验程序标准检验程序 库管理程序库管理程序库管理程序库管理程序 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202 2、按软件的、按软件的、按软件的、按软件的规模规模规模规模进行划分进行划分进行划分进行划分 按开发软件所需的 人力、时间以及完成的 源代码行数。
类别参加人数研制期限产品规模(源代码行数)微型微型微型微型小型小型小型小型中型中型中型中型大型大型大型大型甚大型甚大型甚大型甚大型极大型极大型极大型极大型1 11 12-52-55-205-20100-1000100-10002000-50002000-50001-41-4周周周周1-61-6周周周周1-21-2年年年年2-32-3年年年年4-54-5年年年年5-105-10年年年年约约约约500500行行行行 约约约约20002000行行行行 5000-500005000-50000行行行行5 5万万万万-10-10万行万行万行万行100100万行万行万行万行10001000万行万行万行万行 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 3 3、按软件、按软件、按软件、按软件开发开发开发开发划分划分划分划分软件项目开发软件产品开发 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/201.2 软件工程的概念及范畴软件工程的概念及范畴 1、“软件工程”-Software Engineering 于1968年 NATO 组织在德国召开的一次会议上提出 是把软件当作一种工业产品,要求是把软件当作一种工业产品,要求是把软件当作一种工业产品,要求是把软件当作一种工业产品,要求 “采用工程化的采用工程化的采用工程化的采用工程化的 原理与方法对软件进行计划、开发和维护原理与方法对软件进行计划、开发和维护原理与方法对软件进行计划、开发和维护原理与方法对软件进行计划、开发和维护 ”。
哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 软件工程学 软件开发技术 软件工程管理 软件开发方法学 软件工具 软件工程环境 软件工程管理学 软件经济学-软件工程学的范畴 2、软件工程学 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 Wake up every day with a feeling of passion for the different technology will make in peoples Life.微软企业文化宗旨部分内容 每天醒来的时候,要对技术给生活造成的改变 始终拥有一份 激情哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20程序 3、软件的演变(即从传统软件开发到现代软件开发)软件软件产品传统软件开发现代软件开发 1975 1989 2000 0.00016240营业额增长曲线 80 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/201.3 软件生存周期软件生存周期把软件从产生、发展到成熟、直至衰亡为止(SW life cycle)哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20特点:上一阶段的变换结果 是下一阶段的变换的 输入,相邻两个阶段 具有因果关系,紧密 相联。
需求分析需求分析问题定义问题定义可性行研究可性行研究计划计划时期时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发开发时期时期运行与维护运行与维护运运 行行时时 期期软件生存周期模型(瀑布模型 Waterfall Model)哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20原型模型(Prototype Model)加工原型原型原型:是指模拟某种产品的原始模型快速分析和设计建造原型客户评价原型1、原型系统仅包括未来系统的 主要功能,以及系统的重要 接口2、为了尽快向用户提供原型,开发原型系统时应尽量使用 能缩短开发周期的语言和工 具哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 第二章第二章 问题的定义与可性行研究问题的定义与可性行研究 当我们在着手做任何一件工作以前,必须明确工作的性质、任务,制定完成任务的计划,这是非常必要的同样对于软件产品的开发,显然也应该解决好这样类似的问题,明确该软件产品开发的任务,以及完成任务的价值从而制定出完成任务的计划那么问题的定义和可性行研究就是制定软件系统的计划的第一步所以在软件工程中把这一步称为 计划时期 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20开始问题定义可性行研究 可行否?项目实施计划终止项目的建议结束Y计划时期的工作流程图N 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20Who 为谁设计,用户是谁?What 要解决哪些问题?Why 为什么要解决这些问题 3W Win CE1.0 有用的软件有用的软件 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202.1 现状调查和问题的定义现状调查和问题的定义 目的目的:弄清楚用户要求计算机解决什么问题弄清楚用户要求计算机解决什么问题任务任务:编写系统目标与规范说明书编写系统目标与规范说明书 系统目标与规范说明书系统目标与规范说明书系统目标与规范说明书系统目标与规范说明书1 1 1 1、项目:教材销售系统、项目:教材销售系统、项目:教材销售系统、项目:教材销售系统2 2 2 2、问题:人工销售教材手续繁琐,容易出错、问题:人工销售教材手续繁琐,容易出错、问题:人工销售教材手续繁琐,容易出错、问题:人工销售教材手续繁琐,容易出错3 3 3 3、项目目标:建立一个高效率、无差错的计算机教材销售系统、项目目标:建立一个高效率、无差错的计算机教材销售系统、项目目标:建立一个高效率、无差错的计算机教材销售系统、项目目标:建立一个高效率、无差错的计算机教材销售系统4 4 4 4、项目范围:利用现有的计算机,软件开发费用不得超过、项目范围:利用现有的计算机,软件开发费用不得超过、项目范围:利用现有的计算机,软件开发费用不得超过、项目范围:利用现有的计算机,软件开发费用不得超过2000200020002000元元元元5 5 5 5、初步想法:建议在系统中增加对缺书的统计与采购功能、初步想法:建议在系统中增加对缺书的统计与采购功能、初步想法:建议在系统中增加对缺书的统计与采购功能、初步想法:建议在系统中增加对缺书的统计与采购功能6 6 6 6、可性行研究:建议进行大约、可性行研究:建议进行大约、可性行研究:建议进行大约、可性行研究:建议进行大约10101010天的可性行研究,且研究费用不超过天的可性行研究,且研究费用不超过天的可性行研究,且研究费用不超过天的可性行研究,且研究费用不超过500500500500元元元元 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202.2 可行性研究与论证可行性研究与论证 1、经济可行性:进行成本效益分析,评估项目的开发成本。
基于计算机系统的成本由四部分组成1、购置软、硬件及有关设备费用2、系统开发费用3、系统安装和维护费用4、人员培训费用费用其论证的焦点是:围绕着对系统开发的价值价值进行论证 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20举例:关于开发CAD系统的软件开发成本及效益分析 1 2 3 4 5 年604020 0成本-效益(万元)该系统节省经费该系统成本盈亏平衡点投资回收期-成本及效益分析图 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202、技术可行性:对系统的性能、可靠性、可维护性以及生产率等方面的信息进行评价通过技术可行性的分析,将为新系统提交技术可行性评估以指明为完成系统的功能和性能需要什么技术?需要哪些材料、方法、算法、或者过程等 技术可行性分析方法-数学模型和优化技术、概率和统计、排队论、控制论等方法哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20可行性论证报告1、系统概述2、可行性分析3、拟订开发计划4、结论意见 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202.3 可行性分析所需工具可行性分析所需工具(系流程图与系统结构图)1、系统流程图:是用来描述系统物理模型的一种传统工具。
流程符号含 义流程符号含 义数据加工符号换页连接 输入/输出符号磁带符号连接点符号文档符号人工操作多文档符号 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20流程符号含 义流程符号含 义显示器或终端机控制流符号磁盘机或数据库流程开始与结束 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 举例库存清单系统流程图库存清单程序库存清单程序定货报告定货报告事务事务定货信息定货信息结束结束报告生成程序报告生成程序零件库零件库 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20人工销售教材 流程图结束结束结束结束学生学生学生学生申请购申请购申请购申请购书书书书 购书证明购书证明购书证明购书证明检索教材检索教材检索教材检索教材帐本是帐本是帐本是帐本是否有该否有该否有该否有该教材教材教材教材购书单购书单购书单购书单开购书发开购书发开购书发开购书发票和购票和购票和购票和购书单书单书单书单购书发票购书发票购书发票购书发票到书库到书库到书库到书库领书领书领书领书 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20计算机售书系统流程图结束结束结束结束学生学生学生学生购书发票购书发票购书发票购书发票到书库到书库到书库到书库领书领书领书领书 购书单购书单购书单购书单终端终端终端终端审查并审查并审查并审查并开发票开发票开发票开发票1 11-1-学生各学期用书数据库学生各学期用书数据库学生各学期用书数据库学生各学期用书数据库购书单购书单购书单购书单2 2 2-2-教材存量数据库教材存量数据库教材存量数据库教材存量数据库 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20练练练练习习习习 设某城市招干考试成绩统计系统。
设某城市招干考试成绩统计系统设某城市招干考试成绩统计系统设某城市招干考试成绩统计系统考生分三个专业,不同专业考试科目不同:考生分三个专业,不同专业考试科目不同:考生分三个专业,不同专业考试科目不同:考生分三个专业,不同专业考试科目不同:法律专业法律专业法律专业法律专业-考政治、语文、法律考政治、语文、法律考政治、语文、法律考政治、语文、法律 行政专业行政专业行政专业行政专业-考政治、语文、行政考政治、语文、行政考政治、语文、行政考政治、语文、行政 财经专业财经专业财经专业财经专业-考政治、语文、财经学考政治、语文、财经学考政治、语文、财经学考政治、语文、财经学 每个考生在报名时登记姓名、地址、年龄和报考专业报每个考生在报名时登记姓名、地址、年龄和报考专业报每个考生在报名时登记姓名、地址、年龄和报考专业报每个考生在报名时登记姓名、地址、年龄和报考专业报 名后招干办公室根据专业考生专业及地址在市区或郊区来编排名后招干办公室根据专业考生专业及地址在市区或郊区来编排名后招干办公室根据专业考生专业及地址在市区或郊区来编排名后招干办公室根据专业考生专业及地址在市区或郊区来编排 准考证号码和考场考生参加考试后,输入每个考生的各门课准考证号码和考场。
考生参加考试后,输入每个考生的各门课准考证号码和考场考生参加考试后,输入每个考生的各门课准考证号码和考场考生参加考试后,输入每个考生的各门课 程的成绩,并统计出每个考生三门课程的总成绩按准考证号程的成绩,并统计出每个考生三门课程的总成绩按准考证号程的成绩,并统计出每个考生三门课程的总成绩按准考证号程的成绩,并统计出每个考生三门课程的总成绩按准考证号 的顺序打印出考生考试成绩单,分发给每个考生各专业分别的顺序打印出考生考试成绩单,分发给每个考生各专业分别的顺序打印出考生考试成绩单,分发给每个考生各专业分别的顺序打印出考生考试成绩单,分发给每个考生各专业分别 将考生按成绩总分从高到低的次序排序,以便决定录取名单将考生按成绩总分从高到低的次序排序,以便决定录取名单将考生按成绩总分从高到低的次序排序,以便决定录取名单将考生按成绩总分从高到低的次序排序,以便决定录取名单请画出由下列文字描述的系统流程图请画出由下列文字描述的系统流程图请画出由下列文字描述的系统流程图请画出由下列文字描述的系统流程图 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202、系统结构图:系统工程师用结构摸板开发的系统模型用户界面处理用户界面处理用户界面处理用户界面处理输输输输入入入入处处处处理理理理维护和自测试维护和自测试维护和自测试维护和自测试处理和控制功能处理和控制功能处理和控制功能处理和控制功能输输输输出出出出处处处处理理理理-结构摸板-哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20-传输线的分类系统 3、系统结构环境图(ACD-Architecture Context Diagram):ACD 可用于描述实现系统与系统运行环境之间的信息边界。
哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20传输线分类系统条形码阅读器传输线分配站操作员分配站操作员分类机构主 机条形码线速指示器分路命令格式化报告数据查询查询及报告诊断数据-传输线分类系统的 ACD 图处理与控制功能区外部实体 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 ACD 的层次结构ABC 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20作作作作请画出学生成绩管理系统的 ACD 图 业业业业 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 第第3 章章 软件需求分析软件需求分析 软件需求分析是软件开发早期的一个重要阶段它在问题定义和可行性研究阶段之后进行需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求这是关系到软件开发成败的关键步骤,也是整个系统开发的基础软件需求分析阶段要求用 需求规格说明书(SRS)来表达用户对系统的要求规格说明书可用文字方式表示,也可用图形表示本章将介绍需求分析的任务、步骤、需求分析方法任务、步骤、需求分析方法任务、步骤、需求分析方法任务、步骤、需求分析方法(面向数据流图分析方法、面向对象的分析方法)。
哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20一、确定目标系统的具体要求一、确定目标系统的具体要求一、确定目标系统的具体要求一、确定目标系统的具体要求1 1 1 1、确定系统的运行环境要求、确定系统的运行环境要求、确定系统的运行环境要求、确定系统的运行环境要求2 2 2 2、系统的性能要求、系统的性能要求、系统的性能要求、系统的性能要求 3 3 3 3、系统功能、系统功能、系统功能、系统功能 3.1 需求分析的任务需求分析的任务 硬件环境和软件环境硬件环境和软件环境硬件环境和软件环境硬件环境和软件环境 确定目标系统具备的所有功能确定目标系统具备的所有功能确定目标系统具备的所有功能确定目标系统具备的所有功能 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20举举例例数据库中存放的是职工的数据库中存放的是职工的数据库中存放的是职工的数据库中存放的是职工的某学校医疗费管理系统所属部门、职工号、姓名所属部门、职工号、姓名所属部门、职工号、姓名所属部门、职工号、姓名职工报销时应填写:职工报销时应填写:职工报销时应填写:职工报销时应填写:所属部门、职工号、姓名、日期所属部门、职工号、姓名、日期所属部门、职工号、姓名、日期所属部门、职工号、姓名、日期 校内门诊、校外门诊、住院费、子女医疗费校内门诊、校外门诊、住院费、子女医疗费校内门诊、校外门诊、住院费、子女医疗费校内门诊、校外门诊、住院费、子女医疗费 医疗费分类:医疗费分类:医疗费分类:医疗费分类:该校规定,每年每个职工的医疗费有一个限额(如该校规定,每年每个职工的医疗费有一个限额(如该校规定,每年每个职工的医疗费有一个限额(如该校规定,每年每个职工的医疗费有一个限额(如 80 80 80 80元),限元),限元),限元),限 额在年初确定,其限额规则如下:额在年初确定,其限额规则如下:额在年初确定,其限额规则如下:额在年初确定,其限额规则如下:1 1 1 1、每个职工一年内报销的医疗费不超过限额时,全部报销、每个职工一年内报销的医疗费不超过限额时,全部报销、每个职工一年内报销的医疗费不超过限额时,全部报销、每个职工一年内报销的医疗费不超过限额时,全部报销 2 2 2 2、超额,则超出部分只可报销、超额,则超出部分只可报销、超额,则超出部分只可报销、超额,则超出部分只可报销90%90%90%90%,其余,其余,其余,其余10%10%10%10%由职工个人负担由职工个人负担由职工个人负担由职工个人负担 3 3 3 3、职工子女的医疗费也有限额(如、职工子女的医疗费也有限额(如、职工子女的医疗费也有限额(如、职工子女的医疗费也有限额(如 40 40 40 40元)元)元)元)哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 1 1、医疗费管理系统每天医疗费管理系统每天记录记录当天报销的若干职工或职工子女的医当天报销的若干职工或职工子女的医 疗费的疗费的类别、金额类别、金额。
2 2、在当天下班前让系统在当天下班前让系统自动结帐自动结帐、统计当天报销的医疗费总额统计当天报销的医疗费总额,供,供 出纳员核对出纳员核对3 3、每笔帐要保存备查,每天所报销的费用要和各个职工已报销的金每笔帐要保存备查,每天所报销的费用要和各个职工已报销的金 额累计起来,以便检查哪些职工已超额额累计起来,以便检查哪些职工已超额4 4、系统还要配有适当的系统还要配有适当的查询功能查询功能5 5、年终结算后,下一年度开始时要对数据库文件进行初始化年终结算后,下一年度开始时要对数据库文件进行初始化6 6、当职工调离本单位,职工调如本单位或在本单位内部门间调动,当职工调离本单位,职工调如本单位或在本单位内部门间调动,数据库文件应能及时得到修改数据库文件应能及时得到修改请完成对上述系统的 需求分析用户对系统的要求 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 该系统规模不太大,可以和用户单位的其他管理系统该系统规模不太大,可以和用户单位的其他管理系统该系统规模不太大,可以和用户单位的其他管理系统该系统规模不太大,可以和用户单位的其他管理系统使用使用使用使用相同的计算机硬件设备相同的计算机硬件设备相同的计算机硬件设备相同的计算机硬件设备、相同的操作系统相同的操作系统相同的操作系统相同的操作系统和和和和相同的关相同的关相同的关相同的关 系数据库管理系统系数据库管理系统系数据库管理系统系数据库管理系统。
如果,可以使用汉化了的数据库管理系统,但在建立如果,可以使用汉化了的数据库管理系统,但在建立如果,可以使用汉化了的数据库管理系统,但在建立如果,可以使用汉化了的数据库管理系统,但在建立数据库结构时,凡是用英文名称来代表字段名时,则必须数据库结构时,凡是用英文名称来代表字段名时,则必须数据库结构时,凡是用英文名称来代表字段名时,则必须数据库结构时,凡是用英文名称来代表字段名时,则必须在数据字典中予以说明在数据字典中予以说明在数据字典中予以说明在数据字典中予以说明1 1 1 1、确定系统的环境要求、确定系统的环境要求、确定系统的环境要求、确定系统的环境要求 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/203 3 3 3、系统的功能、系统的功能、系统的功能、系统的功能 (1 1 1 1)具有表格形式屏幕的输入格式)具有表格形式屏幕的输入格式)具有表格形式屏幕的输入格式)具有表格形式屏幕的输入格式 (2 2 2 2)具有重复录入数据的功能)具有重复录入数据的功能)具有重复录入数据的功能)具有重复录入数据的功能 (3 3 3 3)具有查询和统计汇总的功能)具有查询和统计汇总的功能)具有查询和统计汇总的功能)具有查询和统计汇总的功能 (4 4 4 4)职工的调入和调出以及对数据库的初始化)职工的调入和调出以及对数据库的初始化)职工的调入和调出以及对数据库的初始化)职工的调入和调出以及对数据库的初始化 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202 2 2 2、系统性能要求、系统性能要求、系统性能要求、系统性能要求 (1 1 1 1)数据不能随意更改)数据不能随意更改)数据不能随意更改)数据不能随意更改 2 2 2 2)保证数据的准确性)保证数据的准确性)保证数据的准确性)保证数据的准确性 由于医疗费管理系统涉及到会计经费问题,由于医疗费管理系统涉及到会计经费问题,由于医疗费管理系统涉及到会计经费问题,由于医疗费管理系统涉及到会计经费问题,数据不能数据不能数据不能数据不能随意更改随意更改随意更改随意更改但数据输入又难免会出错。
因而在每输入一个职但数据输入又难免会出错因而在每输入一个职但数据输入又难免会出错因而在每输入一个职但数据输入又难免会出错因而在每输入一个职工的医疗费后,屏幕提示工的医疗费后,屏幕提示工的医疗费后,屏幕提示工的医疗费后,屏幕提示“数据有误吗?数据有误吗?数据有误吗?数据有误吗?”若是在核对时若是在核对时若是在核对时若是在核对时 有误,可及时更改,避免输入错误一天报销结束时,在有误,可及时更改,避免输入错误一天报销结束时,在有误,可及时更改,避免输入错误一天报销结束时,在有误,可及时更改,避免输入错误一天报销结束时,在 数据存档前,再让出纳员核对一下经费总额,若出纳员支数据存档前,再让出纳员核对一下经费总额,若出纳员支数据存档前,再让出纳员核对一下经费总额,若出纳员支数据存档前,再让出纳员核对一下经费总额,若出纳员支 出的金额总数有误时,应让计算机显示每笔帐目,供一一出的金额总数有误时,应让计算机显示每笔帐目,供一一出的金额总数有误时,应让计算机显示每笔帐目,供一一出的金额总数有误时,应让计算机显示每笔帐目,供一一 仔细核对,此时在允许修改一次当正式登帐后,数据就仔细核对,此时在允许修改一次。
当正式登帐后,数据就仔细核对,此时在允许修改一次当正式登帐后,数据就仔细核对,此时在允许修改一次当正式登帐后,数据就 绝对不允许在修改了,由此保证财务制度的严格性,保证绝对不允许在修改了,由此保证财务制度的严格性,保证绝对不允许在修改了,由此保证财务制度的严格性,保证绝对不允许在修改了,由此保证财务制度的严格性,保证 数据的安全性数据的安全性数据的安全性数据的安全性哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20二、建立目标系统的逻辑模型二、建立目标系统的逻辑模型二、建立目标系统的逻辑模型二、建立目标系统的逻辑模型 通常软件软件开发项目是要实现目标系统的物理模型,即通常软件软件开发项目是要实现目标系统的物理模型,即通常软件软件开发项目是要实现目标系统的物理模型,即通常软件软件开发项目是要实现目标系统的物理模型,即 确定待开发软件系统的系统元素,并将功能和数据结构分配到确定待开发软件系统的系统元素,并将功能和数据结构分配到确定待开发软件系统的系统元素,并将功能和数据结构分配到确定待开发软件系统的系统元素,并将功能和数据结构分配到 这些系统元素中它是软件实现的基础这些系统元素中它是软件实现的基础。
这些系统元素中它是软件实现的基础这些系统元素中它是软件实现的基础但是目标系统的物理模型是由它的逻辑模型经实例化,即但是目标系统的物理模型是由它的逻辑模型经实例化,即但是目标系统的物理模型是由它的逻辑模型经实例化,即但是目标系统的物理模型是由它的逻辑模型经实例化,即 具体到某个业务领域而得到的与物理模型不同,逻辑模型忽具体到某个业务领域而得到的与物理模型不同,逻辑模型忽具体到某个业务领域而得到的与物理模型不同,逻辑模型忽具体到某个业务领域而得到的与物理模型不同,逻辑模型忽 视机制和细节,只描述系统要完成的功能和要处理的数据视机制和细节,只描述系统要完成的功能和要处理的数据视机制和细节,只描述系统要完成的功能和要处理的数据视机制和细节,只描述系统要完成的功能和要处理的数据为此,该阶段的主要任务是,为此,该阶段的主要任务是,为此,该阶段的主要任务是,为此,该阶段的主要任务是,借助于当前系统的逻辑模型借助于当前系统的逻辑模型借助于当前系统的逻辑模型借助于当前系统的逻辑模型 导出目标系统的逻辑模型导出目标系统的逻辑模型导出目标系统的逻辑模型导出目标系统的逻辑模型,也就是解决目标系统,也就是解决目标系统,也就是解决目标系统,也就是解决目标系统“做什么做什么做什么做什么”的问的问的问的问 题。
题哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20用户用户用户用户调查调查调查调查具体模型具体模型具体模型具体模型建立系统模型的工作流程建立系统模型的工作流程建立系统模型的工作流程建立系统模型的工作流程逻辑逻辑逻辑逻辑抽象抽象抽象抽象当前系统当前系统当前系统当前系统逻辑模型逻辑模型逻辑模型逻辑模型当前系统当前系统当前系统当前系统计算计算计算计算机化机化机化机化评审评审评审评审修改修改修改修改正式模型正式模型正式模型正式模型完善完善完善完善细节细节细节细节目标系统目标系统目标系统目标系统目标系统目标系统目标系统目标系统初始模型初始模型初始模型初始模型经认可的经认可的经认可的经认可的问题需求问题需求系统模型系统模型系统模型系统模型用户用户用户用户 1、建立目标系统逻辑模型的步骤 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20图形工具 数据流图 数据字典 2、建立目标系统逻辑模型的图形工具 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 -学生购买教材的具体模型 举举例例请建立计算机请建立计算机请建立计算机请建立计算机售书系统的逻辑模型售书系统的逻辑模型售书系统的逻辑模型售书系统的逻辑模型张张张张秘书秘书秘书秘书学学学学生生生生购书购书购书购书 购书购书购书购书 王王王王会计会计会计会计发票发票发票发票李李李李出纳出纳出纳出纳领书领书领书领书赵赵赵赵保管保管保管保管单单单单申请申请申请申请证明证明证明证明书书书书 -学生购买教材的 逻辑模型 审查审查审查审查有效性有效性有效性有效性学学学学生生生生有效有效有效有效购书单购书单购书单购书单 开发票开发票开发票开发票发票发票发票发票开领开领开领开领书单书单书单书单领书单领书单领书单领书单发书发书发书发书购书单购书单购书单购书单书书书书 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 -学生购买教材的学生购买教材的学生购买教材的学生购买教材的 逻辑模型逻辑模型逻辑模型逻辑模型 审查并审查并审查并审查并开发票开发票开发票开发票学学学学生生生生发票发票发票发票购书单购书单购书单购书单 各班学生用书表各班学生用书表各班学生用书表各班学生用书表教材存量表教材存量表教材存量表教材存量表无效书单无效书单无效书单无效书单开领开领开领开领书单书单书单书单领书单领书单领书单领书单学学学学生生生生 完善目标系统并补充细节,的出目标系统的正式逻辑模型 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20三、需求规格说明书与评审三、需求规格说明书与评审三、需求规格说明书与评审三、需求规格说明书与评审 软件需求说明书软件需求说明书软件需求说明书软件需求说明书 -SRS(Software Requirement Specification)SRS(Software Requirement Specification)主要包括以下的内容主要包括以下的内容主要包括以下的内容主要包括以下的内容:SRSSRS 引言引言引言引言 数据描述数据描述数据描述数据描述 数据流图数据流图数据流图数据流图 数据字典数据字典数据字典数据字典 功能描述功能描述功能描述功能描述 性能描述性能描述性能描述性能描述 特殊需求特殊需求特殊需求特殊需求 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20一、数据流图一、数据流图 3.2 面向数据流的方法面向数据流的方法 -DFD(Data Flow Diagram)是用来描述系统逻辑模型的一种图形工具。
是用来描述系统逻辑模型的一种图形工具数据流图从数据传递和加工的角度,以图形的方式数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程刻画数据流从输入到输出的移动变换过程DFD 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20储储储储户户户户检验检验检验检验付款付款付款付款登录登录登录登录存折存折存折存折帐卡帐卡帐卡帐卡取款取款取款取款信息信息信息信息办理取款手续的办理取款手续的办理取款手续的办理取款手续的 DFD DFD 图图图图检验不合格检验不合格检验不合格检验不合格现款现款现款现款付款信息付款信息付款信息付款信息取款单取款单取款单取款单存折存折存折存折 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/201 1 1 1、数据流图中的主要图形元素、数据流图中的主要图形元素、数据流图中的主要图形元素、数据流图中的主要图形元素-转换数据流的处理过程转换数据流的处理过程转换数据流的处理过程转换数据流的处理过程 -可以是数据库文件或任何形式的数可以是数据库文件或任何形式的数可以是数据库文件或任何形式的数可以是数据库文件或任何形式的数 据组织箭头向内则表示写入文件据组织。
箭头向内则表示写入文件据组织箭头向内则表示写入文件据组织箭头向内则表示写入文件 或查询文件,箭头向外则表示从文或查询文件,箭头向外则表示从文或查询文件,箭头向外则表示从文或查询文件,箭头向外则表示从文 件中读取数据或得到查询结果件中读取数据或得到查询结果件中读取数据或得到查询结果件中读取数据或得到查询结果 数据转换数据转换数据转换数据转换外部实体外部实体外部实体外部实体 -位于软件系统边界之外的信息生产者位于软件系统边界之外的信息生产者位于软件系统边界之外的信息生产者位于软件系统边界之外的信息生产者 或或或或 消费者消费者消费者消费者数据流数据流数据流数据流 -在转换之间有向流动的数据项或数据在转换之间有向流动的数据项或数据在转换之间有向流动的数据项或数据在转换之间有向流动的数据项或数据 集合集合集合集合数据存储文件数据存储文件数据存储文件数据存储文件 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20-系统系统逻辑逻辑模型模型数据的数据的数据的数据的加工或加工或加工或加工或变换变换变换变换输入输入输入输入输出输出输出输出软件软件软件软件系统系统系统系统外部实体外部实体外部实体外部实体外部实体外部实体外部实体外部实体 外部实体外部实体外部实体外部实体外部实体外部实体外部实体外部实体 输入输入输入输入数据流数据流数据流数据流输入输入输入输入数据流数据流数据流数据流输出输出输出输出数据流数据流数据流数据流输出输出输出输出数据流数据流数据流数据流 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 -学生购买教材的学生购买教材的学生购买教材的学生购买教材的 逻辑模型逻辑模型逻辑模型逻辑模型 审查并审查并审查并审查并开发票开发票开发票开发票学学学学生生生生发票发票发票发票购书单购书单购书单购书单 各班学生用书表各班学生用书表各班学生用书表各班学生用书表教材存量表教材存量表教材存量表教材存量表无效书单无效书单无效书单无效书单开领开领开领开领书单书单书单书单领书单领书单领书单领书单学学学学生生生生外部外部外部外部实体实体实体实体数据的数据的数据的数据的加工加工加工加工 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/202 2 2 2、数据流图中的其它图形元素、数据流图中的其它图形元素、数据流图中的其它图形元素、数据流图中的其它图形元素A AB BC C-有有有有 A A 则则则则 B B 或者或者或者或者 C C,或者两者都有或者两者都有或者两者都有或者两者都有*A AB BC C+A AB BC C-有有有有 A A 则则则则 B B 与与与与 C C,或者两者同时有或者两者同时有或者两者同时有或者两者同时有-有有有有 A A 则则则则 B B 或或或或 C C,但不会同时有但不会同时有但不会同时有但不会同时有B B与与与与C C 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20-标识多个数据流与加工之间关系的符号标识多个数据流与加工之间关系的符号标识多个数据流与加工之间关系的符号标识多个数据流与加工之间关系的符号-当当当当 A A 或或或或 B B 有一个存在就有有一个存在就有有一个存在就有有一个存在就有 C CA AB BC C*A AB BC C-只有当只有当只有当只有当 A A 与与与与 B B 都存在,则有都存在,则有都存在,则有都存在,则有 C C 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/203 3 3 3、分层的数据流图、分层的数据流图、分层的数据流图、分层的数据流图 F0F0A0A0B0B0F11F11A0A0B0B0F12F12F13F13F14F14F15F15p1p1C1C1D1D1M1M1N1N1F21F21M1M1F22F22N1N1F23F23K2K2F24F24W2W2F25F25p1p1Y2Y2X2X2第第第第 n n 层层层层第第第第 n+1n+1 层层层层第第第第 n+2n+2 层层层层 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20人工销售教材人工销售教材人工销售教材人工销售教材 系统流程图系统流程图系统流程图系统流程图学生学生学生学生开购书开购书开购书开购书证明证明证明证明购书购书购书购书证明证明证明证明开购书开购书开购书开购书发票发票发票发票 发发发发 票票票票收书费收书费收书费收书费 领书单领书单领书单领书单发书发书发书发书学生学生学生学生举举例例 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20学学学学生生生生教材教材教材教材购购购购销销销销系统系统系统系统购书单购书单购书单购书单领书单领书单领书单领书单缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知进书通知进书通知进书通知进书通知保保保保管员管员管员管员1 1销售销售销售销售购书单购书单购书单购书单领书单领书单领书单领书单学学学学生生生生缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知2 2采购采购采购采购保保保保管员管员管员管员第第第第 1 1 层层层层第第第第 2 2 层层层层 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 缺书登记表缺书登记表缺书登记表缺书登记表 F2F2F2F2外部实体外部实体 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20 教材销售子系统教材销售子系统教材销售子系统教材销售子系统 无效书单无效书单无效书单无效书单购书单购书单购书单购书单1.31.3登记并开登记并开登记并开登记并开领书单领书单领书单领书单1.21.2开发票开发票开发票开发票1.11.1审查审查审查审查有效性有效性有效性有效性1.41.4登记登记登记登记缺书缺书缺书缺书1.51.5补售补售补售补售教材教材教材教材采采采采购购购购学学学学生生生生学学学学生生生生进书通知进书通知进书通知进书通知有效书单有效书单有效书单有效书单发票发票发票发票领书单领书单领书单领书单暂缺书单暂缺书单暂缺书单暂缺书单1 1销售销售销售销售购书单购书单购书单购书单领书单领书单领书单领书单缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知2 2采购采购采购采购进书通知进书通知进书通知进书通知缺书登记表缺书登记表缺书登记表缺书登记表教材存量表教材存量表教材存量表教材存量表学学学学生生生生保保保保管员管员管员管员第第第第 2 2 层层层层补售补售补售补售书单书单书单书单第第第第 3 3 层层层层 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 缺书登记表缺书登记表缺书登记表缺书登记表 F2F2F2F2 F1书号书号单价单价数量数量 各班用书表各班用书表各班用书表各班用书表 F3F3F3F3 售书登记表售书登记表售书登记表售书登记表 F4F4F4F4外部外部外部外部项项项项 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/201 1销售销售销售销售购书单购书单购书单购书单领书单领书单领书单领书单缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知2 2采购采购采购采购进书通知进书通知进书通知进书通知缺书登记表缺书登记表缺书登记表缺书登记表教材存量表教材存量表教材存量表教材存量表学学学学生生生生保保保保管员管员管员管员采购采购采购采购 子系统子系统子系统子系统 第第第第 2 2 层层层层第第第第 3 3 层层层层缺书单缺书单缺书单缺书单2.32.3修改教材库修改教材库修改教材库修改教材库存和待存和待存和待存和待购量购量购量购量销销销销售售售售进书通知进书通知进书通知进书通知进书通知进书通知进书通知进书通知2.12.1按书号汇按书号汇按书号汇按书号汇总缺书总缺书总缺书总缺书2.22.2按出版社统按出版社统按出版社统按出版社统计缺书计缺书计缺书计缺书保保保保管员管员管员管员 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 待购教材表待购教材表待购教材表待购教材表 F5F5F5F5 教材一览表教材一览表教材一览表教材一览表 F6F6F6F6 缺书登记表缺书登记表缺书登记表缺书登记表 F2F2F2F2 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20.便于实现便于实现便于实现便于实现.便于使用便于使用便于使用便于使用-采用采用采用采用逐步细化逐步细化逐步细化逐步细化的扩展方法,可避免一的扩展方法,可避免一的扩展方法,可避免一的扩展方法,可避免一 次引入过多的细节,有利于控制问题次引入过多的细节,有利于控制问题次引入过多的细节,有利于控制问题次引入过多的细节,有利于控制问题 的复杂度;的复杂度;的复杂度;的复杂度;-用一组图代替一张总图,方便用户及用一组图代替一张总图,方便用户及用一组图代替一张总图,方便用户及用一组图代替一张总图,方便用户及 软件开发人员阅读。
软件开发人员阅读软件开发人员阅读软件开发人员阅读4 4 4 4、分层、分层、分层、分层 DFD 图的优点图的优点图的优点图的优点 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20.注意父图和子图的平衡注意父图和子图的平衡注意父图和子图的平衡注意父图和子图的平衡5 5 5 5、画分层、画分层、画分层、画分层 DFD 的指导原则的指导原则的指导原则的指导原则发票发票发票发票1.31.3开领书单开领书单开领书单开领书单领书单领书单领书单领书单(a)a)父图父图父图父图 1.3.11.3.1学生学生学生学生领书单领书单领书单领书单1.3.21.3.21.3.31.3.3教材教材教材教材(a)a)子图子图子图子图 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20.区分局部文件和局部外部项区分局部文件和局部外部项区分局部文件和局部外部项区分局部文件和局部外部项.掌握分解的速度掌握分解的速度掌握分解的速度掌握分解的速度 一般来说,每一个加工每次可分为一般来说,每一个加工每次可分为一般来说,每一个加工每次可分为一般来说,每一个加工每次可分为 2-42-42-42-4个子加工,最个子加工,最个子加工,最个子加工,最 多不得超过多不得超过多不得超过多不得超过 7 7 7 7 个。
个遵守加工编号规则遵守加工编号规则遵守加工编号规则遵守加工编号规则 顶层加工不编号第二层的加工编号为顶层加工不编号第二层的加工编号为顶层加工不编号第二层的加工编号为顶层加工不编号第二层的加工编号为1,2,3,1,2,3,1,2,3,1,2,3,n n n n号第三层编号为第三层编号为第三层编号为第三层编号为1.1,1.2,1.31.1,1.2,1.31.1,1.2,1.31.1,1.2,1.3n.1,n.2n.1,n.2n.1,n.2n.1,n.2等号,依此类推等号,依此类推等号,依此类推等号,依此类推哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/201 1销售销售销售销售购书单购书单购书单购书单领书单领书单领书单领书单缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知2 2采购采购采购采购进书通知进书通知进书通知进书通知缺书登记表缺书登记表缺书登记表缺书登记表教材存量表教材存量表教材存量表教材存量表学学学学生生生生保保保保管员管员管员管员采购采购采购采购 子系统子系统子系统子系统 第第第第 2 2 层层层层第第第第 3 3 层层层层缺书单缺书单缺书单缺书单2.32.3修改教材库修改教材库修改教材库修改教材库存和待存和待存和待存和待购量购量购量购量销销销销售售售售进书通知进书通知进书通知进书通知进书通知进书通知进书通知进书通知2.12.1按书号汇按书号汇按书号汇按书号汇总缺书总缺书总缺书总缺书2.22.2按出版社统按出版社统按出版社统按出版社统计缺书计缺书计缺书计缺书保保保保管员管员管员管员 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 待购教材表待购教材表待购教材表待购教材表 F5F5F5F5 教材一览表教材一览表教材一览表教材一览表 F6F6F6F6 缺书登记表缺书登记表缺书登记表缺书登记表 F2F2F2F2局部局部局部局部外部项外部项外部项外部项局部局部局部局部文件文件文件文件 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20练练练练请画出学生成绩管理系统的 DFD 图 习习习习 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/20二、数据字典二、数据字典 -DD(Data Dictionary)数据字典的任务是数据字典的任务是:对于数据流图中出现的所有被对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。
每一个图形元素的名字都有一个确切的解释DD 哈哈尔尔滨滨工工业业大大学学 韩静萍2023/10/201 1 1 1、数据字典的定义、数据字典的定义、数据字典的定义、数据字典的定义数据流名:数据流名:数据流名:数据流名:说明:简要介绍作用即它产生的原因和结果说明:简要介绍作用即它产生的原因和结果说明:简要介绍作用即它产生的原因和结果说明:简要介绍作用即它产生的原因和结果数据流来源:即该数据流来自何方数据流来源:即该数据流来自何方数据流来源:即该数据流来自何方数据流来源:即该数据流来自何方数据流去向:去向何处数据流去向:去向何处数据流去向:去向何处数据流去向:去向何处数据流组成:数据结构数据流组成:数据结构数据流组成:数据结构数据流组成:数据结构每个数据量流通量:数据量、流通量每个数据量流通量:数据量、流通量每个数据量流通量:数据量、流通量每个数据。