软件工程与计算总结(二十)软件交付

软件交付是软件项目的结束阶段 ,标志着软件开发任务的完成——其作为一个分水岭,区分了软件开发与软件维护两个既连续又不同的软件产品生存状态~

在经历连续的辛苦工作之后,开发人员在胜利曙光之前难免会忽视软件交付阶段的一些工作——在准备庆功之余,开发人员要意识到:只有把软件交付工作做好,才是真正的完成整个项目~

目录

​编辑

一.安装与部署

1.安装

2.部署

二.培训与文档支持

1.培训

2.文档支持

三.项目评价

1.项目评价的原因

2.内容

3.方法

4.注意事项


一.安装与部署

软件交付必然意味着软件产品的安装与部署;在进行需求决策时,要考虑到最终产品的安装与部署需求;在体系结构设计时要进行产品部署的设计决策;另外,在开发过程中使用的支持软件也会影响到软件交付~

1.安装

最场景的软件交付方式,开发团队需要创建一个安装包,用户可以通过安装包的执行将软件产品部署到工作环境中~

安装包要进行仔细的设计,并使用工具帮助进行安装包的构建~

  • 确定安装环境:支持的操作系统、语言支撑环境、软件支持、硬件需求等~
  • 列举安装清单:列举需要安装的文件、初始化数据、注册表等清单信息
  • 设计和建立安装包:渐进的安装步骤、各步骤的人机交互方式等,完成设计后就可以使用安装工具创建安装包
  • 测试安装包:安装包需要再目标环境中进行安装测试,以发现可能存在的问题

2.部署

软件产品比较复杂时,仅仅通过一个安装包无法完成软件交付任务时使用——由开发人员直接操纵软件产品的目标环境,使得软件产品能够在目标环境中正常运行~

  • 确定部署环境:需要对目标环境进行调查分析,搞清楚部署前的环境细节,然后才能与软件产品需要的环境细节进行比较,才能明确需要执行的部署任务~
  • 确定部署任务:将软件产品需要的目标环境与部署前的环境进行比较,分析二者之间的差距,并将其确立为部署的任务~
  • 完成部署准备:多数的部署任务需要进行一定的准备,尤其是要综合考虑到部署工作可能出现的各种情况,制定完备的应对方案~

二.培训与文档支持

不仅要把软件产品交给用户,还需要帮助用户理解产品,并使其能够轻松地使用产品,两个关键任务是——培训和文档支持~

1.培训

交互用户使用软件产品来完成其工作与任务,依据任务的不同,要为不同的用户进行不同类别的培训~

注意:只介绍能够帮助用户完成主要工作和任务的功能,不要把培训当做软件产品所有功能的展示会

2.文档支持

不仅培训时可以作为参考资料,而且能够在完成交付之后继续帮助用户使用系统

用户文档:为用户编写的操作指南或者教程,常见的有用户使用手册、联机帮助文档等

  • 可以是纸质的,亦或是电子的
  • 文档内容的组织应该支持其模式
  • 可以只有一份文档,亦或有多份文档
  • 用户文档的写作要考虑到用户群体的特点,最好是图文结合的方式,以方便普通用户的使用

必须包含的内容如下:

  • 标识信息:放在包装袋或者封面,用户不翻阅就能看到
  • 引言:正文的第一部分,描述了文档的预期读者、描述范围以及对文档的、功能和操作系统的描述
  • 文档使用信息:描述关于文档的使用信息
  • 操作模式:使用用户文档的模式
  • 操作规程:所涉及的常见活动规程
  • 软件命令信息:文档要解释用户输入命令的格式和操作规程
  • 错误信息与问题解决:描述软件使用中的已知问题
  • 导航特征:包括章节、主题、页码、链接、图标等~

系统管理员文档:与前者不同,更注重系统维护方面的内容

三.项目评价

1.项目评价的原因

设置“项目”是要保证项目中的各种事件与活动能够依照计划顺利进行,项目评价就是检查其事件与活动的实际执行情况

2.内容

针对如下4个方面:

  • 项目管理:可以帮助建立对项目更准确的认知
  • 产品:可以帮助开发者建立对产品的更准确的认知
  • 团队:可以帮助开发者更好地组织分工
  • 个人:可以帮助开发者更准确认知自己的生产力

3.方法

项目评审:

度量数据分析:

  • 产品的增长情况和变化历史:
  • 产品在每个里程碑上的测量:
  • 产品复杂度内容的测量:
  • 过程和工具对产品的影响:

4.注意事项

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/167027.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[每周一更]-(第68期):Excel常用函数及常用操作

日常工作,偶尔也会存在excel表格入库的情况,针对复杂的入库情况,一般都是代码编号,读文件-写db形式;但是有些简单就直接操作,但是 这些简单的入库不仅仅是直接入库,而是内容中有部分需要进行映射…

Egg.js项目EJS模块引擎

1.介绍 灵活的视图渲染:使用 egg-view-ejs 插件,你可以轻松地在 Egg.js 项目中使用 EJS 模板引擎进行视图渲染。EJS 是一种简洁、灵活的模板语言,可以帮助你构建动态的 HTML 页面。 内置模板缓存:egg-view-ejs 插件内置了模板缓存…

【Java】ArrayList集合使用

ArrayList集合常见方法 方法名称说明public boolean add(E e)将元素插入到指定位置的arraylist中,返回值:返回boolean类型public E remove(int index)删除 arraylist里的单个元素,返回值:返回删除之前的元素public E set(int inde…

LeetCode:2316. 统计无向图中无法互相到达点对数(C++)

目录 2316. 统计无向图中无法互相到达点对数 题目描述: 实现代码与解析: 并查集 原理思路: 2316. 统计无向图中无法互相到达点对数 题目描述: 给你一个整数 n ,表示一张 无向图 中有 n 个节点,编号为…

【已解决】Unity 使用NPOI 写word文档报错:System.TypeLoadException:……0.86.0.518

报错显示 System.TypeLoadException: Could not resolve type with token 01000080 from typeref (expected class ICSharpCode.SharpZipLib.Zip.UseZip64 in assembly ICSharpCode.SharpZipLib, Version0.86.0.518, Cultureneutral, PublicKeyToken1b03e6acf1164f73) at NPOI.…

三种字符串格式化方法(%、format、f-string)

一、使用 % name 第一帅 print(我是宇宙无敌天下%s % name) age 18 print(我是宇宙无敌天下%s,我今年%d岁%(name,age)) price 5.99print(白心火龙果单价是%.1f元一斤%price)二、使用 format 在字符串中,使用{ }进行占位,然后在字符串后…

【C语言】用函数实现模块化程序设计

前言:如果把所有的程序代码都写在一个主函数(main函数)中,就会使主函数变得庞杂、头绪不清,使阅读和维护程序变得困难。此外,有时程序中要多次实现某一功能,如果重新编写实现此功能就会使得程序冗长、不精炼。 &#x…

pensieve运行的经验

1运行run_videopy时出现如下问题: cmd: Union[List[str], str], ^ SyntaxError: invalid syntax原因是EasyProcess版本与python版本不对应,解决办法可见之前这篇博客:SyntaxError: invalid syntax。 2解决完上述问题后,输…

FreeSWITCH 1.10.10 简单图形化界面12 - 注册IMS

FreeSWITCH 1.10.10 简单图形化界面12 - 注册IMS 0、 界面预览1、IMS注册-SIP中继基本设置界面2、IMS注册-SIP中继呼叫设置3、IMS中继-代理设置界面4、IMS注册-SIP中继状态界面5、IMS注册-SIP中继详细状态界面6、IMS注册-SIP中继代拨号码优先界面 FreeSWITCH界面安装参考&#…

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第五部分:支付系统

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第五部分:支付系统前言如何学习支付系统信用卡为什么被称为“银行最赚钱的产品”?VISA/万事达卡如何赚钱?步骤说明为什么开证行应该得到补偿 当我们在商家…

万宾科技智能井盖传感器特点介绍

当谈论城市基础设施的管理和安全时,井盖通常不是第一项引人注目的话题。然而,传统井盖和智能井盖传感器之间的差异已经引起了城市规划者和工程师的广泛关注。这两种技术在功能、管理、安全和成本等多个方面存在着显著的差异。 WITBEE万宾智能井盖传感器E…

并发编程-线程池ThreadPoolExecutor底层原理分析(一)

问题: 线程池的核心线程数、最大线程数该如何设置? 线程池执行任务的具体流程是怎样的? 线程池的五种状态是如何流转的? 线程池中的线程是如何关闭的? 线程池为什么一定得是阻塞队列? 线程发生异常&…

优维低代码实践:片段

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 优维…

【vue】使用less报错:显示this.getOptions is not a function

在vue-cli中使用 lang“less” 时报错: Module build failed: TypeError: this.getOptions is not a function at Object.lessLoader 原因:版本过高所致,所用版本为 解决:降低版本:npm install less-loader4.1.0 --s…

STM32+摁键与定时器实现Led灯控制(中断)

中断作为单片机开发必须掌握的内容,它能够在不搭载操作系统的情况下让我们体验多任务处理的快感,保证了高优先级任务的实时性,同时系统中断也能够提供给用户在核心发生错误之后进行处理的机会。STM32F103系列单片机中断非常强大,每…

Linux中常见的权限问题

目录 前言1. 目录权限2. umask3. 粘滞位结语 前言 在了解完上一篇文章 Linux权限的理解与操作 之后,还有一些比较常见的权限问题需要我们去了解。其中包括目录的权限,umask 以及 粘滞位的使用。 1. 目录权限 问题一:进入一个目录&#xff0…

QT QGLWidge

QGLWidget 学习 前言1.四边形 QGLWidget 2*32. 正方体 1*2前言 1.四边形 QGLWidget 2*3 坐标 效果 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清除屏幕和深度缓存glLoadIdentity(); //重置当前的模型观察矩阵glTranslate…

2001-2022年全国290+个地级市高铁开通数据

2001-2022年全国290个地级市高铁开通数据 1、时间:2001-2022年 2、范围:298地级市(293地级市数(其中莱芜市2019年撤市设区)4直辖市数 ) 3、来源:国家铁路局、铁路客货运输专刊及相关统计 国…

LNMP架构部署Discuz论坛系统

文章目录 LNMP架构&部署Discuz论坛系统部署LNMP架构环境前期准备安装Nginx安装mariadb安装php配置nginx 部署Discuz论坛系统下载Discuz论坛系统代码包部署Discuz论坛系统配置虚拟主机安装Discuz论坛访问站点尝试注册一个账号 LNMP架构&部署Discuz论坛系统 部署LNMP架构…

深度学习 | Pytorch深度学习实践 (Chapter 10、11 CNN)

十、CNN 卷积神经网络 基础篇 首先引入 —— 二维卷积:卷积层保留原空间信息关键:判断输入输出的维度大小特征提取:卷积层、下采样分类器:全连接 引例:RGB图像(栅格图像) 首先,老师…