软件工程
- 格式:ppt
- 大小:14.24 MB
- 文档页数:337


软件工程期末考试参考题及答案
1. 考试题目:软件需求工程
考试要求:根据给定的需求文档,完成以下题目。
题目一:
根据给定的需求文档,设计一个在线购物系统。请根据以下要求完成系统设计:
(1)使用UML类图绘制系统的类结构;
(2)使用UML时序图描述用户登录和浏览商品的流程;
(3)使用UML活动图描述用户下订单的流程。
答案:
(1)类图如下所示:
[在这里插入UML类图图片]
(2)时序图如下所示:
[在这里插入UML时序图图片]
(3)活动图如下所示:
[在这里插入UML活动图图片]
题目二: 根据给定的需求文档,设计一个在线学习系统。请根据以下要求完成系统设计:
(1)使用UML用例图描述系统的功能需求;
(2)使用UML活动图描述学生完成在线学习的流程;
(3)使用UML状态图描述学生的学习状态变化。
答案:
(1)用例图如下所示:
[在这里插入UML用例图图片]
(2)活动图如下所示:
[在这里插入UML活动图图片]
(3)状态图如下所示:
[在这里插入UML状态图图片]
2. 考试题目:软件设计模式
考试要求:根据给定的题目,选择并解答以下问题。
题目一:
分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。
```java public interface Car {
void drive();
}
public class Sedan implements Car {
@Override
public void drive() {
System.out.println("Driving a sedan car.");
}
}
public class SUV implements Car {
@Override
public void drive() {
System.out.println("Driving an SUV car.");
可编辑修改精选全文完整版
一、 单选题 (共20题,40分)
1、使用数据流图,并不断细化的需求获取方法是()。(2.0)
A、 简易的应用规格说明
B、 面向数据流自顶向下逐步求精
C、 访谈
D、 快速原型法
正确答案: B
2、Z语言是以()为基础的形式化规格说明语言。(2.0)
A、 微积分
B、 概率
C、 图形
D、 一阶谓词演算
正确答案: D
3、HIPO是指
(2.0)
A、 层次输入处理输出图或表
B、 层次功能结构图
C、 功能结构图
D、 输入处理输出图或表
正确答案: A
4、高铁调用系统最适宜采用()方法。(2.0)
A、 有穷状态机
B、 Petri网
C、 Z语言
D、 一阶线性时态逻辑
正确答案: B
5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。(2.0)
A、 可划分为2个有效等价类,2个无效等价类
B、 可划分为1个有效等价类,2个无效等价类
C、 可划分为2个有效等价类,1个无效等价类
D、 可划分为1个有效等价类,1个无效等价类 正确答案: B
6、用于并发系统,解决定时问题的形式化方法是()。(2.0)
A、 VDM
B、 Z语言
C、 Petri网
D、 一阶线性时态逻辑
正确答案: C
7、软件生命周期中所花费费用最多的阶段是
(2.0)
A、 需求分析
B、 软件总体设计
C、 软件维护
D、 软件实现
正确答案: C
8、软件质量保证措施SQA不包括:
(2.0)
A、 复审或评审
B、
软件测试
C、 程序正确性证明
D、
软件代码编写
正确答案: D
9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。(2.0)
A、 单元测试
B、 有效性测试
C、 确认测试
D、 集成测试
软件工程大一到大四的课程
摘要:
1.软件工程专业简介
2.大一课程安排
3.大二课程安排
4.大三课程安排
5.大四课程安排
6.总结
正文:
软件工程是一门以计算机科学为基础,以软件开发为重点的学科。软件工程师主要负责编写、测试、维护和改进计算机软件。为了培养优秀的软件工程师,大学一般会设置四年的软件工程课程。下面我们来看看软件工程大一到大四的课程安排。
大一课程安排:
在大一阶段,学生主要需要学习计算机基础课程,为后续专业课程打下基础。主要课程包括:计算机导论、计算机程序设计、数据结构与算法、离散数学、计算机组成原理等。
大二课程安排:
在大二阶段,学生开始接触软件工程的专业课程。主要课程包括:软件工程、软件需求分析、软件项目管理、数据库原理与设计、计算机网络等。
大三课程安排: 在大三阶段,学生将进一步深入学习软件开发相关课程。主要课程包括:软件测试、软件质量保证、软件工程实践、操作系统、软件工程案例分析等。
大四课程安排:
在大四阶段,学生将进行实习和毕业设计,同时学习一些选修课程。主要课程包括:软件工程管理、软件工程研究方法、软件工程前沿技术、计算机图形学等。
总结:
软件工程专业的课程设置从基础到专业,再到实践,为学生提供了全面的知识体系。
软件工程的六个阶段
软件工程的六个阶段
软件工程是指系统性的、可量化的方法,用于开发、维护和管
理软件。在软件工程的实践中,通常会遵循一系列的阶段,以确保
项目的顺利推进和高质量的交付。本文将介绍软件工程的六个常见
阶段,并分别对其进行详细介绍。
1. 需求分析阶段
需求分析阶段是软件开发的第一阶段,其目的是理解用户需求
和系统需求。在这个阶段,开发团队与客户和相关利益相关者合作,
收集和分析项目的各种需求。这包括功能需求、非功能需求、性能
需求等。通过需求分析,开发团队能够建立起与用户和利益相关者
的有效沟通渠道,并将需求转化为明确的软件规范。
2. 设计阶段
设计阶段是在需求分析阶段之后进行的,其重点是确定如何实
现需求,并创建系统的整体架构和组件。在设计阶段,开发团队将
需求转化为设计规范,包括系统架构设计、模块和接口设计等。此
外,设计阶段还包括对系统的可扩展性、可维护性和可测试性等进
行考虑。通过设计阶段,开发团队能够对系统的开发和实施有一个
清晰的指导。3. 编码阶段
编码阶段是将设计规范转化为实际代码的过程。在这个阶段,
开发团队将设计好的软件架构和模块进行实现,并进行单元测试。
编码阶段需要程序员具备良好的编码技巧和编程经验,确保代码的
质量和可维护性。此外,编码阶段还需要遵循编码规范,并进行代
码审查,以确保代码的一致性和高水平。
4. 测试阶段
测试阶段是对已编码的软件进行验证和验证的过程。在这个阶
段,开发团队将对软件的功能、性能、安全性等进行全面的测试。
测试阶段包括单元测试、集成测试和系统测试等。通过测试阶段,
开发团队能够发现和修复软件的缺陷,并确保软件的质量和稳定性。
5. 部署阶段
部署阶段是将测试通过的软件部署到目标环境中并投入使用的
过程。在这个阶段,开发团队将软件安装、配置和集成到目标系统
中,以满足用户的实际需求。部署阶段需要进行充分的测试和验证,
确保软件能够正常运行和达到预期效果。此外,部署阶段还需要提
供相应的技术支持和培训,以帮助用户快速上手和有效使用。