软件工程文档

软件工程文档

文档是软件开发使用和维护当中必备的资料,文档主要是管理人员、开发人员、操作人员、用户人员之间进行协商沟通的桥梁。

1.可行性分析文档

  • 主要是说明软件在经济上,技术上和市场情景等方面的可行性。
  • 根据这个文档,公司判断软件能否实现,客户要考虑是否把项目给公司,公司考虑是否要接这个项目。

2.需求文档

  • 用户与开发人员进行交流,开发人员根据和用户不断地进行交流,把用户的需求写成文档。需求文档是用户和需求人员沟通的桥梁,需求人员根据用户的要求来变更需求文档。
  • 需求文档对所开发软件的功能、性能、用户界面以及运行环境等作出详细的说明。也就是说,需求文档主要是写明软件有什么功能,性能,谁用这软件等内容。

3.数据库设计文档

  • 数据库设计文档,有些公司是由DBA(数据库管理员)设计的,有些公司是由架构师设计的,有些是由程序员设计的。该文档给出数据逻辑描述和数据采集的各项要求,为生成和维护系统的数据文件做好准备。

4.概要设计文档

  • 由公司的架构师,项目经理来完成。
  • 概要设计文档说明系统的功能分配、模块划分、程序的总体结构、输入输出及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。
  •  架构师根据需求文档设计系统的整体架构,项目经理列出开发计划,架构师完成概要设计之后,就开始给程序员分配任务,进行下一阶段。

5.详细设计分档

  • 程序员拿着架构师设计出来的概要设计文档,开始编写详细设计文档,所以一个项目里面会有很多份详细设计文档,因为每一个程序员负责一部分的功能,每个人写出来的详细设计文档都不一样。
  • 详细设计文档,详细的列出开发的方式,如何编写代码等内容,着重描述功能模块是如何实现的,包括算法和逻辑流程等

6.单元测试文档

  • 一般由程序员完成,这个文档因公司而异,有些公司写,有些公司不写。单元测试文档主要是从代码级别来测试系统(写单元测试,测试自己写的代码),也叫白盒测试。

7.测试计划:

  • 测试计划由公司的测试部门的测试人员进行测试,主要是在文档中列出测试的方案,测试的结果等。
  • 测试计划主要是站在客户的角度对系统的功能进行测试,也叫黑盒测试。

8.测试分析报告

  • 测试完成后,有些公司会写一个测试分析报告,把一些共性的问题挑出来,为以后的开发做个经验的积累。

9.项目开发总结报告

  • 一般是系统部署后,由项目经理对系统进行一个大的总结,看系统实际完成的情况与系统计划实施的情况有什么差异?包括进度,资金、人力的投入情况等,总结出经验和教训。

10.用户手册

  • 详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件。用户手册就相当于我们平时看的说明书一样,说明你的系统如何使用。

11.操作手册

  • 针对的对象主要是操作员,为操作员了解软件的运行情况和操作方法知识。

12.开发进度月报

  • 由公司的项目经理根据当前开发系统的进度填写。

 

posted on 2013-01-19 20:05 雨落天涯 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/mingxuanyun/archive/2013/01/19/3084233.html

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

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

相关文章

关于map对key自定义排序

map对key默认是从小到大排序 也可以自定义排序 #include <iostream> #include <map> #include <string> // 定义自己std::map比较器 template<class _Ty> struct PLess { // functor for operator< bool operator()(const _Ty& pLef…

openssl1.1.1ARM双编译

32位的机器&#xff0c;编译法 setarch i386 ./Configure linux-generic32 no-asm shared no-async --prefix/usr/local/openssl1.1.1q CCarm-linux-gnueabihf-gcc ./ ./Configure linux-generic32 no-asm shared no-async --prefix/usr/local/openssl1.1.1q CCarm-linu…

fatal error C1010: unexpected end of file while...

为什么80%的码农都做不了架构师&#xff1f;>>> 在编译VC6.0是,出现fatal error C1010: unexpected end of file while looking for precompiled header directive 的错误. 解决方法&#xff1a; 1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引…

CMake编译 oss -cpp-sdk arm列子

一&#xff1a;声明 请用自带的交叉编译器编译&#xff0c;openssl curl也要交叉编译 1:编译arm.cmake文件 cmake_minimum_required( VERSION 2.6.3 ) if( DEFINED CMAKE_CROSSCOMPILING ) # subsequent toolchain loading is not really needed message("DEFINED CMA…

jQuery css

jQuery css模块用于css属性的修改操作。 jQuery.fn.css jQuery.fn.css function( name, value ) {//又是用access来操作return jQuery.access( this, function( elem, name, value ) {var styles, len,map {},i 0;//如果name是数组if ( jQuery.isArray( name ) ) {//通过get…

OpenGL 人物走动源码

2019独角兽企业重金招聘Python工程师标准>>> OpenGL 人物走动源码&#xff0c;记得前两天发了一个OpenGL的立方体程序&#xff0c;这个比那个厉害&#xff0c;这个是一个可以走动的小怪兽&#xff01; 转载:http://www.adobex.com/android/source/details/00000064.…

在Hyper-v中创建并安装虚拟机

1.1.1 创建并安装虚拟机 创建并安装虚拟机系统的步骤&#xff1a; 1. 点击“开始”“程序”“管理工具”“Hyper-V 管理器”。 2. 如图点击“新建”“虚拟机”。 3. 在出现的开始之前对话框&#xff0c;点击“下一步”。 4. 在指定名称和位置对话框&#xff0c;输入名称&#x…

《算法导论》读书笔记之第1章 算法在计算机中的作用

本章是本书的开篇&#xff0c;介绍了什么是算法&#xff0c;为什么要学习算法&#xff0c;算法在计算机中的地位及作用。 算法&#xff08;algorithm&#xff09;简单来说就是定义良好的计算机过程&#xff0c;它取一个或一组值作为输入&#xff0c;并产生出一个或一组值作为输…

ubuntu部署tomcat

安装版本&#xff1a;apache-tomcat-7.0.29.tar.gz&#xff08;官方网址&#xff1a;Apache Tomcat&#xff09; 安装步骤&#xff1a; 1、下载 Tomcat 下载 apache-tomcat-7.0.29.tar.gz&#xff08;官方网址&#xff09; 2、解压 Tomcat 解压 apache-tomcat-7.0.29.tar.gz ta…

android 底部菜单

2019独角兽企业重金招聘Python工程师标准>>> 新浪微薄上的一个底部菜单的实现,有兴趣的 可以看一下转载:http://www.adobex.com/android/source/details/00000118.htm 转载于:https://my.oschina.net/androidcode/blog/103835

reposurgeon 2.15 发布

reposurgeon 2.15 改成 cvs-fast-export 用于读取 RCS 和 CVS 集合&#xff0c;在效率上也有一些改进&#xff0c;并对代码进行了清理。 reposurgeon是一种工具,用于编辑版本控制存储库的历史。它允许你做一些版本控制不允许你做的操作&#xff0c;比如编辑过去的评论和元数据、…

PullToRefresh

2019独角兽企业重金招聘Python工程师标准>>> 实现下拉刷新列表内容的效果。 Code4App编译测试&#xff0c;测试环境&#xff1a;Xcode 4.3, iOS 5.0。 转载:http://www.adobex.com/ios/source/details/00000062.htm 转载于:https://my.oschina.net/u/868244/blog/10…

LYNC文件传输功能开关

LYNC如何关闭和开启文件传输功能&#xff1f;大家都知道有文件筛选的控制&#xff0c;在POWERSHELL也没有看到关闭文件传输的命令。其实这个功能在控制台上一个不显眼的位置&#xff0c;见下图&#xff1a; 此处的勾用来控制客户端上的附件图标&#xff0c;需要重新启动客户端才…

Mybatis(1)---入门篇单表查询

1.Mybatis介绍 MyBatis 是一款优秀的持久层框架&#xff0c;它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的POJO&#xff08;Plain Old …

Mybatis+Tomcat使用JNDI配置数据源入门

在我们已经有了Mybatis基础的情况下&#xff0c;我们可以使用Tomcat部署web项目1.创建Maven项目 选择webapp 2.配置pom.xml 在pom.xml中添加依赖 这里的依赖比单纯的Mybatis配置多了两个 一个是jsp的依赖&#xff0c;另一个是servlet <dependencies><dependency>&l…

Liferay开发学习Part6:Service Builder

2019独角兽企业重金招聘Python工程师标准>>> 一.什么是Service Builder&#xff1f; Service Builder是liferay IDE提供的一种代码生成方案&#xff0c;开发人员只需编辑一个数据库实体的描述文件&#xff08;XML&#xff09;,即可根据XML文件生成Spring层代码、Hib…

html+css实现响应式布局入门

什么是响应式布局 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念&#xff0c;简而言之&#xff0c;就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的。响应式布局可以为不同终端的用户提供更加舒适的界面…

UNIX-LINUX编程实践教程-第三章-实例代码注解-ls2

一 问题 对ls1的功能进行扩展&#xff0c;以达到类似ll命令的功能。 二 分析 在ls1中&#xff0c;我们利用readdir()函数和dirent结构体来获得目标文件夹内的文件名&#xff08;dirent->d_name&#xff09;。  现在我们借助函数stat()和结构体stat以及上面得到的文件名来获…

ajax入门篇

什么是ajax AJAX即“Asynchronous JavaScript and XML”&#xff08;异步的JavaScript与XML技术&#xff09;&#xff0c;指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由杰西詹姆士贾瑞特所提出[1]。 传统的Web应用允许用户端填写表单&#xff08;form&#…

BJRangeSliderWithProgress

2019独角兽企业重金招聘Python工程师标准>>> BJRangeSliderWithProgress 是一个带范围选择的进度条&#xff0c;我用它来做录音的进度指示&#xff0c;并可在选择的范围内进行回放。 转载:http://www.adobex.com/ios/source/details/00000865.htm 转载于:https://my…