版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 软件工程基础2第1章课程回顾u知识点回顾: l软件计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。l程序按事先设计的功能和性能要求编写的指令序列;程序是完成指定功能的一段特定语言代码。l数据使程序能正常操纵信息的数据结构。l文档与程序开发、维护和使用有关的图文材料。l软件危机软件开发和维护中过程中遇到的一系列严重问题。3 第1章课程回顾u知识点回顾:l软件工程指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。l软件工程开发、运行、维护和修复软件的系统方法。l软件工程将系统化的、规范的、可度量的方法应用于软件
2、的开发、运行和维护的过程,即将工程化应用于软件中。4 第1章课程回顾l软件工程为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用健全的工程原理(方法)。l软件工程方法学通常指在软件生命周期全过程中使用的一整套技术的集合。软件工程方法学包括三个要素:方法、工具和过程。l软件生存期软件产品或软件系统从设计、投入使用到被淘汰的全过程。一般说来,软件生存期由软件定义、软件开发和软件维护三个时期组成,每个时期又可进一步划分成若干个阶段。5 第1章课程回顾l软件危机的典型表现(1) 对软件开发成本和进度的估计常常不很准确;(2) 用户对“已完成的”软件系统不满意的现象经常发生;(3) 软件产品
3、的质量往往靠不住;(4) 软件常常是不可维护的;(5) 软件通常没有适当的文档资料;(6) 软件成本在计算机系统中的比例逐年增加;(7) 软件开发生产率提高的速度远远跟不上计算机应用普及速度。6 第1章课程回顾l 软件工程的本质特性(1) 软件工程关注于大型程序的构造; (2) 软件工程的中心课题是控制复杂性; (3) 软件经常变化; (4) 开发软件的效率非常重要; (5) 和谐地合作是开发软件的关键; (6) 软件必须有效地支持它的用户; (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。7 第1章课程回顾l 软件工程中的7条基本原理(1) 用分阶段的生命周
4、期计划严格管理; (2) 坚持进行阶段评审; (3) 实行严格的产品控制; (4) 采用现代程序设计技术; (5) 结果应能够清楚地审查; (6) 开发小组的人员应该少而精; (7) 承认不断改进软件工程实践的必要性。8 第1章课程回顾l 常用的过程模型生命周期模型规定了把生命周期划分成几个阶段及各阶段的执行顺序,因此,也称过程模型。 常用的过程模型有瀑布模型、快速原型模型、增量模型和螺旋模型等。9 第2章可行性研究u 2.1 可行性研究的任务u 2.2 可行性研究过程u 2.3 系统流程图u 2.4 数据流图u 2.5 数据字典u 2.6 成本/效益分析u 2.7 可行性研究报告书写10 2
5、.1 可行性研究的任务u可行性研究的任务是用最小的代价、在尽可能短的时间内确定问题是否能够解决。l首先进一步分析和澄清问题定义;l分析员应该导出系统的逻辑模型;l从逻辑模型出发,探索出若干种可供选择的主要解法(即系统实现方案)。l最后仔细研究每种解法的可行性。l可行性研究的实质是一次大大压缩简化的系统分析和设计过程。11 2.1 可行性研究的任务u 实例讲评1:两个整数乘法。 解法1 解法2 解法3 unsigned a , b , c; unsigned a , b; unsigned a, b; c=a*b; int c; long int c; c=a*b; c=a*b; 可能存在溢出问
6、题! 不会存在溢出问题! 不存在溢出问题!但不合理!12 2.1 可行性研究的任务u 可行性应该从下述几方面进行:l(1)技术可行性:指使用现有的技术能否完成这个项目,度量一个特定技术信息系统解决方案的实用性及技术资源的可用性。开发风险分析:最新技术成熟度等。 资源分析:人力消耗、财力消耗、时间消耗等。 相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性)13 2.1 可行性研究的任务l (2)经济可行性:指通过对软件开发项目进行成本/效益估计,以确定软件系统可能带来的经济效益能否超过研制和维护此系统所需的费用。度量系统解决方案的性能价格比。成本/效益分析 有形成本、效益
7、无形成本、效益价值和成本的关系 质量与价值、成本的关系 价值/成本的均衡14 2.1 可行性研究的任务l(3)操作可行性用户使用可能性:公共汽车非接触式感应卡用输入密码或指纹来代替。 时间进度可行性 组织和文化上的可行性l(4)社会因素的考虑:软件开发是否会侵犯他人、集体或 国家的利益。u实质:一次简化的、高层次的、抽象的分析和设计过程!15 2.1 可行性研究的任务u 实例讲评2:“求一元二次方程的解”可行性。l问题定义:这是一个简单的数学问题(什么问题);系统要求不高,整系数方程(怎样要求);用于初中教学(哪里应用);解法简单(结论如何)。l技术上分析:能,简单此方程可以根据判别式b2-4
8、ac的值来确定方程根的情况, 即:b2-4ac0 时有两个不等实根;b2-4ac=0时有相等的两个实根;b2-4ac 0时有共轭复数根。 a ,b , c取值(unsigned , int , longint , float)类型影响求解过程和求解算法。16 2.1 可行性研究的任务l经济上分析:略l 社会效益上分析:略l 操作上:键盘、鼠标、语音提示、触摸屏等17 2.1 可行性研究的任务u 实例讲评3:系统开发和每年运行费用举例l1.系统开发费用(一次) .2名系统分析员(450小时/名,45美元/小时) $40,500 .5名系统开发人员(275小时/名,36美元/小时) $49,500
9、 .1名数据库管理员(30小时/名,42美元/小时) $1,260 .2名技术写作者(120小时/名,25美元/小时) $ 6,000 .1名秘书(160小时/名,15美元/小时) $ 2,400 .1名数据通讯专家(60小时/名,42美元/小时) $2,520 .2名在转换期间数据输入人员(40小时/名,12美元/小时)$960 合计$103,14018 2.1 可行性研究的任务l 2.培训: 三天的开发人员内部培训课程 $7,000 30个用户,三天的内部培训课程 $10,000l 3.物资: 复印 $500 磁盘、纸张等消耗品 $65019 2.1 可行性研究的任务购买硬件、软件: 20
10、台工作站Windows软件 $1,000 20台工作站内存升级 $8,000 网络软件 $17,500 20台工作站办公软件产品 $20,000系统开发总费用$161,67020 2.1 可行性研究的任务l4.年运行费用(每年) 人员: 维护程序员/分析员(250小时/年,42美元/小时) $10,500 网络管理员(300小时/年,50美元/小时) $15,000 购买硬件、软件升级: 硬件 $5,000 软件 $6,000 物资和杂项 $3,500 每年总运行费用 $40,00021 2.1 可行性研究的任务u可行性研究的任务l(1)明确目的1确定问题是否能够解决; 2是否值得解决!l(2
11、)确定内容1问题定义:明确系统目标、规模和约束条件 2导出系统逻辑模型:系统流程图、数据流图等l3提供可选解决方案22 2.1 可行性研究的任务l4可行性(内涵)分析:技术/经济/操作/维护分析等等;l 5每个方案的粗略进度;l 6方案选择建议。u可行性研究成本:5%10%。23 2.2 可行性研究过程u(1)复查系统规模和目标l定义问题l 复查定义阶段的报告书,清晰限制和约束:目标、规模、全部约束u(2)研究目前正在使用的系统l1分析已有或相关系统技术和应用现状:找问题/总体上l 2分析系统的技术文档和使用手册:了解问题、挖掘问题/微观上24 2.2 可行性研究过程l3实地考察现有系统:wh
12、at/why/howl 4重点在于“能做什么”,而不是“如何做什么”。 即:只关心高层系统流程图l 5避免花费过多时间分析现有系统l 6关注约束条件u(3)导出新系统的高层逻辑模型l现有的物理系统现有系统的逻辑模型目标系统的逻辑模型新的物理系统25 2.2 可行性研究过程u(4)重新定义问题l1以数据流图、数据字典为基础l 2需要得到用户的认可,避免疏漏、误解l 3这是一个循环过程,直到完全符合系统要求u(5)导出和评价供选择的方案l1从技术角度解决的不同方案:eg1:控件和程序;eg2:中断与查询26 2.2 可行性研究过程l2从操作方面的可行性:管理习惯、行为习惯、人员素质等;l 3从经济
13、方面的可行性:开发成本/运行成本/开支变化等l 4确定进度表u(6)推荐方案和行动方针l分析员给出结论给出理由27 2.2 可行性研究过程u(7)草拟开发计划l1进度表;l 2人力资源:系统分析员、程序员、资料员等;l 3设备资源等。u(8)书写文档、提交审查28 2.3 系统流程图u系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每一个部件(程序、文件、数据库、表格、人工过程等)。l尽管系统流程图使用的某些符号和程序流程图所用的符号相同,但系统流程图表达的是信息在系统中各个部件之间流动的情况,而不是对信息进行加工处理的控制过程。29 2.3 系统流程图3
14、0 2.3 系统流程图31 2.3 系统流程图32 2.3 系统流程图33 2.3 系统流程图u实例讲评6:仓库订货管理系统之系统流程图34 2.3 系统流程图u实例讲评7:口算高手之系统流程图35 2.4 数据流图u数据流图英文Data Flow Diagram ,简称DFDu DFD是一种描述逻辑模型的图形工具,表示数据在系统内的变化。u 图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。u DFD从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。36 2.4 数据流图u数据流图中的符号/图形元素:l 正方形:源点或终点;l 圆角矩形:处理;l 开口
15、矩形:数据存储;l 箭头:流动方向37 2.4 数据流图l数据流图的基本图形元素(1)数据流:是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。 (2)加工:是对数据流执行的某种操作或变换。在数据流图中加工用圆圈表示,在圆圈内写上加工名。 (3)文件:是按照某种规则组织起来的、长度不限的数据。在数据流图中文件用一直线表示,在线段旁注上文件名。 (4)数据流的源点和终点:在数据流图中用方框表示,在框内写上相应的名称。38 2.4 数据流图u由外向里画数据流图的步骤/画法l(1)确定系统的输入输出 由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全
16、部都包括进去。 应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息。 根据用户的答复画出数据流图的外围。39 2.4 数据流图l (2)由外向里画系统的顶层数据流图首先,将系统的输入数据和输出数据用一连串的加工连接起来。 在数据流的值发生变化的地方就是一个加工。 给各个加工命名。 然后,给加工之间的数据命名。 最后,给文件命名。40 2.4 数据流图l(3)自顶向下逐层分解,绘出分层数据流图对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。uDFD可以用来表示一个系统或软件在任何层次上
17、的抽象。较大型软件系统DFD分成多层(子图、父图概念),可以表示数据流和功能的进一步的细节。41 2.4 数据流图u实例讲评8:仓库订货系统数据流图实例42 2.4 数据流图43 2.4 数据流图44 2.4 数据流图45 2.4 数据流图46 2.4 数据流图u实例讲评9:口算高手的输入/输出47 2.4 数据流图u实例讲评9:口算高手顶层数据流图48 2.4 数据流图u实例讲评10:客房管理系统输入/输出49 2.4 数据流图u实例讲评10:客房管理系统局部DFD50 2.4 数据流图u绘制数据流图的注意事项:l1 合理细化。l 2 分层细化时必须保持信息的连续性。l 3 注意处理的编号和
18、适当地命名。l 4 画数据流而不是控制流。l 5 先考虑稳定状态。l 6 忽略琐碎的枝节。51 2.4 数据流图l7 随时准备重画。l 8 注意程序流程图与数据流图的区别。数据流图描绘所有可能,而不应该描绘出现某个数据流的条件。l 9 数据流图基本要点是要回答“作什么”,而不是“怎样作”。52 2.4 数据流图l10 命名:直接影响到数据流图的可理解性。1为数据流/数据存储命名:代表整个数据流内容/切忌空洞/必要时考虑重新分解; 2为处理命名:先数据流,后处理/代表整个功能/及物动词+宾语/一般只包含一个动词/必要时考虑重新分解;53 2.5数据字典u数据字典英文Data Dictionary
19、,简称DDu DD定义:对于数据流图中所出现的所有被命名的图形元素作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。lDD是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解。54 2.5数据字典uDD是一种描述逻辑模型的工具。u DD是数据的信息集合,是对数据流图中包含的所有元素的定义的集合。u DD的内容包括:图形元素的名字、别名或编号、分类、描述、定义、位置等。u 典型DD包括:l一般信息:名字,别名,描述等;l 定义:数据类型,长度,结构等;55 2.5 数据字典l使用特点:值范围,使
20、用频率,l 使用方法:输入/输出/本地/网络/条件值等;l 控制信息:来源/用户/使用它的程序/使用权/改变权等;l 分组信息:复结构/从属结构/物理位置等;56 2.5数据字典u使用DD的目的l查阅不了解的条目的解释;l 尽量减少出现别名;l DD中所有的定义都应是严密的、精确的,不可有半点含混,不可有二义性。l 数据流图和数据字典共同构成系统的逻辑模型。57 2.5数据字典u 数据字典DD中常用符号的含义。58 2.5数据字典l 数据字典中定义数据的方法:自顶向下分解数据 数据元素组成方式类型 顺序/选择/重复/可选l数据字典的用途:分析阶段的重要工具。l数据字典的实现:全人工过程; 全自
21、动化工程; 混合过程;59 2.5数据字典l 字典与数据流图之间关系数据流图描述了系统的“分解”; 依靠“字典”来说明各个成分的含义; 数据流图中所有名字的定义就构成一本词典; 数据流图和字典结合在一起构成了“需求说明书”; 数据流图中出现的每一个数据流名、每一个文件名和每一个加工名在词典中都应该有一个条目给出这个名字的定义。60 2.5数据字典l 字典条目的各种类型数据流 文件 数据项(指不在分解的数据单位) 加工l小说明数据流图中每一个基本加工(即不再进一步被分解的加工)都必须有一个“小说明”; 小说明中应精确描述用户要求一个加工“做什么”:61 2.5数据字典u实例讲评11:口算高手字典
22、建模计算整数=十进制1数字2统计命令= 1字母1计算结果输出= 2字母3统计结果输出= 2字母2+十进制1数字2+ 4字母4+十进制1数字2十进制数字“0”“9”字母“A”“Z”62 2.5 数据字典u 实例讲评12:客房管理系统字典建模 预订请求客人数据住宿期限+客房类别 客人数据客人姓名+地址+身份证号码 +护照号码 +支付方式 身份证号码=十进制15数字18 护照号码字母+ 8数字8 字母“A”“Z” 十进制数字“0”“9”63 2.5数据字典u实例讲评13:航班词典条目实例F1: 航班信息文件航空公司名称航班号 起点终点日期起飞时间降落时间 航空公司名称2字母4 航班号3十进制数字3
23、字母“A”“Z” 十进制数字“0”“9” 起点终点1汉字10 起飞时间降落时间时分64 2.5数据字典 时“00”“23” 分“00”“59” 日期年月日 年2000200120022003|2004|2005 月“01”“12” 日“01”“31”65 2.5数据字典u 实例讲评14:路灯管理系统数据字典66 2.5数据字典67 2.6 成本/效益分析u成本/效益分析的目的,是从经济角度评价开发一个新项目是否可行、是否划算,从而帮助使用部门的负责人正确地作出是否投资于这项开发的决定。u成本估计l代码行技术:通常先根据经验和历史数据来估计实现一个功能所需要的源程序行数,然后用每行代码的平均成本
24、乘以行数就可以确定软件的成本。68 2.6 成本/效益分析l 任务分解技术:首先把软件开发工程分解为若干个相对独立的任务,再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。 估计每个任务的成本时,通常先估计完成该项任务所需要使用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。 划分任务时最常用的办法是按开发阶段进行。69 2.6 成本/效益分析u度量效益的方法l货币的时间价值货币的时间价值通常用利率的形式表示。假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为: FP(1十i)n这也就是P元钱在n年后的价值。反之,如果n年后能收入F元钱,那么这些钱的现在的价值是: PF(1十i)n70 2.6 成本/效益分析l投资回收期:所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能越快获得利润,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据中心机房培训课件
- 气凝胶材料生产工艺方案
- 智能照明系统安装方案
- 2026灵活就业人力资源研究报告
- 2026年色盲专业模拟题及答案详解
- 2026年广州管圆线虫病治疗模拟试卷及答案详解
- 2026年口腔粘膜病模拟题及解析及答案详解
- 职称考试档案科目真题及答案详解
- 2026年护理学研究模拟试卷(含答案)
- 2026年内科学肝硬化治疗模拟题及答案详解
- 2026-2030中国羧甲基纤维素市场供需调查及竞争格局研究报告
- 7.1 集体生活成就我课件(共27张)+内嵌视频
- 铁路集团综合管理岗社会招聘笔试参考题库 含答案
- 2026年河北工人技师考评(环境噪声监测工)自测试题及答案
- 宠物毛发护理技巧
- DB32-T 5388-2026 电动车充电基础设施建设技术规程 第2部分:电动汽车
- 2026年人工智能赋能机械设计的新路径
- 乐陵市风电项目环评报告表
- 高一新生自我介绍课件
- 学堂在线 研究生学术与职业素养讲座 章节测试答案
- 医用防护用品试题及答案
评论
0/150
提交评论