高考后,选择软件工程专业或正在学习软件工程专业的学生。当你选择这个专业或者现在学这个专业时,你是否感到困惑:你应该如何学习软件工程专业?下面是图王小编,与大家分享软件工程专业学习的内容以及软件工程专业知识领域的构成。我希望这对你有帮助。
软件工程专业学习什么
主要学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论和数理统计、编程语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、,软件项目管理
除了学习公共基础之外,本专业还将系统研究离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程。根据学生的兴趣,还可以选择其他一些选修课。
毕业论文与实践(毕业设计与实践)。
软件工程专业知识领域的构成
(1) 软件需求
软件需求描述在现实世界中解决问题的软件产品以及对软件产品的约束。软件需求包括需求提取、需求分析、需求规范的建立和确认,以及建模和软件开发的技术、经济和时间可行性分析。软件需求直接影响软件设计、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程和软件质量。
(2) 软件设计
设计是软件工程的核心。设计不仅是一个“过程”,也是这个过程的“结果”。软件设计包括两个活动:软件架构设计和软件详细设计。它涉及软件体系结构、组件、接口和系统或组件的其他特性。它还涉及软件设计质量分析和评估、软件设计符号、软件设计策略和方法等。
(3) 软件建设
通过编码、单元测试、集成测试、调试和确认,生成可用且有意义的软件。软件建设除了满足设计功能外,还需要控制和降低程序的复杂性,预测变更,验证程序,制定软件建设标准。软件建设与软件配置管理、工具和方法以及软件质量密切相关。
(4) 测试软件
测试是软件生命周期的重要组成部分,涉及测试标准、测试技术、测试度量和测试过程。测试不再是编码完成后开始的活动。测试的目的是识别缺陷和问题,提高产品质量。软件测试应该关注整个开发和维护过程。测试应该从需求阶段开始。测试计划和程序必须随着开发的进展而系统化和细化。正确的软件工程质量观是预防。与其纠正缺陷和问题,不如避免缺陷和问题。代码生成前的主要测试方法是静态技术(检查),代码生成后的测试方法是动态技术(代码执行)。测试的重点是动态技术,它从程序的无限执行域中选择一组有限的测试用例来动态验证程序是否达到预期的行为。
(5) 软件维护
软件产品交付后,需要纠正软件的缺陷,提高软件性能或其他属性,使软件产品适应新的环境。软件维护是软件进化的延续。软件维护应支持系统快速、方便地满足新的需求。基于服务的软件维护越来越受到重视。软件维护是软件生命周期的一个组成部分。然而,维修在历史上从未被重视过。情况发生了变化。软件组织试图延长软件的运行时间,软件维护已成为人们关注的焦点。
(6) 软件配置管理
为了控制系统的配置变更,保持配置在整个系统生命周期内的一致性和可追溯性,必须按时间管理不同的软件配置,包括配置管理过程的管理、软件配置标识、配置管理控制、,配置管理状态记录、配置管理审核、软件发布和交付管理等。
(7) 软件工程管理
使用管理活动,如规划、协调、测量、监控、控制和报告,以确保软件开发和维护是系统化、标准化和可测量的。它涉及基础设施管理;项目管理;测量和控制计划分为三个级别。度量是软件管理决策的基础。近年来,软件度量的标准、度量、方法和规范发展迅速。
(8) 软件工程过程
管理软件工程过程的目的是实现一个新的或更好的过程。软件工程过程关注软件过程的定义、实施、评估、度量、管理、变更和改进,以及过程和产品的度量。软件工程过程分为:① 围绕软件生命周期过程的技术和管理活动,即需求获取、软件开发、维护和退役的各种活动。② 软件生命周期的定义、实施、评估、度量、管理、变更和改进。
(9) 软件工程工具和方法
软件开发工具是基于计算机的,用于辅助软件生命周期过程。通常,工具是为特定的软件工程方法设计的,以减少手工操作的负担,使软件工程更系统化。软件工具有很多种,从支持个人到整个生命周期。软件工具分为:需求工具、设计工具、施工工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具、软件质量工具等。
软件工程方法支持软件工程活动,使软件开发更加系统和成功。软件开发方法不断发展。目前,软件工程方法分为:① 启发式方法,包括结构化方法、面向数据方法、面向对象方法和特定领域方法;② 基于数学的形式化方法;③ 原型方法是通过软件工程的各种方式实现的。原型方法有助于确定软件需求、软件体系结构、用户界面等。
(10) 软件质量
软件质量贯穿于整个软件生命周期,涉及软件质量需求、软件质量度量、软件属性检测、软件质量管理技术和过程等。
SWEBOK还将软件工程相关学科列为知识领域,这是软件工程开发不可或缺的一部分。相关学科的知识领域包括八个领域:计算机工程、计算机科学、数学、管理、项目管理、质量管理、系统工程和软件工效学。
评论列表