软件工程知识点总结(科大)

时间:2024.4.6

1.计算机软件是一种特殊的逻辑产品,其为在计算机上运行的各种程序、数据及其说明程序的各种文档。 2.软件承担着双重角色,软件是一个产品,同时又是产品交付使用的载体。 3.软件测试目的,就是在系统交付客户之前能够发现(和改正)尽可能多的错误

4.白盒测试又称“玻璃盒测试”,白盒测试注重于程序控制结构。

5.黑盒测试也称为行为测试,黑盒测试注重于确认功能需求。

6.用户界面可以说是基于计算机的系统或产品的最重要的元素。如果界面的设计很糟糕,可能会严重的阻碍用户使用系统的计算处理能力。

7.一个弱的界面可能导致一个很好地设计和可靠实验的应用的失败。 8.三个重要的原则指导有效的用户界面设计:置系统与用户控制之下、减少用户的记忆负担和保持界面一致。 9. ★程序流程图

10.结构化程序设计:逻辑构成元素的顺序、条件和重复构成了结构化程序设计的基础。

顺序---实现了算法规约中的核心处理功能。

条件---允许根据逻辑情况选择处理的方式。

重复---提供了循环

11.图形设计符号:流程图和盒状图 12.程序设计语言PDL:结构化的英语或伪代码

13.构件级设计也称为过程设计,它在数据设计、体系结构设计和接口设计之后进行,其意图是将设计模型翻译为可以运行的软件。

14.构件级设计是使用某些能够容易翻译成源代码的中间表示来表示过程设计。

15.构件级设计的目的是要保证不仅能够完成翻译任务而且能够不在开始时引入错误,即在过程设计中避免错误的产生。16.★17. ★18. ★19. ★应用CAD系统 工程常用数学计算工具软件 体系结构设计

20. ★数据字典21. ★ 数据设计 22.软件体系结构提供了待建造软件系统的整体视图,其描述软件构件的结构、组织、性质、以及它们之间的联系

23.软件结构包括模块和程序操作的各种数据表示

24.数据设计是软件体系结构设计的一个有机组成部分

25.体系结构关注与早期设计决策,并提供了可选择的系统结构体制 26.设计概念:抽象 求精 模块化 27.设计原则:(10个原则)

设计过程不应该受“隧道视野”的限制

设计对于分析模型应该是可跟踪的 设计不应该从头做起

设计应该缩短软件和现实世界中问题的“智力距离”

设计应该表现出一致性和集成性 设计的构建应该适合变更

设计的构建,应该使得即使遇到异常的数据、事件或操作条件时也能够平滑、轻巧地降级

设计不是编码,编码也不是设计 创建设计时就应该能够评估质量,而不是在事情完成以后

应该评审设计以减少概念性错误 28.软件设计的内容:数据设计 体系结构设计 接口设计 构件级设计 29.设计过程:设计过程的目标 评价设计质量的指导性原则 设计任务集合

30.设计时将建造的某种事物的有意义的工程表示。软件设计创建软件的表达或模型,提供了软件数据结构、体系结构、接口和软件构件的设计细节---提供了软件系统实现所必须的工作基础。

31.对设计良好的软件而言,坚固是指程序不应含有任何妨碍其功能的缺陷,适用则是程序符合开发目标,赏心悦目意味着适用程序的体验是愉快的

32.★★★ 33.数据建模 1.数据对象描述-----数据字典 (名称 别名 何处使用 如何使用 内容描述 补充信息) 2数据建模(数据对象、属性和关系 基数 数据模型:实体——关系图ERD) 34. ★35.分析建模的原则 一.描述和理解问题的信息领域;二.定义软件将实现的功能; 三.作为外部事件的结果,描述软件的行为;四.通过问题的划分,描述信息功能和行为的模型,逐渐以层次的方式揭示细节。 36.分析建模的任务集合(评审需求 扩展和细化用户的场景 数据建模 功能建模) 分析建模使用文本和图表形式的组合,以相对容易理解的方式描绘数据、功能和行为的需求,并直接评审其正确性、完整性、一致性。 37. 用户场景与分析建模 一.用户场景(use-case及其参与者 开发use-case)

二.构件分析模型(数据建模 功能建模 行为建模) 38.需求确认与规约(协商需求 确认需求 规约需求) 39★ 40.软件需求的导出 一.质量功能部署(正常的需求 期望的需求 令人兴奋的需求) 二.功能性需求与非功能性需求(功能性需求---描述系统为用户或其他系统提供的服务 非功能性需求----系统开发过程中必须遵守的约束:1.反映了软件的质量属性 2.约束了系统的环境和技术 3.约束了项目计划和开发方法) 41.软件的需求诱导 (需求诱导的原则:倾听 有准备的沟通 需要有人推动 最好当面沟通 记录所有决定 ) (软件需求的过程启动) 42.软件需求分析 软件需求分析的作用和目的(软件开发人员对软件需求分析认识的误区 缺乏可靠和有效的软件需求分析的后果 需求分析是连接软件设计和构造的桥梁) 软件需求分析的工作活动

1. 软件需求工程概述 1发现领域

过程 理解客户需要业务领域和希望解决的问题 理解客户业务过程 获取业务领域的专业词汇 建模客户业务过程 2.领域分析 领域分析是软件工程师了解背景信息的过程 业务领域与领域专家 领域分析的目标 领域分析信息归档 3识别协作系统4.发现系统需求5.将结果提交客户

2. 基于计算机的系统工程 1.1.基

于计算机的系统 定义:元素的集合或排列,这些元素被组织在一起通过处理信息完成某些预定的目标2目标:支持某些业务功能或开发可以被销售以生产业务收入的产品。 2.系统元素包括软件、硬件、人员、数据库、文档、规程

3. 软件工程实践 1.软件工程实践

的精髓 1.理解问题(交流和分析)2.计划解决方案(计划于建模——软件设计)3.实施解决方案(构造——代码生成)4.检查结果的精确度(构造与部署——软件测试、质量保证、用户技术支持) 2.软件工程实践的核心原则包括存在价值、保持简洁、维护视图、生产者要让消费者理解★★★★

4. 软件工程过程模型,是指能够覆

盖软件工程的过程、方法和工具以及软件工程的一般阶段的开发策略。过程模型的选择待建造软件的特点,所采用的方法与工具、以及需要的控制和交付的产品。 1.瀑布模型2.增量过程模型——增量模型、RAD模型3.演化过程模型——原型模型、螺旋模型4.面向对象软件工程过程模型——统一软件开发过程★ 5. 软件工程过程:是一个为建造高

质量软件所需要完成的任务的框架,是建造软件产品的一组活动及其结果。通用过程框架活动:1.交流——项目启动、需求获取及其任务集合2.计划—项目评估、进度安排、项目跟踪等3.建模——分析模型和设计模型4.构造——代码生成和软件测试5.部署——产品交付、技术支持、用户反馈等及其相应的任务集

6.

软件工程的定义:建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠地,可以在实际及其上高速的运行。1.定义A:软件工程是:1.将系统化的、严格约束的、可量化的方法用于软件的开发、运行和维护,即将工程化应用与软件。2.在1中所述方法的研究。 2.定义B:软件工程是在成本、时间及其他约束条件下,通过对大型、高质量的软件系统的系统化的开发与演化,从而解决客户问题的过程。

7.

软件工程师由有创造力的,有组织的人在定义好的,成熟的软件过程中进行的,该过程适合于软件开发人员建造的产品和产品的市场需求。 8.

软件工程的定义:建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠地,可以在实际机器上高校地运行。 9.

软件开发的工程化:各种形式、各个应用领域的软件开发都需要工程化,即通过采用软件工程技术实现。

10. 由于软件产品的特殊性,软件工程从业人员的职业道德和行为准则显得更加重要。 11.

软件产品的分类方法:由软件产品的角度分类:通用软件产品、定制软件产品、嵌入式软件。由软件的应用领域:系统软件、应用软件、工程科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件、开放计算、网络资源、开源软件。

12.

计算机软件是一种特殊的逻辑产品,其为计算机上运行的各种程序、数据及其说明程序的各种文档。软件承担着双重的角色,软件是一个产品,同时又是产品交付使用的载体。

13.

软件是逻辑的而不是有形的,软件是基于计算机的系统元素,因此软件具有与硬件完全不同的特征。

14.

软件是被开发或设计的,而不是传统意义上的被制造;软件不会“磨损”;虽然软件产品正在向基于构件的组装方向发展,但是大多数软件仍是定制的

15.

测试原则:a所有的测试都应可以追溯到客户需求。B应该在测试工作真正开始之前较长时间就进行测试计划。

16.

测试目的:a用最少的实践和工作量,系统地揭示不同的错误;b证实软件依据规约所应具有的功能和性能。

17.

测试注意问题:a没有找到错误的测试并不一定是成功的测试;b测试无法证明错误和缺陷不存在,只能表示其已经出现;在软件开发的早、中期,软件开发人员视图由抽象概念到具体实现来创建软件系统;在测试阶段,软件测试人员试图“摧毁”已完成的软件系统;但是测试是为了发现错误,而非真正刻意的通过各种手段将已完成的系统摧毁。 18.

软件测试是软件质量保证的关键元素,并代表了规约、设计和编码的最终评审。通常,软件开发者将30%—40%的项目工作量花费在测试上,在一些非常重要的软件项目上所花费的测试时间可能是一般项目的3—5倍. 19. 措施:a测试试图努力去“破坏”软件;b以严格的方式设计测试案例并评审其完全性。

20.

重要性:a当程序执行时,用户在使用系统的同时实际上也是测试B必须在程序交付用户之前,已消除错误的意图去执行。C为了发现最大可能数量的错误,测试必须被系统的进行,并且测试案例必须用严格的技术来设计。 21.

步骤:软件的测试通常从两个不同的视角进行;a使用“白盒”

测试技术测试内部程序逻辑b使用“黑盒”测试技术测试软件需求。 22. @

23.

构件及设计内容a概念:构件级设计建立对数据结构的操纵;确定通过软件构件的接口实现的通信;实现每个构件处理算法所需的算法细节。

24.

步骤:a用户界面的设计从标示用户、任务和环境需求开始;b一旦标示出用户任务,则创建和分析用户场景;c定义一组界面对象和动作,并创建屏幕布局。D屏幕布局描述图形化的设计构思和各种图示位置,定义屏幕描述性文本,窗口命名与规格说明。

25.

a用户界面是基于计算机的系统或产品的重要的元素之一。B如果界面的设计很糟糕,可能会严重的阻碍用户使用系统的计算处理能力。C一个弱的界面,可能导致一个设计很好和实现可靠的应用系统的失败。

26.

三个重要的原则指导有效的用户界面设计:a置系统于用户控制之下;b减少用户的记忆负担;c保持界面一致。

27.

界面确认着重于:a界面正确地实现每个用户任务的能力、适应所有任务变更的能力以及达到所有一般用户需求的能力b界面容易使用和学习的程度。C用户接受界面作为他们工作中有用工作的程度。

28.

通常提供如下机制:a 管理输入设备 b确认用户输入 c处理错误和显示出错消息 d提供反馈 f提供帮助和提示 g处理窗口、域和窗口内的滚动 h建立应用软件和界面间的连接 i允许用户定制界面

29.

界面构造 a构建用户界面原型,由用户进行检查,然后根据用户的意见进行修改 b许多高级语言或专用开发工具提供用户界面的开发功能,他们为简化窗口、菜单、设备交互、出错消息、命令以及很多其他交互环境元素的创建提供了各种构件和对象

30.

命令标记----许多高级用户喜欢面向命令的交互方式,提供命令交互时,应考虑:a每一个菜单选项是否都有对应命令 b以何种方式提供命令---控制序列、功能键和输入命令 c学习和记忆命令的难度如何,忘记命令怎么办? d用户是否可以定制和缩写命令

31.

常见界面设计问题:a系统响应时间---用户从开始执行动作到软件给出预期的响应,其属性包括长度和可变性 b用户帮助设施---集成的帮助设施和附加的帮助设施。帮助设施的构造涉及:1提供全部或部分功能的帮助 2用户采用帮助菜单、特殊功能键或HELP命令请求帮助 3在另一个窗口、或屏幕待定位置的简单提示表示帮助 4通过返回、功能键或控制序列回到正常的交互状态 5采用平面式、分层式或超文本构造帮助信息

32.

定义界面对象和动作:a界面设计中的一个重要步骤是定义界面对象和作用于它们之上的动作 b当所有的重要对象和动作被定义,开始进行屏幕布局,包括图符的图形设计和放置、描述性屏幕文字的定义、窗口的规约和命令、各种菜单项的定义等 33.

界面设计工程:a建立任务的目标和意图 b为每个目标或意图制定特定的动作序列 c按在界面上执行的方式对动作序列进行规约 d指明系统状态,即执行动作时的界面表现 f定义控制机制,即用户可用的改变系统状态的设备和动作 g指明控制机制如何影响系统状态 h指明用户如何通过界面上的信息解释

系统状态

34. 环境分析:a界面将物理地位位

于何处 b用户是否将坐着、站着或完成其他与该界面无关的工作 c界面硬件是否适应空间 d光线或噪音约束 e是否存在特殊的有环境因素驱动的人的因素的考虑

35. 任务分析:a必须理解用户当前

执行的任务,并将它们映射到类似的在用户界面的语境内实现的任务集上 b研究基于计算机的解决方案的现存规约,并导出能够适应用户模型、设计模型和系统感觉的一组任务

36. 设计模型:a设计模型由系统开

发人员伴随需求分析和方案设计产生的界面,设计和构思模型 b该模型由最初的基本界面设计要求★

37. 界面设计最重要的原则:a了解

用户 b了解任务 38. 保持界面一致:用户应该以一致

的方式展示和获取信息,即:a按照贯穿所有屏幕显示所保持的设计标准,组织所有可视信息 b将输入机制约束到有限的集合之中,并在整个应用中一致地使用 c从任务到任务的导航机制,应一致地定义和实现

39. 界面的视觉布置应该基于真实

的世界的隐喻

40. 减少用户的记忆负担:a用户必

须记住的东西越多,和系统交互时出错的可能性也越大

b一个设计良好的用户界面不会加重用户的记忆负担

41. 减少对短期记忆的要求:a当用

户陷入复杂的任务时,短期记忆就会要求很大 b界面设计应该设法减少记住过去和结果的要求

42. 允许用户交互可以被中断和撤

销 a在一系列交互动作进行过程中,用户应该能够中断动作序列去做某些事情,而不会失去已经做过的工作 b用户能够撤销任何动作

43. 以不强迫用户进入不必要的或

不希望的动作的方式来定义交互模式 a如在流行的窗口操作系统界面之下,用户可随意创建新的窗口或在各种操作功能之间转换,而不必进行过多操作 44. 用户在使用一个基于计算机的

系统时:a用户需要的是一个对其要求做出反应,并帮助其完成必要的工作的系统 b用户希望去控制计算机而不是被计算机控制

45. 设计者在界面设计中施加的多

更多相关推荐:
软件工程知识点总结

第二章软件生命周期和过程模型2.1软件生命周期是什么?分为哪几个阶段?每个阶段干什么?2.2.1瀑布模型1、软件生命周期是指软件产品从考虑其概念开始到交付使用,直至最终退役为止的整个过程。软件生命周期可以划分为…

软件工程导论知识点总结(整理)

软件工程导论课后习题答案第一章软件工程概论1什么是软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题这些问题表现在以下几个方面1用户对开发出的软件很难满意2软件产品的质量往往靠不住3一般软...

软件工程知识总结

1软件是能够完成预定功能和性能的可执行指令使得程序能够适当的操作信息的数据结构描述程序的操作和使用的文档软件的特点是逻辑产品非物理产品由开发或工程化而形成无明显的制造过程存在退化问题必须维护软件2软件发展历史程...

软件工程知识点总结

一软件工程概述1软件特点软件计算机程序方法规则相关的文档资料以及计算机程序运行时所需要的数据软件是计算机系统中的逻辑成分具有无形性其主要内容包括程序配置文件系统文档用户文档等2软件分类1按功能划分系统软件支撑软...

软件工程基础知识点整理

软件工程基础知识点整理1109070211朱染晅土建112一软件工程基本概念1软件定义是计算机系统中与硬件相互依存的另一部分是包括程序数据以及相关文档的完整集合1程序是软件开发人员根据用户需求开发的用程序设计语...

软件工程知识点总结

软件工程简要知识点一软件过程五个模型对比瀑布模型快速原型增量螺旋喷泉模型二可行性研究1任务用最小的代价在尽可能短的时间内确定问题是否能够解决2四个方面技术经济操作可行性法律3数据流图四种成分1源点终点2处理3数...

软件工程期末复习总结

第一章1.开发软件不等于编写程序2.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。3.软件危机典型表现:●对软件开发成本和进度估计不准确。●用户对已完成的软件系统不满意甚至拒绝接受的现象经…

软件工程知识点总结

软件工程知识点总结1.软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2.软件危机产生的原因:1.软件本身的复杂性、难衡量的特点;2.软件开发与维护的方法不正确。3.软件的定义:计算机程序、方…

软件工程重点总结

1、什么是软件危机?软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2、软件危机的主要表现(1)对软件开发成本和进度的估计常常很不准确(2)用户对“已完成的”软件系统不满意现象经常发生(3)软…

软件工程复习重点总结

第一章软件过程:需求设计实现发布软件过程三要素:过程+方法+工具瀑布rupscrumIconixScrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。ProductOwner、ScrumMaster、T…

软件工程期末复习要点归纳总结

第一章软件工程学概论1软件危机产生的原因软件本身的特点难于维护逻辑复杂软件开发与维护的方法不正确忽略需求分析重要性轻视软件维护课本表述1软件不同于硬件它是计算机中的逻辑部件而不是物理部件2软件不同于一般程序它的...

20xx人大软件工程硕士考研专业课复习方法总结

凯程考研集训营为学生引路为学员服务20xx人大软件工程硕士考研专业课复习方法总结凯程人大软件工程硕士考研老师通过历年的经验总结给大家详细讲解备考难度同时本文也详解了人大软件工程硕士考研专业课复习方法人大软件工程...

软件工程知识点总结(30篇)