开发者网络

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 112|回复: 1

软件工程

[复制链接]

2

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-1 17:46:12 | 显示全部楼层 |阅读模式
第一章 软件工程学概述 (带⭐为重点内容)软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题软件是程序、数据及相关文档组成的   ⭐填空题软件工程的定义:把系统的、规范的、可度量的途径应用于软件开发、运行、和维护过程,也就是把工程应用于软件。研究(1)中提到的途径。软件工程的7条基本原理:用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性软件工程方法学分为:传统方法学面向对象方法学软件工程包括技术和管理两方面内容,是技术与管理紧密结合所形成的工程学科。⭐填空题软件工程方法学包含3个要素:方法、工具和过程。软件生命周期由软件定义、软件开发和运行维护 3个时期组成,每个时期又进一步划分成若干个阶段。⭐填空或选择软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。开发时期的4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。维护时期的主要任务是使软件持久地满足用户的需要。什么是软件过程? 答:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。   ⭐四分 瀑布模型的特点:⭐可能简答题阶段间具有顺序性和依赖性推迟实现的观点质量保证的观点喷泉模型是典型的面向对象的软件过程模型之一。第二章 可行性研究应从下述3个方面研究每种解法的可行性:1.技术可行性2.经济可行性3.操作可行性可行性研究的过程: ⭐重中之重,必考简答 8条复查系统规模和目标研究目前正在使用的系统导出新系统的高层逻辑模型进一步定义问题导出和评价供选择的解法推荐行动方针草拟开发计划书写文档提交审查系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)  ⭐名词解释4分数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 ⭐名词解释数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。⭐四分数据字典的组成:数据流数据流分量数据存储处理软件成本开发3种成本估计方法:代码行技术任务分解技术自动估计成本技术第三章 需求分析所有需求分析都应遵守下述准则:必须理解并描述问题的信息域,根据这条准则建立数据模型必须定义软件应完成的功能,这条准则建立功能模型必须描述作为外部事件结果的软件行为,这条准则建立行为模型 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节确定对系统的综合要求 (怎样做到完整准确具体?)⭐功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能提出的要求实体联系图的概念:概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,反映了用户的现实环境,而且与在软件系统中的实现方法无关。数据模型中包含3种相互关联的信息,数据对象、数据对象的属性、数据对象彼此间相互连接的关系。状态转换图通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。需求分析阶段可能用到的3种图形工具:1.层次方框图2.Warnier图3.IPO图层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。IPO图是输入、处理、输出图的简称从哪些方面验证软件需求的正确性?通常4个方面验证一致性完整性现实性有效性第四章 形式化说明技术按照形式化的程度,可以把软件工程使用的方法划分成非形式化、半形式化、和形式化3类。用自然语言描绘需求规格说明,是典型的非形式化方法。用数据流图或者实体联系图建立模型,是典型的半形式化方法所谓形式化方法,是描述系统性质的基础数学的技术,也就是说,如果一种方法有坚实的数学基础,那么它就是形式化的常用的形式化方法有?:有穷状态机Petri网Z语言第五章 总体设计总体设计过程通常由两个主要阶段组成:⭐⭐⭐⭐⭐简答大题系统设计阶段,确定系统的具体实现方案结构设计阶段,确定软件结构典型的总体设计过程包括9个步骤:⭐⭐⭐⭐⭐(这道题必须给爷背会·13分大题)设想供选择的方案选取合理的方案推荐最佳方案功能分解设计软件结构                                                     设计数据库制定测试计划书写文档审查和复查  (必考!!!!!!!!!!!!!!!!)传统方法学设计原理:⭐简答模块化抽象逐步求精信息隐藏和局部化模块独立耦合是对一个软件结构内不同模块之间互连程度的度量。⭐名词解释内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展 ⭐名词解释启发规则:⭐⭐⭐改进软件结构提高模块独立性模块规模应该适中深度、宽度、扇出和扇入都应适当模块的作用域应该在控制域之内力争降低模块接口的复杂程度设计单入口单出口模块模块功能应该可以预测描绘软件结构的图形工具有:层次图、HIPO图 、结构图 ⭐填空传统方法学总体设计时用什么设计方法?面向数据流的设计方法:1.变化流2.事务流第六章 详细设计3种基本控制结构:顺序、选择、循环 ⭐填空程序结构设计的定义:如果一个程序的代码块仅仅通过顺序、选择和循环这种连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。⭐名词解释在设计人机界面的过程中,几乎总会遇到下述4个问题:系统响应时间、用户帮助设施、出错信息处理和命令交互。⭐简答/填空3类人机界面设计指南:⭐填空/简答一般交互指南信息显示指南数据输入指南过程设计工具:⭐填空程序流程图盒图PAD图判定表判定树过程设计语言Jackson图逻辑数据结构只有这3类:顺序结构选择结构重复结构程序复杂程度的定量度量的方法?McCabe方法和Halstead方法⭐填空第七章 实现通常把编码和测试统称为实现⭐⭐⭐⭐⭐编码:把软件设计结果翻译成用某种程序设计语言书写的程序测试:为了发现程序中的错误而执行程序的过程。⭐⭐⭐程序设计语言是人和计算机通信的最基本的工具程序设计语言2大类:汇编语言和高级语言软件测试准则:⭐⭐⭐⭐⭐简答题且6条准则顺序不要写倒了!!所有测试都应该追溯到用户需求应该远在测试开始之前就制定出测试计划把Pareto原理应用到软件测试中应该从“小规模”测试开始,并逐步进行“大规模”测试穷举测试是不可能的为了达到最佳的测试效果,应该由独立的第三方从事测试工作测试方法:⭐⭐⭐名词解释黑盒测试:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能                            都能正常使用。白盒测试:如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。软件的测试步骤:模块测试子系统测试系统测试 验收测试 平行运行单元测试期间的测试重点:模块接口局部数据结构重要的执行通路出错处理通路边界条件驱动程序:也就是一个“主程序”,它接收测试数据,把这些数据传送给被测试        的模块,并且印出有关的结果。⭐名词解释存根程序:使用被它代替的模块的接口,可能做最少量的数据操作,印出对入口的检验或操作结果,并且把控制归还给调用它的模块。⭐名词解释集成测试是测试和组装软件的系统化技术⭐名词解释由模块组装成程序时有两种方法。一种是先分别测试每个模块,再把所有模块按要求放在一起结合成所要的程序,这种方法称为(非渐增式测试方法)另一种是把下一个要测试的模块同已经测试好的模块结合起来测试,测完后再把下一个测试的模块结合进来测试,这种每次增加一个模块的方法称为(渐增式测试)确认测试也称为验收测试,它的目标是验证软件的有效性黑河测试力图发现下类型的错误:功能不正确或遗漏了功能        界面错误数据结构错误或外部数据库访问错误性能错误初始化和终止错误。黑盒测试技术包括:填空/选择⭐等价划分边界值分析错误推测调试是在测试发现错误之后排除错误的过程 ⭐名词解释调试途径:填空/简答蛮干法回溯法原因排除法软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定 成功地运行的概率。⭐判软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。⭐判断第八章 维护软件维护:软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护的类型分为?:⭐⭐⭐⭐⭐填空改正性维护适应性维护完善性维护预防性维护决定软件可维护性的因素:可理解性可测试性可修改性可移植性可重用性
回复

使用道具 举报

0

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2025-5-5 11:37:02 | 显示全部楼层
very good
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|开发者网络

GMT+8, 2025-6-7 16:37 , Processed in 0.079066 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表