文正学院计算机软件基础软件工程.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文正学院计算机软件基础软件工程

第一章软件工程与软件危机 1、什么是软件 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。 软件=程序+数据+文档 软件的分类(划分) 按软件的功能进行划分:系统软件、支撑软件、应用软件 按软件规模进行划分:微型、小型 、中型、大型 、甚大型、极大型 按软件工作方式划分:实时处理软件(Real-Time)、分时软件(Share-Time)、交互式软件 、批处理软件 按软件服务对象的范围划分:项目软件、产品软件 按使用的频度进行划分:一次使用、频繁使用 按软件失效的影响进行划分:高可靠性软件、一般可靠性软件 3、软件的发展与软件危机 软件发展阶段(从40年代第一台计算机出现) 程序设计阶段 — 50至60年 程序系统阶段 — 60至70年 软件工程阶段 — 70年代以后 软件危机(Software Crisis): 软件的整体质量较低,及期限、费用等问题 4、软件工程的定义及研究内容 定义:软件工程是一门旨在生产满足用户需求的、及时交付、不超过预算的和无故障(Bug)的软件的学科,为达到这些目标,必须在软件生产的所有阶段采用合适的技术。 软件工程三要素:(一组)方法、(一系列)工具和(一个)过程 5、软件生存期(生命周期) 定义:软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期 软件生存期的六个步骤,即制定计划、需求分析、软件设计、程序编码、软件测试及运行维护 瀑布模型 优点:1.近乎强迫式规则,每个阶段有文档需确认。2.带反馈环。 缺点:1生产软件仍不能完全满足需求。2积累错误。越早出现的错误,暴露的时间越晚,排除故障付出的代价就越高。 螺旋模型(Spiral Model) 螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即: 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制 风险分析──分析所选方案,考虑如何识别和消除风险 实施工程──实施软件开发 客户评估──评价开发工作,提出修正建议 软件开发方法 软件开发方法:结构化软件开发方法和面向对象软件开发 结构化软件开发方法: 数据处理系统:结构化分析,设计,Jackson方法 大型复杂系统:SADT 实时事务处理:FSM(有穷状态机,Finite State Mechanism) 并发系统:Petri网 面向对象的软件开发方法: OOT 第二章系统分析(定制计划,可行性研究) 1、定制计划阶段目标与任务 目标:解决的问题是什么?(软件项目计划的第一个活动是确定范围) 任务:确定软件范围,给出可行性分析,由用户决定“行”或“不行”。软件范围描述了将被处理的数据和控制、功能、性能(如处理及响应时间)、约束(外部硬件,可用能存或其他已有系统对软件的限制)、接口及可靠性。 2、确定软件范围所需信息的方法 (1)软件工程师(分析员)与客户交流(会谈式):集中于客户、总体目标及收益;集中在客户对软件解决方案的想法;“元问题”(集中于会谈效果) (2)联合小组形式,其中一种方法:便利应用规约技术FAST, 如由IBM公司开发的JAD。 ★★★此处有习题:传送带分类系统(CLSS) 3、可行性研究的方面 可行性研究的四维:1。技术2。财政 3。时间 4。资源 ①经济可行性:进行成本效益分析,评估项目的开发成本。 ②技术可行性:现有技术是否实现系统的功能,满足约束,风险有多大!对系统的性能、可靠性、可维护性以及生产率等方面的信息进行评价。 ③法律可行性:系统开发可能导致的责任(合同责任、法律责任,专利、版权等) ④抉择:对系统不同方案的对比、选择 4、可行性研究的步骤(八个步骤) 5、系统流程图 ★★★此处有习题:请画出由下列文字描述的系统流程图(某城市招干考试成绩统计系统) 6、成本—效益分析 ①基于代码行估计(LOC:Line of Code,单位kLoc) 如,2900行源代码,注释,测试,等200行,总工作量9人/月 生产率(Production Rate)=源代码行/总工作量=(2900-200)/9=300Loc/PM ②基于功能点(FP:Function Point)估计 ③基于过程估计 ④经验估计(自动软件估计)(公式) 第三章软件需求分析 1、需求分析的任务:“理解、分解和表达” ①理解:通过调查分析,来定义用户的需求,以达到对用户需求的共同的理解(理解软件需求)目的:理解问题的数据域(数据流、数据内容、数据结构)和功能域。 ②分解:通过结构化分析方法,自顶向下,逐层分析的方式对问题进行分解和不断细化。目的:确定系统的构成和主要成份。 ③表达:把共同的理解和结构化分析的结果用双方均能理解的方法描述出来,写入需求规格说明(SRS) 结构化的分析方法(SA)

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档