软件文档期末总结
准备期间,发现根本搜不到"软件文档期末XX”的文档。把当时总结的发出来,希望能对以后考软件文档的小伙伴一些帮助叭
一、名词解释
- 体系结构
体系结构,包括一组部件以及部件之间的联系 - 功能模块
功能模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。 - 三层结构
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层
(1)数据访问层:封装对原始数据的操作
(2)业务逻辑层:对原始数据操作的使用
(3)表示层:对于用户发来的请求进行接受、分析、分发以及返回 - B/S结构
又称浏览器/服务器模式。是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器。浏览器通过Web Server 同数据库进行数据交互 - 扩展性
设计良好的代码允许更多的功能在必要时可以被插入到适当的位置中。这样做的目的的是为了应对未来可能需要进行的修改,而造成代码被过度工程化地开发。 - 开放性
在系统架构、采用技术、选用平台方面都必须要有较好的开放性。要符合开放性要求,遵循国际标准化组织的技术标准,对选定的产品既有自己的独特的优势,又能和其他多家优秀的产品进行组合,共同构成一个开放、易扩充、稳定、统一的软件系统。 - 系统架构
系统构架是对已确定的需求的技术实现构架、作好规划,运用成套、完整的工具,在规划的步骤下去完成任务。 - 权限管理
一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。 - 系统日志
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志 - 功能结构图
分功能或功能单元的相互关系可以用图来描述,表达分功能或功能单元相互关系或从属关系的图称为功能结构图。 [1] - 控制流
控制流是指按一定的顺序排列程序元素来决定程序执行的顺序 - 用户接口
是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。 - 物理数据库
为逻辑数据模型确定一个最适合应用环境的物理结构(包括存储结构和存储方法) - 软件生命周期
将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期 - 瀑布模型
将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、 编码、测试和维护 - MVC
一种开发模式,由模型层、控制层、视图层三层组成。 - 算法
指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。 - 用例建模
用例是一种描述系统需求的方法,使用用例的方法来描述系统的需求的过程就是用例建模。 - 黑盒测试
系统作为一个黑盒子,其行为只能通过软件的接口研究其输入和相应的输出来确定,测试者的目光集中在功能上,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。 - 白盒测试
结构化测试是根据软件的结构知识和实现的知识所进行的测试方法,这一方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
二、简答和论述
- 需求分析的目标是什么
(1)限定软件的功能需求。明确客户为什么要开发该系统,确定客户为了达到这些目的的希望计算机软件做什么。
(2)明确开发目标。避免因为目标不明确而任意发挥,而盲目乱作会导致开发过程受阻或不断返工。 - 概要设计和详细设计之间的区别是什么
(1)概要设计书是设计图,详细设计书是施工图。
(2)概要设计关注系统由几个模块组成,各模块之间的调用关系等大方向的问题,而详细设计关注的是每一个被划分后的模块如何实现等具体问题。
(3)概要设计的设计对象是整个软件系统的协调运转,而详细设计的目标是各个模块的功能实现 - 需求分析书必须具备的四大要素是什么
设计独立性:设计方法的独立性
需求追随性:指需求文档中提到的任何需求都应该是有原因的,或者说都应该具备的比要性。
必要性:需求是必须的。
实现的可能性:在需求分析书中记述的功能或者性能需求都必须是在目前的技术水可能性、成本、时间、人力等开发要素的可能性上能实现的需求。 - 什么是非功能需求
用户界面美观、具有针对性。是为了使系统更加人性化,比较容易学习和推广而提供的起修饰作用的需求。 - 系统划分的基本原则是什么
每一个模块功能简单明确,易于修改
每个模块尽可能小,一项任务一个模块完成
模块相互配合,以实现整个系统的功能
模块间尽可能独立
模块间关系要明确
模块的划分便于系统设计实现 - 子系统和模块的关系是什么
子系统由多个模块组成,模块是一项功能的实现 - 什么是软件框架,目前有哪些实现MVC的框架?
通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。Spring Struts - 目前常见的软件开发模型可分为哪几种类型?
(1)以软件需求完全确定为前提的瀑布模型。
(2)在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如螺旋模型等。
(3)以形式化开发方法为基础的变换模型 - 详细设计的根本目的是什么?
确定应该怎样具体实现所要求的系统,得出对目的系统的精确描述,具体为每一个模块的数据结构和算法的确定,易于在编码阶段直接进行翻译 - 编写软件文档需遵守哪些原则?
(1)应适应文档的读者 (2)应有必要的重复性 (3)应具有一定的灵活性 - 编写软件需求文档的目的和作用是什么?
目的:准确定义系统的目标,为了满足用户需求,必须回答系统做什么的问题
作用:保证软件开发的质量、需求的完整与可追溯性。通过此文档,以保证业务需求提出者与需求分析人员、开发人员、测试人员及其也相关利益人对需求达成共识。 - 软件文档应如何维护和管理?
指定文档编制标准和指南,分部门控制、文档安全加密、人性化设计、共享文件加密 - 通常可以借助哪些形式来描述算法?
自然语言,流程图,伪代码等 - 常用的软件测试方法有哪些?
白盒测试、黑盒测试、静态测试、动态测试、单元测试、集成测试、系统测试 - 黑盒测试和白盒测试的区别是什么
黑盒测试完全不管内部实现,只测试是否得到想要的结果;白盒测试依据内部结构,对所有路径进行测试。 - 系统数据库结构设计包含哪几部分?各部分应记录哪些内容?
主要包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。
(1)需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;
(2)概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;
(3)逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;
(4)物理结构设计:设计数据的存储结构和存取方法,如索引的设计;
(5)系统实施:组织数据入库、编制应用程序、试运行;
(6)运行维护:系统投入运行,长期的维护工作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署