`

软件项目研发的设计流程

阅读更多
一个软件项目研发的设计流程是怎样的呢?以通常标准的设计方法为例,(不过笔者喜欢快速原型法)。 

第一个步骤是市场调研,技术和市场要结合才能体现最大价值。 

第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户操作手册。

   用户视图是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了很多操作方面的流程和条件。数据词典是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。用户操作手册是指明了操作流程的说明书。请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。 
需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。 

第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。

   作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和经验教训的总结,还要重新进行详细设计的步骤。

第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把具体的模块以最‘干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最大;


   一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软件系统在完成了一半的时候,其实还没有开始一行代码工作。那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。 


第五个步骤是编码

   在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都出现过。编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候吗?从来没有! 

第六个步骤是测试 

   测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。以上都很好理解,不再解释。 
总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。 
完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营状况并持续修补升级,知道这个软件被彻底淘汰为止。 


本文节选自:http://blog.csdn.net/Gweber/archive/2005/06/05/388195.aspx
分享到:
评论

相关推荐

    10软件设计开发控制程序.docx

    在设计和开发控制程序中,研发部经理应在对项目的总体过程进行策划的基础上,按照《软件开发规范》和《软件开发流程》的要求,对项目设计开发活动进行策划。策划应明确设计开发各阶段任务列项、预期成果及时间预期、...

    软件开发概要设计模板.docx

    在总体设计部分,我们可以了解到软件的需求规定、运行环境、基本设计概念和处理流程、结构、功能需求与程序的关系、人工处理过程等方面的内容。这些内容是软件开发项目的核心组成部分,对软件的开发和维护具有重要的...

    软件项目开发文档(全套)

    "软件项目开发文档(全套)"包含了多个关键性的文档,这些文档在软件开发生命周期(SDLC)中扮演着不同角色。以下是这些文档的主要内容和作用: 1. **需求规格说明书**:这是项目开始阶段的核心文档,它详细描述了...

    软件项目研发管理流程.doc

    软件项目研发管理流程是软件开发项目中的关键环节,旨在确保软件项目的成功实施和高质量的 deliveries。下面是软件项目研发管理流程的详细解释和知识点总结: 一、软件项目整体开发流程 软件项目整体开发流程是指...

    软件项目研发管理流程.docx

    软件项目研发管理流程是指在软件项目开发过程中,为了确保项目的顺利进行和高质量完成,而实施的一系列管理活动。这些活动包括项目计划、需求分析、设计、编码、测试、部署和维护等多个阶段,每个阶段都对应着特定的...

    软件工程开发项目开发流程

    "软件工程开发项目开发流程" 软件工程开发项目的开发流程是一个复杂的过程,它涉及到多个阶段和步骤。在本文中,我们将总结出项目开发的一般流程,并对每个阶段进行详细的说明。 一、系统开发的一般流程 系统开发...

    产品技术开发项目-软件架构设计模板

    目的:软件架构设计,可以帮我们直观的熟悉整个架构的设计和拓展实现。 本文档作为产品的架构设计说明书,对系统整体进行了架构设计,指导后续的设计与开发。并为网站后续版本的架构参考。 本文内容面向产品经理,...

    软件项目管理系统程序毕业设计

    【软件项目管理系统程序毕业设计】 在信息技术领域,软件项目管理系统是一种关键工具,它旨在协助团队高效地规划、执行和监控软件开发项目。此类系统通常包括需求管理、任务分配、进度跟踪、资源调度、质量控制等多...

    软件项目文档(项目开发计划,需求说明书,设计概要,详细设计,安装计划,软件合同,....)

    1. **项目开发计划**:这是软件项目开始时制定的一份详细文件,概述了项目的目标、范围、时间表、预算、资源分配以及风险管理策略。它为项目的执行提供了一个蓝图,包括里程碑、任务分解结构(WBS)和责任分配矩阵...

    软件项目管理课程设计报告

    总结,软件项目管理课程设计报告旨在提供一套全面的实践指导,帮助学生在理论与实践中找到平衡,提升项目管理的技能,为未来在软件开发领域的工作奠定坚实基础。通过深入学习和实践,学生将能更好地应对复杂项目挑战...

    软件开发项目流程

    "软件开发项目流程" 软件开发项目流程是指从项目计划阶段到软件开发阶段、测试阶段、完成的整个过程。这个过程对软件开发项目的成功至关重要。在这个过程中,项目经理、系统分析员、设计员、程序员、测试员等各个...

    软件开发常见详细设计说明

    本说明书涵盖了软件开发项目所需的各个方面,包括项目背景、设计目的、技术架构、程序系统结构、程序设计、算法设计、接口设计、存储分配、注释设计等。 项目背景 软件开发项目是为了满足特定的业务需求而进行的,...

    软件项目经理规范流程

    在IT行业中,软件项目经理的角色至关重要,他们负责协调团队资源,管理项目进度,确保软件开发的质量与效率。"软件项目经理规范流程"是一个针对这一角色的专业学习主题,尤其对于想要进入手机行业的SPM(Software ...

    案例-软件项目开发流程.pdf

    软件项目开发流程是指在软件项目开发过程中的各个阶段,包括需求分析、设计、实现、测试、部署和维护等阶段。该流程旨在确保软件项目的成功,提高软件项目的质量和效率。 软件项目开发流程的重要性 软件项目开发...

    一个软件项目的开发流程

    软件项目开发流程是一个复杂的过程,涉及到需求调研、系统设计、程序开发、测试、试用、培训、维护等多个阶段。下面将详细介绍每个阶段的知识点。 一、项目启动阶段 在项目启动阶段,需要组建项目团队,确定项目...

    软件项目开发流程规范Release_051227.pdf

    为了确保软件项目的开发按照规定的流程进行,本规范列出了所有相关的流程文件,包括项目开发计划、需求说明书、概要设计书、测试计划、测试用例等。这些文件都是软件项目开发的重要组成部分,需要按照规定的格式和...

    软件项目交接文档资料.doc

    程序流程图可以直观地展示软件项目的逻辑结构和执行流程,使得开发人员和用户可以更好地理解软件项目的工作原理和执行过程。 程序流程图可以分为不同的类型,如顺序图、流程图、状态图等。每种类型的程序流程图都有...

    软件开发前期的项目文档设计

    本文将详细解析"软件开发前期的项目文档设计"这一主题,涵盖软件设计模版、软件开发文档编写、国际软件文档设计说明以及项目变更需求分析等关键知识点。 首先,软件设计模版是项目启动阶段的基础,它提供了一套标准...

    软件项目开发流程设计文档

    以下是对“软件项目开发流程设计文档”中的关键知识点的详细说明: 1. **需求分析**:项目启动的第一步通常是需求分析。这包括与客户或利益相关者进行深入沟通,明确项目目标,识别功能需求和非功能需求。需求必须...

Global site tag (gtag.js) - Google Analytics