软考高级系统架构师上午选择题总结
软件工程基础知识
1、软件开发的生命周期
软件开发的生命周期:软件定义、软件开发、软件运行和维护
2、软件系统工具
通常可以按软件过程活动将软件工具分为
软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具等
软件维护工具:版本控制工具、文档分析工具、开发信息库、逆向工程工具、再工程工具
软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择
3、软件设计的四个活动
数据设计、架构设计(体系结构设计)、人机界面设计(接口设计)、过程设计。
4、软件过程模型
①瀑布模型:一个接一个,上一项的输出作为下一项的输入。
②螺旋模型:原型+瀑布,增加了风险分析。
③V模型:每个过程都要测试,用于需求明确和需求变更不频繁的情形。
④原型模型:对用户的需求是动态响应、逐步纳入的。
⑤增量模型:先开发核心模块功能,优先级最高的服务最先交付。
⑥喷泉模型:以用户需求为动力,以对象作为驱动,适合面向对象。
⑦基于构建的开发模型CBSD:利用预先包装的构件来构造应用系统。
⑧形式化方法模型:建立在严格数学基础上的。
⑨敏捷模型:是适应性的,而非预测性的;以人为本,而非以过程为本
极限编程XP:近螺旋式,开发人员和客户清楚开发进度、变化。
水晶系列方法:机动性
并列争球法:优先级
特征驱动开发方法FDD:特征
⑩统一过程模型RUP:二维的软件开发模型,九个核心工作流(业务建模、需求、分析与设计、实现、测试、部署、配置与变更管理、项目管理、环境);用例驱动,以体系结构为中心(4+1视图模型:用例视图--行为、逻辑视图--功能、实现视图---配置、进程视图---性能、部署视图--发布安装拓扑结构
)
5、逆向工程
重构:是指在同一抽象级别上转换系统描述形式
设计恢复:是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息
再工程:在逆向工程所获得信息的基础上,修改或重构已有的系统,产生系统的一个新版本。再工程是对现有系统的重新开发过程,包括逆向工程、新需求的考虑过程、正向工程三个步骤。
正向工程:是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统
6、逆向工程的四个级别
实现级:包括程序的抽象语法树、符号表、过程的设计表示。
结构级:包括反映程序分量之间的相互依赖关系的信息,例如调用图、结构图、程序和数据结构。
功能级:包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型。
领域级:包括反映程序分量或程序诸实体与应用领域概念之间的对应关系的信息。例如ER模型。
领域级抽象级别最高,完备性最低;实现级抽象级别最低,完备性最高。
7、软件需求分为需求开发和需求管理
需求开发:需求获取(用户访谈、问卷调查、采样、情节串联板、联合需求计划JRP、需求记录技术
)、需求分析(结构化的需求分析:自顶向下、逐步分解、面向数据。三大模型:功能模型--数据流图、行为模型--状态转换图、数据模型--ER图以及数据字典
)、需求定义(需求规格说明书---需求基线
)、需求验证
需求管理:变更控制、版本控制、需求跟踪、需求状态跟踪
8、高内聚低耦合
内聚程度从低到高:偶然内聚<逻辑内聚<时间内聚<过程内聚<通信内聚<顺序内聚<功能内聚
耦合程度从低到高:无直接耦合<数据耦合<标记耦合<控制耦合<外部耦合<公共耦合<内容耦合
9、软件测试
分为静态测试和动态测试
静态测试:人工检测、计算机辅助静态分析、检查单、桌前检查、代码审查、代码走查
动态测试:黑盒测试(根据功能)、白盒测试(根据代码逻辑)、灰盒测试
黑盒测试:等价类划分、边界值划分、错误推测、因果图
白盒测试:语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、路径覆盖
测试策略:
- 自顶向下,优点是较早验证系统的主要控制和判断
- 自底向上,优点是较早的验证底层模块
- 三明治,优点二者都有,缺点是测试工作量大
测试阶段
- 单元测试,也称模块测试&#x
原文地址:https://blog.csdn.net/qq_41895427/article/details/143627451
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!