软件工程知识点总结

软件的概念: 软件是计算机系统中与硬件相互依存的另一部份,是程序、数据、以及相关文件的完整集合。程序是事先设计的功能要求执行的序列。数据是使得程序能征程操作信息的数据结构。文档是程序开发,维护和利用的有关图文和材料。软件的表现形式分为有形和无形,软件的有形表现在软件的的文档、程序、代码、用户界面、输出表报、等。软件的无形部分表现在:软件的内部逻辑,是软件自身的设计思想。

软件危机:软甲危机是软甲开发和软件维护。具体产生的原因有对软件的成本和进度的估计不是准确,项目管理经验缺乏。用户对已完成的软件系统不是很满意,模糊的设计需求、闭门造车、盲与编程、交付日期没有保证。软件的产品质量靠不住。存在bug。软件设计不可维护。软甲没有适当的文档资料,缺少设计资料,难以维护。软件系统过于庞大,成本过高,软甲开发效率过低,技术水平不好。避免软件危机的方法,注意结合实践经验的积累,利用成熟的开发工具。引入软件工程学,软甲工程学的重要目的就是提高软件的可维护性,减少软件的维护成本,缩短软件的开发周期。

软件工程:是软件开发中系统思想的具体实现 ,软甲工程是开发、运行、维护、和修复的系统方法,是一门工程学科,即运用工程的概念、原理、技术、方法来开发和维护软件。

软件工程三要素:方法、工具、过程、

传统的结构化方法:也叫做生命周期方法学,采用结构化分析、结构化设计、结构化实现。

面向对象方法学的4个要点: 对象+类+继承+用消息通信   简化了软件开发和维护,提高了软件的可重用性。

软件生命周期: 定义(问题的可行性、可行性研究、需求分析) 开发(总体设计、详细设计、编码&测试单元、综合测试)维护(运行&维护)

分析系统的数据要求: 通常采用建立数据模型的方法 (E-R图)

设计阶段:总体设计(结构设计) 可以列出很多种解决方案 ,把各项需求转换成软件的体系结构。详细设计(过程设计)对每一个模块要完成的工作进行具体的描述,为源程序编写代码打下基础。

模块设计的目标:强内聚、低耦合。

软件设计的重要性:软件设计是后续开发步骤和维护工作的基础。如果没有软甲设计,只能建立一个不稳定的软件体系结构。

编码阶段: 编码程序应当具有结构良好,清晰易读。且与设计相一致。 程序的质量基本取决于设计的质量。

测试阶段:黑盒测试&白盒测试  测试的策略:单元测试、集成测试、确认测试、系统测试、验收测试。

运行和维护阶段: 改正性维护:运行中发现了软件中的bug,需要改正; 适用性维护:为了适应变化偶尔软件的工作环境,需要适当的改变;完善性维护:为了增强软件的功能需求变更;预防性维护:为了改进未来软件的可维护性或者可靠性,主动的对正在使用的软件系统完善其功能。

软件过程模型:软件过程是为了获得高质量的软件所需要完成的一系列任务的框架,他规定了完成各项任务的工作,是一个将用户需求转换成软件系统所需的活动集合   即 项目管理+软件开发=软件开发过程

软件过程模型:瀑布模型----文档驱动型         快速原型模型--------原型驱动       增量模型-------构建驱动        螺旋模型------风险+原型驱动  

瀑布模型:计划--需求分析--设计--编码--测试--运行--评价--计划--     瀑布模型的特点: 顺序性、依赖性   推迟程序的物理实现--按照步骤进行   质量保证  易于组织,缺点是:阶段文档驱动 开发可能失败。需求发生变化后引起的代价将提高,维护难。适合在软件开发需求比较明确,开发技术比较成熟。工程管理比较严格的场合下使用,如 产品软件。

快速原型模型:采用迭代求精的方法 ,首先系统分析人员对用户的需求的理解,利用先进的软甲工具快速的构建一个可以子啊计算机上运行的软件原型系统。然后,让用户试用原型系统,并收集用户的反馈意见,获取用户的真实需求。遵循边开发边使用的原则

原型系统仅包括未来系统的主要功能,以及系统的重要的接口。   为了尽快的像用户提供原型,应尽量缩短开发时间,特点是:用户实时参与,便于交流,比较适合大型,复杂的软件系统。

喷泉型模型:是一种以用户需求为都动力,一对象为驱动的迭代模型,主要用于面向对象的软件开发过程。

现代软件的开发模式:基于组件的开发方法 、面向领域的软件开发方法、极限模型

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzxww.html