软件工程
橙子飞飞飞
一个软件工程初学者,水平一般般,希望在软件工程的课上学到本专业的就业情况,想知道软件工程专业的着重点是什么,好让自己自学的时候有明确的方向。本人没什么大的目标,只希望工作后不要像网上说的那么惨,工作时偶尔能划划水,工资足够在一个小城市生活。
展开
-
软件工程期末复习13-软件测试方法与过程
1. 软件测试方法按照执行测试时是否需要运行程序,软件测试可以划分为静态测试和动态测试。审查和走查是静态测试的常用形式。动态测试中有两种非常流行的测试技术,即黑盒测试和白盒测试。2. 黑盒测试黑盒测试包括等价类划分法、边界值分析法、错误推测法、因果图法等。白盒测试包括逻辑覆盖测试方法和基本路径测试等方法。2.1 等价类划分法等价类划分是把程序的输入域划分为若干子集,然后从每个子集中选取少数具有代表性的数据用作测试用例,所选取的输入数据对于揭露程序中的错误都是等效的。等价类分为有效等价类和原创 2020-12-27 14:40:48 · 1274 阅读 · 0 评论 -
软件工程期末复习12-软件测试概述
1. 软件测试的基本概念软件测试是发现软件中错误和缺陷的主要手段。软件缺陷的产生是不可避免的,软件测试的工作是必需的。在软件开发过程的任何阶段都可能引入缺陷。缺陷被引入的阶段越早,在软件开发的后期修复这些缺陷带来的成本损失就越大。软件测试工作应该贯穿于整个开发过程。1.1 软件测试的原则软件测试是为了发现错误而执行程序的过程,它并不可能找出所有的错误,但是却可以减少潜在的错误或缺陷。以下是经验:(1) 完全测试是不可能的。(2) 测试中存在风险。(3)软件测试只能表明缺陷的存在,而不能证明软件产原创 2020-12-27 11:42:35 · 260 阅读 · 0 评论 -
软件工程期末复习10-面向对象设计
1. 面向对象设计与结构化设计结构化方法把解空间分数据和功能两部分,可以更加清晰地进行需求分析和功能分解,数据流图能够细致地说明数据在各个功能模块之间的流动和变化,更适于系统设计的前期阶段。设计人员清楚地了解数据和系统要求的操作后面向对象方法能够把数据和功能以对象为单位封装成一个整体,更直观地表达对象的状态变化和对象间的交互,更加准确地分析功能的实现过程,更适于在软件后2. 面向对象设计与面向对象分析的关系设计阶段的任务是及时把分析阶段得到的需求转变成符合各项要求的系统实现方案。面向对象的需求分析和原创 2020-12-27 11:15:37 · 3004 阅读 · 3 评论 -
软件工程期末复习9-结构化设计
1. 结构化软件设计概述在结构化设计中,概要设计(总体设计)阶段将软件需求转化为数据结构和软件的系统结构。概要设计阶段要完成体系结构设计、数据设计及接口设计。详细设计阶段要完成过程设计,因此详细设计一般也称为过程设计,它详细地设计每个模块,确定完成每个模块功能所需要的算法和数据结构。2. 结构化设计与结构化分析的关系要进行结构化的设计,必须依据结构化分析的结果。3. 体系结构设计3.1 表示软件结构的图形工具层次图和HIPO图通常使用层次图描绘软件的层次结构,带编号层次图称为HIPO。2原创 2020-12-27 09:46:53 · 2301 阅读 · 0 评论 -
软件工程期末复习8-软件体系结构与设计模式
1.软件体系结构的概念1.1 什么是软件体系结构软件体系结构既决定系统的框架和主题结构,又决定系统的基本功能及某些细节特征。具体来说,软件体系结构是系统的一个或多个结构,包括以下几部分:(1)软件的组成元素(组件)。(2)这些(组件)元素的外部可见性。(3)这些元素(组件)之间的相互关系。1.2 软件体系结构的建模研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型原创 2020-12-27 09:46:30 · 2675 阅读 · 2 评论 -
软件工程期末复习7-软件设计
1. 软件设计的基本概念需求分析,回答了软件系统能“做什么”的问题。软件设计,回答“怎么做”才能实现软件系统的问题分析模型转换成设计模型。1.1 软件设计的意义和目标1)设计必须实现所有包含在分析模型中的明确需求,而且必须满足用户期望的所有隐含需求。2)对于程序员、测试人员和维护人员而言,设计必须是可读的、可理解的指南。3)设计必须提供软件的全貌,从实现的角度说明数据域、功能域和行为域。1.2 软件设计的原则1.模块化模块是数据说明、可执行语句等程序对象的集合,是构成程序的基本构件,可以被单原创 2020-12-27 09:44:30 · 793 阅读 · 0 评论 -
软件工程期末复习6-面向对象分析
1. 面向对象分析方法1.1 面向对象分析过程面向对象的分析主要以用例模型为基础。用例是指系统中的一个功能单元,可以描述为参与者与系统之间的一次交互。目标系统的类可以划分为边界类、控制类和实体类。1.边界类代表了系统及其操参与者的边界,描述参与者与系统之间的交互。它更加关注系统的职责,而不是实现职责的具体细节。通常,界面控制类、系统和设备接口类都属于边界类。2.控制类代表了系统的逻辑控制,描述一个用例所具有的事件流的控制行为,实现对用例行为的封装。通常,可以为每个用例定义一个控制类。3.实体类描原创 2020-12-26 22:24:13 · 2629 阅读 · 0 评论 -
软件工程期末复习5-面向对象方法与UML
1. 面向对象地软件工程方法1.1 面向对象的基本概念1.面向对象2.对象3.类4.消息5.类的特性(抽象、继承、封装、多态、重载、包、包的接口类)1.2 面向对象的软件工程方法的特征和优势1.●面向对象的软件工程方法的特征0把数据和操作封装在-起,形成对象。对象是构成软件系统的基本构件。0把特征相似的对象抽象为类。0类之间可以存在继承或被继承的关系,形成软件系统的层次结构。0对象之间通过发送消息进行通信。0将对象的私有信息封装起来。外界不能直接访问对象的内部信息,而必须是发送相应原创 2020-12-26 22:23:44 · 1162 阅读 · 0 评论 -
软件工程期末复习4-结构化分析
1. 结构化分析概述结构化分析方法是一种考虑数据和处理地需求分析方法。它基于“分解”和“抽象”的基本思想,逐步建立目标系统的逻辑模型,进而描绘出满足用户要求的软件系统。结构化分析方法是一种面向数据流的需求分析方法,其中数据作为独立实体转换,数据建模定义了数据的属性和关系,操作数据的处理建模表明当数据在系统流动时处理如何转换数据。2. 结构化分析方法结构化分析模型地核心是“数据字典”它描述软件使用或产生的所有数据对象。围绕着这个核心有3种不同的图:”数据流图”指出当数据在软件系统中移动时怎样被变换,原创 2020-12-26 22:23:24 · 2793 阅读 · 1 评论 -
软件工程期末复习3-可行性研究及需求分析
1. 可行性研究1.1 项目立项概述项目立项包括项目发起、项目论证、项目审核和项目立项4个过程。1.2 可行性研究的内容可行性研究需要从多个方面进行评估,主要包括:战略可行性,操作可行性,计划可行性,技术可行性,社会可行性,市场可行性,经济可行性,风险可行性1.3 可行性研究的步骤1.明确系统阿目标2.分析研究现行系统3.设计新系统过的高层逻辑模型4.获得比较可行的方案5.撰写可行性研究报告2. 需求分析2.1 需求分析的任务可行性分析是要决定“做还是不做“需求分析就是要回答“原创 2020-12-26 22:22:57 · 2910 阅读 · 1 评论 -
软件工程期末复习2-软件过程
1.软件过程概述1. 软件过程概述软件的诞生和生命周期是一个过程,称为软件过程。过程定义了运用方法的顺序,应交付的文档资料,为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。2. 软件生命周期2.1 软件生命周期的概念软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用,以及产品版本的不断更新,到该产品最终被市场淘汰的全过程。2.2 传统软件周期的各个阶段可行性研究雪球分析软件设计编码软原创 2020-12-26 22:22:37 · 626 阅读 · 1 评论 -
软件工程期末复习1-软件工程概述
1.软件1.1 软件的概念及特点软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。软件具有以下几个特点:(1)软件是无形的、不可见的逻辑实体(2)软件是设计开发的,而不是生产制造的(3)软件在使用过程中没有磨损、老化问题(4)软件是定制开发的,软件的开发与运行都离不开相关的计算机系统环境(5)软件没有摆脱人工开发(6)软件是复杂的(7)软件开发成本高,软件质量要求较高(8)软件开发工作牵涉到很多社会因素1.2 软件的分类基于功能的不同:系统软件、原创 2020-12-26 22:22:10 · 271 阅读 · 0 评论