首页 > 编程知识 正文

软件工程基础知识点总结,程序设计与软件工程知识点总结

时间:2023-05-06 05:09:15 阅读:217191 作者:477

一、常见问题 1. 常见软件失败原因 不断增长的需求期望值太低 2.软件是什么?

计算机程序和相关文档。软件产品可以为特定的客户开发,也可以为一般的市场开发。

3.好的软件的特性是什么?

好的软件应该向用户交付所需的功能和性能,应维护(可维护性),可靠的(可靠的)和可用性(可用的)。

4.什么是软件工程?

软件工程是一个工程学科(训练学科),关心的是软件生产的各个方面。

5.什么是基本的软件工程活动?

软件规范(软件描述),软件开发(软件设计和实现),软件验证(软件有效性验证)和软件进化(软件进化)。

6. 软件工程和计算机科学有什么区别?

计算机科学侧重于理论和基础;软件工程关注开发和交付有用软件的实用性。

7. 软件工程和系统工程的区别是什么?

系统工程涉及计算机系统开发的各个方面,包括硬件、软件和过程工程。软件工程是更一般的一部分(一般的)过程。

8. 软件工程面临的主要挑战是什么?

应对日益多样性(多样性),要求减少交货时间和发展中值得信赖的软件。

9. 软件工程的成本是什么?

大约60%的软件成本是开发成本,40%是测试成本。自定义(定做)软件,进化成本往往超过(超过)开发成本。

10. 什么是最好的软件工程技术和方法?

而所有软件项目必须专业(专业地)管理和开发,不同的技术适合不同类型的系统。例如,游戏应该总是使用一系列的开发(原型)原型而(然而)安全关键控制系统需要一个完整的和可分析的规范发展。因此,你不能说一种方法比另一种好。

11. web对软件工程有什么不同?

网络导致了软件服务的可用性和开发高度分布式的可能性(分布式的)服务的系统。基于web的系统开发在编程语言和软件重用方面取得了重要进展。

二、概念总结 1. 好的软件的重要属性 可维护性可靠性和安全性高效性可接受性 2. 两种软件产品 通用产品定制化产品 3. 软件过程的四项基本活动 软件描述软件开发软件有效性验证软件进化 4. 软件过程的三种过程模型,以及如何使用它们 瀑布模型
计划驱动的模型。规范和开发的不同阶段。增量开发式模型
规范、开发和验证是交错的。可以是计划驱动的,也可以是敏捷的。面向复用的软件工程
这个系统收集现有的组件,灵活的计划驱动 5. 瀑布模型中的主要阶段及映射的基本开发活动 需求分析和定义系统和软件测试实现和单元测试集成和系统测试运行和可维护

6. 增量开发中,面向复用过程的中间阶段是? 组件分析需求修改系统设计和重用开发与整合 7. 需求工程过程的四个主要阶段 可行性研究需求导出和分析需求描述需求有效性验证 8. 信息系统设计过程中的四个活动 架构设计接口设计组件设计数据库设计 9. 测试阶段 开发和组件测试 个人独立组件测试组件可能是功能或这些实体的对象或连贯的分组 系统测试 测试系统作为一个整体。紧急特性的测试尤其重要。 验收测试 测试与客户数据检查以满足顾客的需求 10. 增量式开发过程的好处 顾客价值可以与每个增量交付系统功能是可用的。早期增量作为原型帮助引出后期增量降低整体项目的风险优先级最高的系统服务倾向接收最高测试 11. 统一软件开发过程 从动态视角而言,展现了产品开发的各个阶段从静态视角而言,展现了过程活动从实践视角而言,给予了更好的实践 12. 描述Rational统一过程中的四个阶段 开始
创建系统的商业案列计划
开发可理解的问题域和系统结构建造
系统设计,编程和测试转变
在操作环境下使用系统 13. 什么是需求 用户需求 为客户撰写自然语言语句加上系统提供的服务及其操作约束的图表 系统需求 列出系统功能、服务和操作约束的详细描述的结构化文档。定义应该执行的内容,因此可以是客户和承包商之间合同的一部分。 14. 功能需求和非功能需求

软件系统需求常常分为功能需求和非功能需求

功能需求 包括对系统应该提供的服务、如何对特殊输入做出反应,以及系统在特定条件下行为的描述。在某些情况下,功能需求可能还需明确声明系统不应该做什么。非功能需求 对系统提供的服务或功能给出的约束。包括时间约束、开发过程的约束和所受到的标准的约束。非功能需求经常适用于整个系统而不是个别的系统功能或服务。 15. 需求文档结构

Preface(绪言),
Introduction(引言),
Glossary(术语),
User requirements definition(用户需求定义),
System architecture (系统体系结构),
System requirements specification(系统需求描述),
System models(系统模型),
System evolution (系统进化),
Appendices(附录),
Index(索引)。

16. UML的5种类型 活动图:它显示流程或数据处理中所涉及的活动。用例图:它显示了系统与其环境之间的相互作用。时序图:它显示了参与者和系统之间以及系统组件之间的交互类图:它显示了系统中的对象类以及这些类之间的关联。状态图:起于圆圈,终于包裹圆圈,内外部响应

UML是一种支持软件设计和记录软件设计的语言,而不是编程语言,UML的设计者关心的不是语言的语义细节,而是她的表达能力。为了建立一个UML可执行的子集,模型类型的数量已经被剧减为3个主要的模型类型。
1. Domain models 领域模型
2. Class models 类模型
3. State models 状态模型

17. 模型驱动体系结构

模型驱动体系结构是一种以模型为中心进行软件设计和实现的方法,它使用UML模型的子集来描述系统。MDA方法认为应该产生3种类型的抽象系统模型:

A computation independent model 计算机独立模型(CIM)A platform independent model平台独立模型(PIM)Platform specific models平台特定模型(PSM) 18. 测试过程的目标 有效性测试 向开发人员和系统客户演示软件满足其要求成功的测试表明系统按预期运行。 缺陷测试 发现软件中的错误或缺陷,发现其行为不正确或不符合其规范成功的测试是使系统执行不正确从而暴露系统中的缺陷的测试。 19. 软件系统的三个测试阶段 开发测试:在开发过程中对系统进行测试以发现bug和缺陷。发布测试: 在系统发布给用户之前,单独的测试团队测试系统的完整版本。用户测试 : 其中系统的用户或潜在用户在自己的环境中测试系统。 20. 开发过程中测试的三个粒度级别 单元测试:其中测试单个程序单元或对象类。单元测试应该集中于测试对象或方法的功能。组件测试:其中集成几个单独的单元以创建复合组件。组件测试应该关注于测试组件接口。系统测试:其中将系统中的一些或全部组件集成,并将系统作为一个整体进行测试。系统测试应该关注于测试组件交互。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。