如何写项目文档?项目文档有哪些?

article/2025/9/18 5:39:38

  软件新人经常问我一个项目应该到底有哪些文档,在此结合工作实际把我一般形成的文档作一列表,仅供诸位参考。

  

  一、项目立项建议书

  项目立项建议书主要用于分析项目要求与各种资源是否能够匹配,用来决策层决定是否最终立项。

  主要要素包括:

  (1)项目名称、建设单位、项目负责人、联系方式、项目来源、立项日期

  (2)建设单位(政府或企业)背景

  (3)项目概述

  (4)研发能力(自主或外包)

  (5)项目开发计划(团队分工、成本估计、项目进度采用Gantt图)

  (6)结论与系统目标

 

  二、可行性分析报告

  可行性分析报告主要用来对于项目立项的可行性分析,用以辅助项目立项,可以认为是项目是否立项的主要依据。

  主要要素包括:

  (1)引言(编写目的、背景、定义、参考资料与标准)

  (2)可行性研究的前提

  (3)对现有系统的分析(如果是新项目略过)

  (4)所建议的新系统:改进之处与优势

  (5)可选择的其它系统解决方案

  (6)风险评估

  (7)投资及效益分析

  (8)结论

 

  三、项目开发计划

  项目开发计划主要用于控制项目进度。

  主要要素包括:

  (1)引言(编写目的、背景、定义、参考资料)

  (2)项目概述(工作内容、参加人员、产品、服务、非移交的产品、验收标准、完成项目的最迟期限)

  (3)实施计划(任务分解与分工、接口人员、进度、预算、关键问题)

  (4)支持条件

  

  四、开发合同

  开发合同主要用于规范开发方与使用方的权利与义务。(自行研发产品略过)

  主要要至少包括:

  (1)甲乙双方主体

  (2)签订日期、交货日期、交货地点

  (3)双方权利与义务

  (4)服务和升级

  (5)合同违约

  (6)合同终止

  (7)知道产权与保密义务

  (8)验收标准

  (9)结算方式

  (10)其它事宜

 

  五、需求分析(业务流程)

  需求分析是软件开发的一个至关重要的环节,需求是项目成功的根本,是项目的方向,如果方向错了,后果可想而知。

  这个阶段主要用来软件开发方与客户沟通方便,尽可能采用通俗易懂的图示,一定勿用专业建模图形。

 

  主要要素包括:

  (1)甲乙双方项目小组成员与沟通机制

  (2)基本术语与字典

  (3)业务概述

 

  六、业务用例

  业务用例是在上一阶段需求分析的基础上,进一步细化每项功能。

  主要要素包括:

  (1)甲乙双方项目小组成员与沟通机制

  (2)基本术语与字典

  (3)业务用例:(用例名称、适用范围、主执行者、前置条件、成功保证、触发事件、主成功场景、扩展)

 

  七、用户界面UI

  用户界面主要用来根据业务用例做出仿真界面,客户可以直观体验文字描述中的正谬。

  主要要素包括:

  (1)UI规范

  (2)WEB开发采用Dreamweaver绘制静态页;WinForm采用相应工具表达(例如VS2010)

  (3)保存形式:电子

 

  八、业务建模

  业务建模主要根据前面阶段的分析结果建立程序开发人员能够熟悉的开发模型。

  主要要素包括:

  (1)建模工具:Rose或者Visio

  (2)保存形式:电子

 

  九、数据库建模

  数据库建模主要用于数据库设计。

  主要要素包括:

  (1)建模工具:PowerDesigner等

  (2)保存形式:电子

 

  十、语言编码

  语言编码是程序开发最为重要的阶段,无论其它阶段多么完美,最终都要通过该阶段达成。
  主要要素包括:

  (1)编码约定及规范

  (2)保存形式:电子

 

  十一、测试文档

  测试文档是用来运用各种模型进行黑盒或者白盒测试,以便程序健壮和具有良好的容错性。

  主要要素包括:

  (1)软件测试理论

  (2)编制测试文档(用例名称、测试目的、测试人、测试时间、测试结果、初始条件、测试步骤、结果验、不符合要求描述)

 

  十二、操作手册

  操作手册主要用来说明软件如何安装与使用。

  主要要素包括:

  (1)安装、卸载说明

  (2)操作手册

 

  十三、结项报告

  

  结项报告主要总结本次项目的成功与不足之处,对于成功的经验以便于下一次工程借鉴,不足之处加以改进,避免再犯同样的错误。

  主要要素包括:

  (1)总结成功经验

  (2)总结不足之处的教训

 

  至此,一个项目可以告一段落。

 

-------------------------------------------------------------------------------------------------------------------------------------------------

 

  项目是一件事情、一项独一无二的任务,也可以理解为是在一定的时间和一定的预算内所要达到的预期目的。项目侧重于过程,它是一个动态的概念,例如我们可以把一条高速公路的建设过程视为项目,但不可以把高速公路本身称为项目。那么到底什么活动可以称为项目呢?安排一个演出活动;开发和介绍一种新产品;策划一场婚礼;进行工厂的现代化改造;主持一次会议等等这些在我们日常生活中经常可以遇到的一些事情都可以称为项目。

 

-------------------------------------------------------------------------------------------------------------------------------------------------

 

  我们在教课书上经常听到70%以上的项目都是失败的,根据项目上述定义,无论是你的项目:(1)不能按期完成;(2)超过预算;(3)没有达到预期目的,至要你的项目这三个要素有一个不符合都称之为失败。

  如果项目经过延期之后,达到甚至超越预期目的,从项目本身而言仍然是失败的项目,但是你的项目质量可能是优秀的。


http://chatgpt.dhexx.cn/article/HAEj0U6Q.shtml

相关文章

synplify成功运行起designware的方法,巨坑

因为手头FPGA是zynq ultrascale。所以更新了synplify到2019版本。手里的项目必须要用designware来做验证。各种研究,填了N多的坑。终于搞定。 先说原理: 1. 电脑上有design compile,license各种都搞定,dw库可用。可以装在虚拟机…

VIVADO2018与SYNPLIFY联合使用

VIVADO2018与SYNPLIFY联合使用 1、synplify生成网表文件.edf ①新建工程,设置所选的FPGA型号。 ②添加源文件,可以源文件,也可以是包括很多源文件的文件列表(.v/.sv)。 ③根据需要添加约束文件.fdc。 ④点击RUN生成网…

ModelSim,synplify,ISE后仿真流程

首先,我把我用到的软件说明一下。如果你发现根据我的操作,你还是解决不了ModelSim后仿真的问题,那就可能是软件版本的问题。 1, ModelSim Se 6.1b 2, Synplify Pro 7.5.1 3, ISE 5.2i (这个…

Python 中的Sympy详细介绍

Python 中的Sympy详细使用 遇到复杂计算找python绝对不让你失望,sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题。虽然Matlab的类似科学计算能力也很强…

如何使用synplify综合ISE Core Generate生成的IP核

Xilinx的ISE软件有自带的综合工具XST,但是我们有时候需要使用第三方的综合工具(例如Synopsys的Synplify Pro,Synplify Primier,其中,Synplify Primier可以综合synopsys的DesignWare库),这时候就需要在synpl…

synplify 9.6.2 download

现在这种工具太难找了,找了一上午才搞定;唉,还是贡献出来吧,最好别被河蟹掉 链接:http://pan.baidu.com/s/1pJv7ovx 密码:um2k 里面的破解方法有点问题, 一、install exe,选Fl…

如何破解Synplify Pro 9.6.2? (SOC) (Synplify)

软件安装与注意事项如下: Introduction Step 1: 安裝Synplify Pro Step 2: 選擇Floating (License is on a license server) Step 3: 稍後會設定SYNPLCTYD_LICENSE_FILE(我认为是LM_LICENSE_FILE)系統變數&…

lattice 的Synplify pro综合工具,以及RTL寄存器查看

对于diamond来说,查看RTL级的示图时,必须以LSE(自带的综合工具)来编译综合代码。 而经常会出现Synplify pro编译通过,LSE编译出现bug的情况,所以用LSE编译代码,总不让人放心。 默认使用Synpli…

Synaplify综合的常用命令(1)

在芯片设计中大都绕不开用Synaplify来对数字代码进行综合,特别是在大系统中,资源很多,这样会导致FPGA中的资源不够用,就需要我们在综合中加一些限定来解决一些问题,这篇文章先介绍一些自己遇到的和资源相关的问题以及相…

ISE工程导入Vivado

在介绍工程模式下的设计方式时,提到了Vivado一个选项Imported Project能够导入本由synplify、xst或者ISE设计套件所创建的RTL工程数据。参见:https://blog.csdn.net/qq_26652069/article/details/91562652 下面尝试将ISE中的一个实现UART回显的工程导入…

Synaplify综合报错Signal 011 error in m_xilinx

在用Synaplify2020的版本综合的时候会报出错误,E:Internal Error in m_xilinx Stack trace或者是Signal 011 error in m_xilinx Stack trace。乍一看像是环境问题,其实是你的代码里面用到的ram的问题,当然也可能是rom的问题,总之和…

Synaplify综合Removing

记录一下用Synaplify综合出现的Removing警告问题,在用Synaplify综合的时候,你可能综合完之后发现有的port不见了,或者instance不见了,这都是很常见的问题,这个时候你只要去搜索log关键词Removing,再和你要找…

Vivado与Synplify联合设计FPGA

这篇文章主要记录近几天在使用Vivado以及Synplify工具进行FPGA的Synthesis、Implementation、以及BitStream出现的相关问题。 一、工具使用 RTL代码编辑:修改Vivido内置编辑器为VSCode编辑器,个人习惯,偏好VSCode。修改内置编辑器&#xff…

如何使用Synplify综合vivado带IP核的工程

文章目录 使用Synplify综合的好处synplify的教程方法1(无效)方法2 VIVODO工程遇到的问题 使用Synplify综合的好处 下面的说法来自网上: 综合时间更好,综合出来所使用的逻辑更少综合的时序更好 在IC设计中,使用Synplif…

Oracle分析函数取平均值,7-oracle_分析函数(一)

1.分组聚合函数 聚合函数主要有求和:sum();最大数:max();最小数:min();平均值:avg();统计数:count()等,在应用此类函数的时候,要么是从全集合来看…

oracle分析函数-RATIO_TO_REPORT() OVER()

1、RATIO_TO_REPORT()为比例函数 2、创建测试表,并插入数据 CREATE TABLE TEST_V( DEPTNO VARCHAR2(10), NAME VARCHAR2(10), SAL NUMBER ); 3、实例1:要求计算各部门工资合计,以及该工资合计占总工资的比例: SELECT TT.DEPT…

Oracle分析函数之Rank函数

本文主要讲述Oracle分析函数之Rank函数的用法 最近接触到Oracle这个功能强大而灵活的函数。这个函数特别适用于各种统计查询,下面就来说一说。 首先存在 product 表 SELECT p.create_time, p.name, p.service_evaluate_fee, p.product_type FROM product p 表数…

oracle 分析函数之分组求和、连续求和

最近在《sql cookbook》书上发现了名叫 分析函数 的东西,之前学 oracle 时没有印象,现在感觉其分析函数的功能相当强大、神奇, 就特意去找到了 chm 文档研究了一下,想要的朋友在本文末尾自行下载。 本文的例子都来源于 chm 文档…

在Oracle分析函数中使用FIRST_VALUE和LAST_VALUE

FIRST_VALUE and LAST_VALUE in Oracle Oracle中的FIRST_VALUE和LAST_VALUE These are Oracle analytical functions used to return the first value or the last value from a set of ordered rows. These functions can get the first value or the last value within a co…

Oracle 分析函数over,列转行函数pivot理解及综合运用(报表中的小计和合计)

1、Over函数(分析统计函数) 1.1语法 sum/avg/count() over(partition by ..)over()在什么条件之上;partition by 按哪个字段划分组; 1.2示例 SELECT E.ENAME,E.JOB,E.SAL,E.DEPTNO,SUM(E.SAL) OVER(PARTITION BY E.DEPTNO) SUM_SAL, …