- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 软件工程基础 5.1 软件工程基本知识 5.1.1 软件的发展 早期阶段,大多数人把软件看成是不需预先计划的事情。 第二阶段跨越了从60年代中期到70年代末期的十余年。多道程序设计、多用户系统引入了人机交互的新概念。但是存在一系列软件相关的问题,在软件维护上所花费的精力开始以惊人的速度消耗资源。 现在,软件既是一种产品,同时又是开发和运行 产品的载体。 5.1 软件工程基本知识 5.1.2 软件定义与软件特点 一个完整的计算机系统由相互依存的两部分构成:硬件系统和软件系统。计算机软件是包括程序、数据以及相关文档的完整集合。 1.软件的特点 (1)软件是一种逻辑实体而不是物理实体,具有抽象性。 (2)软件的生产没有明显的制作过程。 (3)软件在其整个生存周期之内不存在磨损、老化问题,但为了适应硬件、环境以及需求的变化,有时需要进行修改,而这些修改有时会引入错误,导致软件效率降低,从而使得软件退化。 (4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题。 (5)软件复杂性高,成本昂贵。 (6)软件开发涉及诸多社会因素。 5.1.3 软件危机与软件工程 1.软件危机 软件危机指的是人们在软件开发、使用和维护过程中所遇到的一系列严重问题。 软件危机主要表现以下几个方面 (1)软件需求的增长得不到满足。 (2)软件开发成本和进度难以控制。 (3)软件产品的质量无法保证。 (4)软件产品难以维护。 (5)软件成本不断提高。 (6)软件开发生产率的提高速度难以满足社会需求的增长率。 2.软件工程 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 软件工程包括3个要素:方法、工具和过程。 ·方法是完成软件工程项目的技术手段。 ·工具支持软件的开发、管理及文档生成。 ·过程支持软件开发的各个环节的控制和管理。 5.1.4软件工程过程与软件生命周期 软件工程过程是用来开发或维护软件及其相关产品的一系列活动,包括软件工程活动和软件管理活动。 软件生命周期阶段包括: (1)可行性研究与计划制定 (2)需求分析 (3)软件设计 (4)软件实现 (5)软件测试 (6)运行和维护 5.1.5 软件工程的目标与原则 1.软件工程的目标 在给定成本与进度的前提下,开发出满足用户需求且其有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性较好的软件产品。 2.软件工程的原则 基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证件。 (1)抽象:即抽取事物最基本的特性和行为而忽略其非本质的细节。 (2)信息隐蔽:采用封装技术,将程序模块的实现细节隐藏起来,并提供尽可能简单的模块接口,以便于和其他模块接装在一起。 (3)模块化:模块是程序中相对独立的成分,一个模块是一个独立的编程单位。 (4)局部化:要求在一个物理模块内集中逻辑上相互关联的计算资源,保证模块之间具有松散的耦合关系,而模块内部则有较强的内聚性,这有助于控制系统的复杂性。 (5)确定性:软件开发过程中所有概念的表达应该是确定的、无歧义的、规范的。 (6)一致性:在程序、数据和文档的整个软件系统的各模块中,应使用已知的概念、符号和术语;程序内部和外部接口应保持一致,系统规格说明与系统行为应保持一致。 (7)完备性:指软件系统不丢失任何重要成分,完全实现系统所需的功能。 (8)可验证性:开发大型软件系统需要对系统自顶向下,逐层分解。系统分解应遵循易于检查、测评、评审的原则,以确保系统的正确性。 5.1.6 软件开发工具与软件开发环境 1.软件开发工具 方法和工具是软件工程学中同一个问题的两个不同方面,方法是工具研制的先导,工具是方法的实在体现。 2.软件开发环境 软件开发环境(或称为软件工程环境)是全面支持软件开发全过程的软件工具的集合。它们按照一定的方法或模式组合在一起,支持软件生命周期内各个阶段中各项任务的完成。 5.2结构化分析方法 软件开发方法包括分析方法、设计方法和程序设计方法。 结构化方法是指根据某种原理,使用一定的工具,遵循的是自顶向下、逐步求精的原则,按照特定步骤工作的软件开发方法。 由三部分构成的:结构化分析、结构化设计和结构化程序设计,其核心和基础是结构化程序设计理论。 5.2.1 需求分析与需求分析方法 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望和要求。需求分析的任务是发现需求(搞清楚用户需要用软件解决什么问题)、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。 1.需求分析
您可能关注的文档
最近下载
- 2025年院感知识理论考试题库+答案.docx VIP
- 配合协调与服务承诺.docx VIP
- 14《称空气》课件 科学三年级上册(苏教版2025).pptx
- 晚期消化道肿瘤临床规范诊疗新进展题库答案-2025年华医网继续教育.docx VIP
- 工程协调配合措施及承诺.docx VIP
- 医院信息科笔试、面试题(附答案).docx VIP
- 施工协调配合的承诺与措施.pdf VIP
- 医院信息科计算机考试精彩试题(附答案).docx
- 2025年最新人教版七年级(初一)数学上册教学计划及进度表(新课标,新教材).docx
- 2025至2030地毯和室内装饰清洁服务行业项目调研及市场前景预测评估报告.docx
文档评论(0)