




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程,(软件工程),信息学院信息安全,第1章:软件工程概述,1.1软件危机60年代中期以前:一般硬件相当常见,但为软件特定应用程序编写。从60年代中期到70年代中期:软件车间。软件危机:电脑软件开发和维护过程中出现的一系列严重问题。(正常、异常运营软件都有这种问题),1.1.1软件危机简介,1)软件开发成本和进度的估计往往不准确。2)经常出现用户对完成的软件系统不满意的现象。3)软件产品的质量往往不可靠。软件危机的典型表达:4)软件经常不能维护;5)软件一般没有适当的文档信息。6)软件成本在电脑系统总成本中所占的比例逐年增加。7)提高软件开发生产率的速度跟不上电脑应用的发展趋势。1.1.2
2、发生软件危机的原因,1)软件本身的属性2)软件开发和维护方法无效。主要成果:(a)忽略软件需求分析(b)认为软件开发是编写和执行程序。(c)蔑视软件维护;在软件开发的不同阶段进行修改的代价很不同:1)在实践中总结的开发软件的成功技术和方法,研究了更有效的技术和方法。2)开发和使用更好的软件工具。3)良好的组织管理措施。为了解决1.1.3软件危机的解决方法、软件危机发生问题,软件工程和方法逐渐形成,两种茄子互补,各自侧重的学科1)软件工程:关键应用工程方法和技术研究软件开发和维护方法、工具和管理的交叉学科。2)计算机编程方法:主要应用数学方法研究程序的性质和计算机编程理论和方法的学科。软件是由节
3、目、数据和文档三者组合而成的配置。v数据处理系统操作相关的知识产权创作(包括节目、程序、规则和相关文档)称为软件。文件是描述节目开发过程的智力创作的实际记录,是创作活动的历史档案和结晶。v软件说明定义:由软件计算机程序、数据结构和文档组成。软件质量、软件质量定义为“与软件产品的合规性和隐式需求能力相关的特性和特性的全部”。具体来说,1)软件产品能够满足给定需求的特性和特性的全部2)具有所需的各种属性的软件组合程度。v将软件质量属性(功能、可靠性、易用性、效率、维护和可移植性)除以6茄子功能(功能、可靠性、易用性、效率、可维护性和可移植性)。牙齿6茄子属性以用户为中心,以观点管理为导向,并定性地
4、说明。1.2软件工程,1.2.1软件工程简介,1968年北约会议,1993年IEEE:软件工程(1)系统,规格,可测量路径应用于软件开发、运行和维护流程;(2)研究(1)中提到的方法。1 .软件工程关注大型程序的结构。以软件工程为中心的挑战是控制复杂性。3.软件频繁变更;软件开发的效率很重要。和谐合作是软件开发的关键。软件必须有效地支持用户。7.在软件工程领域,具有一种茄子文化背景的人为具有不同文化背景的人制作产品。软件工程本质特征:软件工程目标,软件工程项目基本目标:(1)低成本;(2)满足功能要求。(3)高性能;(4)容易移植。(5)易于维护。软件工程管理目的:按照进度和预算完成软件计划,
5、实现预期的经济和社会效果。内容:费用估计、时间表、人员组织、质量保证、组态管理等强调软件工程管理重要性的方法不为过。1.2.2软件工程基本原则,1 .通过分阶段生命周期计划严格管理。坚持第二阶段审查。实施严格的产品控制。使用现代计算机编程技术;结果可以明确审查。6.开发组的人员要少、精。认识到需要不断改进软件工程做法。1.2.3软件工程方法通常是在整个软件生命周期中使用的一套完整的技术方法,也称为方法或范式。软件工程方法的三个要素:方法、工具和流程以及软件工程方法是在技术和管理中提供软件设计和维护方法。软件开发方法:数据流(约旦)方法、数据结构方法、面向对象方法。结构计算机编程是以模块功能和处
6、理过程设计为主进行详细设计的基本原则。它的主要观点是采用自上而下、逐步完善的计算机编程方法。使用三个茄子基本控制结构构造函数,可以将所有程序组织到三个茄子基本控制结构中:顺序、选择和循环。用于在软件开发、操作、维护、管理、支持等过程中支持活动的软件称为软件工具(CASE)。1 .传统方法也称为生命周期方法或结构范式。结构化方法是1)结构化设计方法(SD)。2)结构分析方法(sa);3)结构化分析和设计技术(SADT) 4)JACKSON方法5)WARNIER方法,2 .面向对象的方法学将数据和数据的工作紧密结合起来,模拟人类知道世界问题解决的方法和过程。面向对象的方法=对象(属性和服务的软件包
7、)分类是通过消息继承通信并1)应用于实时事务处理系统的有限状态机方法(FSM)。2)Petri网方法应用于并发软件系统;3)基于数学概念和理论的形式方法(如SDC的正式开发方法FDM:(Formal Development Methodology)IBM的维也纳开发方法VDM: (Vienna Development Method),3,a .问题定义b .可行性研究c .需求分析2)软件开发d .总体设计e .详细设计f .编码和单元测试g .综合测试3)操作和维护,1 .问题的定义;2.可行性研究3。需求分析总体设计(摘要设计);5.详细的设计编码和单元测试;综合考试;8.维护。软件生命周
8、期的所有阶段:1.4软件进程、软件进程:规定完成每项任务的工作阶段,以便为实现高质量软件所需的一系列任务建立框架。软件流程(ISO9000):由使用资源将输入转换为输出的活动组成的系统。输入:软件需求输出:软件产品,1.4.1瀑布模型,1。阶段之间的顺序和依赖性2。实现延期观点3。质量保证的观点,优点:规范的方法,严格规定每个阶段提交的文件。每个阶段必须提交的产品必须经过验证。1.4.2快速prototyping模型的优点:基本上按线性顺序进行,没有反馈循环。1.4.3增量模型,优点:可以提交在短时间内完成某些任务的产品。能给用户足够的时间学习和适应新产品。更危险的增量模型:1.4.4螺旋模型
9、可以看作是在每个阶段之前增加风险分析的快速原型模型。1.4.6 Rational集成过程,1 .RUP软件开发经验(1)迭代开发(2)管理要求(3)使用基于组件的体系结构(4)可视化建模(5)在整个开发过程中验证软件质量(6)(1)个人和交互比过程和工具好。(2)能比综合文件工作的软件;(3)客户合作优于合同谈判。(4)应对变化比遵从计划好。2.在极限编程敏捷性过程中最有名的是将良好的开发实践应用到极限,在软件需求模糊的情况下应用很多。1.4.8微软进程,1 .微软流程指令2。微软软件生命周期(1)规划阶段(2)设计阶段(3)开发阶段(4)稳定阶段(5)发布阶段3。微软过程模型,问题定义是指软
10、件最基本的问题。例如,软件的总体目标是什么?有什么用?为那个用户设计?1.5问题定义步骤,问题定义报告的内容如下:1)软件项目标题2)软件目标;3)软件自定义对象;4)软件规模。问题定义是软件生命周期中最短的阶段,通常比较简单,是实际开发中最容易忽略的阶段。牙齿阶段主要由系统分析师执行,系统分析师应尽可能高的角度概括软件活动,而不说明问题的实现细节。第2章:可行性研究、可行性研究,“定义的问题有可行的解决方法吗?”回答说。可行性研究的目的是以最低的代价,在尽可能短的时间内确定是否存在问题的解决牙齿,以及是否值得解决。2.1可行性研究任务,可行性研究所需时间根据工程规模,占工程总费用的5%。可行
11、性研究内容:1)技术可行性技术可行性需要分析多种技术因素。例如,能否利用现有技术实现牙齿系统?是否有训练有素的技术人员开发牙齿项目?能否在期限内获得开发牙齿项目所需的软件、硬件资源?2)在评估经济可行性的经济可行性时要考虑的问题是:牙齿系统的经济效益能超过开发成本吗?这需要项目价钱/利润分析,即“输入/输出”分析。利润分析取决于软件系统的特性,因此在软件开发之前很难对新系统的优点进行准确的定量描述,所以经常采用一些估计方法。3)运营可行性运营可行性评估系统运行后可能发生的各种变化(如对组织管理模式、用户工作环境等的影响)。4)社会可行性社会可行性主要讨论了法律方面和使用方面的可行性。例如,开发
12、的软件权利归属问题、软件使用技术是否受到侵害等。2.2可行性研究阶段,1)系统规模和目标审查2)研究当前使用的系统。3)导出新系统的高级逻辑模型(数据流图表、数据字典)。4)重新定义问题。5)导出和评估用于选择的解决方案(物理解决方案)。6)建议的行动计划;7)草拟开发计划8)创建文档以供审阅。2.2可行性研究阶段、2.3系统流程图(描述物理系统的工具)、2.3.1符号、2.3.2示例、2.4资料流程图(表示系统中数据流的逻辑进程)、2.4.1符号、注释数据存储库可以表示档案、文件的一部分、数据库唱片等。数据流图忽略错误处理、打开档案和关闭档案。,2.4.2绘制数据流图表示例,2.4.2绘制数
13、据流图表示例,仓库管理员、买方、订单系统、事务处理、订单报告,图2.5订单系统的基本系统模型,2.4.2绘制数据流图表示例,2.4.2数据流图示例,1)数据流(2 . 4 . 2)b不要使用空的、没有特定含义的名称(例如“数据”、“输入”)。如果在命名2.4.3、C数据流(或数据存储)时遇到困难,则很可能是数据流图的分解不当造成的。尝试再次分解数据流图。2)处理命名A通常首先命名数据流,然后命名相关进程。b名称应反映整个过程的功能。c应尽量避免“处理”、“处理”等空洞常见动词的名字。d通常被命名为一个动词。如果要用两个动词来说明整体处理的功能,将牙齿处理分成两个处理可能更合适。如果命名e进程有
14、困难,则很可能发现不适当的分解,因此应考虑重新分解。通常在命名“数据源点/终点”时,使用问题字段中常用的名称(例如“仓库管理员”、“买方”)。1)用作交换信息的工具。2)作为软件分析和设计工具。2.4.4数据流的用途、2.4.4数据流的用途、图2.8所示的物理实施硬件方案、2.4.4数据流的用途、图2.9所示的物理实施硬件方案、数据字典:数据流中包含的所有元素定义集合可行性研究步骤、数据流图和数据字典共同构成了系统的逻辑模型。2.5数据字典,2.5.1数据字典内容数据字典以下元素定义:1)数据流;2)数据元素(数据流组件);3)数据存储4)处理。1)数据元素字典定义的基本内容是A数据元素编号、
15、名称和含义。b数据类型和长度C合理价值;d其他内容,例如与其他资料的逻辑关系。2.5.2数据定义方法,数据元素字典定义示例:2)数据流字典定义基本内容:数据流编号和名称;b数据流源C数据流位置;d数据流配置;e通量;f峰。数据流字典定义示例:3)数据存储字典定义的基本内容是A数据存储编号和名称。b数据存储的配置C其他要求。4)数据处理字典定义的基本内容是A数据处理编号和名称。b简要说明C I/o;d功能说明E有关数据存储的信息。数据处理字典定义示例:5)组织数据项的显示方式=表示“等于”或“定义为”的重复()的可选地址簿=地址通信地址=名称邮政编码省|直辖市有助于数据库开发。2.5.3数据字典使用,数据字典实现:1)节目处理2)手动写卡;2.5.4数据字典实施,2.6成本/收益分析,1)代码行技术软件成本=每个代码的平均成本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三级街舞门徒班合同样本
- 主题班会教案之“珍爱粮食、拒绝浪费”主题班会
- 中药代收加工合同样本
- 修车店加盟合同样本
- 学校内控风险评估制度
- 英语课堂教学形式的多样化
- 杂交育种与诱变育种-教学设计
- 海尔供应商基本供货合同
- 个人粉刷合同样本
- 人事录用流程-招聘和录用流程制度
- “数学悖论”-辛普森悖论
- 六宫格数独100题
- 工程项目跟踪审计送审资料清单
- 中文产品手册机架效果器tcelectronic-triplec manual chinese
- 人卫版内科学第九章白血病(第3节)
- 食堂设备维修记录
- DB65∕T 4357-2021 草原资源遥感调查技术规程
- 幼儿园绘本:《闪闪的红星》 红色故事
- 植物生理学_第七版_潘瑞炽_答案
- FZ∕T 60021-2021 织带产品物理机械性能试验方法
- 云南大学研究业绩认定与折算细则
评论
0/150
提交评论