- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)