大型软件项目流程(一个完整的软件项目的流程)

大型软件项目流程(一个完整的软件项目的流程)缩略图

请问一个大型软件开发项目的具体流程步骤!

请问一个大型软件开发项目的具体流程步骤!

1相关系统分析员和用户初步了解需求,然后用WORD例出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。

2系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。

3系统分析员和用户再次确认需求。

4系统分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。

5系统分析员把写好的概要设计文档给程序员,程序员根据所例出的功能一个一个的编写。

6测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。

举个例子来看:

1某公司想找人订做一套人事管理软件,从某种渠道上得知我们有提供这种服务,所以联系上了我们。

2我们会派专门的软件工程师到他们那里去了解我们要设计一个什么的东西给他们用,然后回来做个方案给他们,其中方案的内容包括:我们开发出来的软件大概的界面是怎样?方便什么人使用?什么人可以使用什么功能?方便到什么程度?大概的硬件要求是怎样等?

3他们看了方案后,确定他们就是要做一套这样的软件,我就开始开发这套软件。

4我们把开发出来的软件交用他们使用,其中在使用的过程中哪里使用不方便或哪里达不到要求,我们会第第一时间修改这些功能,直到他们要求的所有功能都能很完美的解决掉。

大公司开发java软件的流程

大公司开发java软件的流程

如果是自主研发的项目,一般最前期是市场需求调研,基本上这个需要非常长的时间,然后会有架构师或者高级项目经理写系统设计文档和需求文档,开发人员,测试人员了解需求,并对需求中存在异议的地方讨论评审,如果仍然存在异议,开发人员与需求设计师(系统架构师)之类的人员进行讨论,直到确定需求(在这之间,可能会有些技术是有的开发人员不会的,这时候就需要高级项目经理安排一些培训)。开发人员讨论需求的同事,管理人员需要确定整个项目的周期,以及项目需要的配套的东西。开发人员对需求掌握之后,开始做设计,数据库设计,模块设计等这些都是专职人员或者项目经理做的事情。设计完成之后分工(每个模块完成的时候项目经理会规划好,这其中包括各个模块的时间表,比如每个模块的开发的开始时间,开发的结束时间,测试的开始时间,测试的结束时间,整个项目系统测试时间等)。进入开发时间(测试人员开始写测试用例),服务器管理员会搭建测试服务器和开发服务器。开发人员完成某一个单独的小模块,测试人员会做单元测试。完成某一个大模块,就做模块集成测试。整个项目开发结束之后,测试人员做系统测试,性能测试,压力测试等。测试完之后项目就进入实施阶段,这个阶段就是项目的部署,调试了。我经历过的大致就是这样了!

软件开发的一般流程是什么?_?

软件开发的一般流程是什么?_?

软件开发流程分为: 需求确认——概要设计——详细设计——编码——单元测试——集成测试——系统测试——维护

软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。

软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。

扩展资料

软件开发方面的工作。具体可分为以下方面:

1 可视化编程掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。 就业方向:企业、政府、社区、各类学校等可视化编程程序员。

2 WEB应用程序设计 具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。 就业方向:企业、政府、社区、各类学校等WEB应用程序员。

3 软件测试 掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。 就业方向:企业、政府、社区、各类学校等软件测试员。

4 数据库管理 能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQL Server数据库应用或Windows XP应用认证。 就业方向:企业、政府、社区、各类学校等部门的中、大型数据库管理员。

5 图形图像制作 精通国际上流行的图形/图像制作工具(如CorelDraw、Photoshop、Pagemaker等)。获取平面设计师相关的认证。 就业方向:广告制作公司、建筑设计公司、包装装璜设计公司、居室装修公司、出版印刷公司。

参考资料来源:搜狗百科-软件开发

软件开发的流程是什么?

一般软件的项目流程是客户需求->设计->编码->测试->发布. 如果是产品的话,软件需求->设计->编码->测试->发布->市场推广.

软件项目开发流程是什么样子的!

项目可行性研究,制定项目开发计划.成立小组并选定小组长及课题,小组讨论进行任务分解与分配,确定任务进度,并由项目经理完成《项目开发计划书》. 需求分析.根据任务书开展项目的需求分析,并由任务承担人完成《项目需求分析规格说明书》 初步设计.按照任务分配及项目进度要求,根据《项目需求分析规格说明书》,任务承担人完成《项目初步设计规格说明书》. 详细设计.按照任务分配及项目进度要求,由任务承担人对项目进行详细设计 代码编写.至少应完成项目开发计划和需求分析中要求的功能,可以适当增加 测试.对实现部分的软件功能或者模块进行测试,并完成《项目测试报告》 你可以参照国标8567-88来完成.大概流程就是上面的

求大型Java web应用程序开发流程.

项目流程的最主要核心就是需求分析,当需求分析客户确认之后,你们才应该画实体关系图也就是UML模型图吧,你所画出来的UML图应该是和你的需求分析相一直的!! 就比如说一个实体类,你所应该体现的是实体的所有属性个get和set方法 并且体现类与类之间的关!! 如:集成,实现接口等!

一个软件研发要经过哪几个步骤

个人认为研发一个成功的软件需要在以下方面着手:

1. ERP软件企业的软件与ERP软件企业的管理

一个管理软件企业的管理理念将会或多或少地融入到其产品中去。因此一个管理软件企业自身管理的好坏对整个产品的成功至关重要。

2. 对目标客户现在和将来几年内需求的真正认知

如果仅仅知道某个客户有某个需求,但是并不知道某项功能有多少比例的目标客户采用,在这种情况下决定将这一功能作到产品中,而不是为某些客户提供二次开发来解决问题,是非常仓促的。因此,在研发一个ERP产品前首先要知道目标客户现在需要什么?在产品生命周期中还可能会有什么需求?其次要清楚我们怎样满足用户各种各样的需求。这里衡量满足刻户客户需求好坏的是用户的满意度、我们的净利润的高低。

3. ERP软件企业应该是个学习型组织

这里所说的学习型组织不仅仅停留在积累竞争对手的产品知识、相关信息、客户资源等方面,还需要从组织的开发过程管理等各项任务中进行不断学习、总结、改进。以使企业管理不断进步,使企业在产品研发工作中积累丰富的经验,久而久之,形成一套适合本组织的产品研发方法。这有点象闭环控制系统,还有点象精益生产方式。这也是自我学习型组织的一个显著特征。学习型组织也犯错误,但不会长期重复犯同样的错误。学习型组织会从以前的错误中找到解决问题的办法。

4. 团队的作用

构建一个良好的团队对整个研发过程的成败至关重要。在团队中,要有主抓管理的核心成员,要有主抓技术的核心成员,并进行合理分工、协作。而且团队可以有多个层次:核心团队负责涉及全局问题的决策,次核心团队对核心团队负责,负责日常计划、技术等各项问题的决策等。团队的成员应该打破需求、设计、开发的界限,采用大模块方式更加适合并行开发。

另外,团队管理中,统一思想很重要。只有大家心往一处想、劲往一处使,才能如期达到目标。有计划地定期沟通是解决这一问题的好办法。

4. 如何组织并行开发

研发的并行方式是指需求工作、设计工作、代码开发工作、测试工作的并行。但是这为整个研发过程的组织带来了很大难度。并行开发的每个环节如果没有有效的计划管理、进度控制、质量管理,最终只能导致混乱、效率低下和大量的重复工作。因此,此时上道工序的质量好坏将对后续工序产生严重影响。这里,需要借鉴精益生产方式的方法,不让上道工序的次品流到下一工序。这需要通过TQC和严格的质量把关来实现减少返工、缩短工期的目的。

6. 如何有效组织具体工作

大型软件项目的研发最大的成本就是人员工资。因此如何充分发挥每个人的作用至关重要。这就需要制定一套周密的滚动研发计划,并逐级层层细化到每个人,为每个人制定一个可行的近期、中期计划。

7. 合理控制项目预算

项目预算一旦制定,就要起到良好的控制作用。多从提高效率上下工夫。

8. 使用管理软件辅助管理

如Clearcase、Rose、Project、MSN等都是很好的管理工具。还可以自己根据需要开发一些工具软件解决所面临的具体问题。

软件开发项目的流程?

现在项目管理很快被提到了一定的高度,并且在软件的开发过程中起着至关重要的作用。管理项目要注意的事项一般有以下几点:

首先是要确定开发的模型,开发模型的好坏直接关系到一个项目的成功与否,只要有了好的开发模型就可以控制住项目的进度从而降低风险

早期的开发模型是一个文档的驱动流程,一般会将软件的开发分为几个阶段,只有在完成了一个阶段后才能进入下一个阶段。只有当所有的模块都开发完成后才可以进行系统的集成,但是,这是一个艰巨的任务,还有一定的风险

传统的软件开发流程中会遇到很多的问题,针对其问题建议各位使用迭代化的开发方法。它就是为了完成一定阶段的目标进行的开发活动。一般包含了需求调研、软件实现、版本集成以及软件发布等开发活动

此外,还要制定开发计划,当确定好项目开发模型后,一整套项目开发计划就是开发过程当中用户和公司管理层了解项目进展的一个根据。一般而言,项目的管理层人员以及需求分析人员都会跟据用户之前的需求,来定义整个项目实施过程中的项目迭代过程,还有每个迭代过程中的开发目标以及范围。

以上回答你满意么?

企业软件开发流程是什么

软件开发流程

  软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。

  1 相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。

  2 系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。

  3 系统分析员和用户再次确认需求。

  4 系统分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。

  5 系统分析员把写好的概要设计文档给程序员,程序员根据所例出的功能一个一个的编写。

  6 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。

  举个例子来看:

  1 某公司想找人订做一套人事管理软件,从某种渠道上得知我们有提供这种服务,所以联系上了我们。

  2 我们会派专门的软件工程师到他们那里去了解我们要设计一个什么的东西给他们用,然后回来做个方案给他们,其中方案的内容包括:我们开发出来的软件大概的界面是怎样?方便什么人使用?什么人可以使用什么功能?方便到什么程度?大概的硬件要求是怎样等?

  3 他们看了方案后,确定他们就是要做一套这样的软件,我就开始开发这套软件。

  4 我们把开发出来的软件交用他们使用,其中在使用的过程中哪里使用不方便或哪里达不到要求,我们会第第一时间修改这些功能,直到他们要求的所有功能都能很完美的解决掉。

  软件开发中的注意事项

  1、项目设计

  项目设计的主导思想,我觉得可以理解为两种,一种是完全设计,一个是简单设计。

  完全设计是指在具体编写代码之前对软件的各种方面都调查好,做好详细的需求分析、编写好全部的开发文档,设计出程序全部流程后再开始写代码。 换句话说,就是全部的计划好了,能看到最终的样子,再开战。这好像也是很多“软件工程”书里要求的那样。开始的时候,我觉得这种方法不错也。什么都计划好了,照着做就是了。不过这里有个明显的问题,就是谁来做这个完美的计划?估计只有及其BT的人了,但是大部分人的想要完全设计,并且没有错误,或者已经有几种后备的容错方案,并能准确无误的推行。以达到最终目标。这样的境界,没有很多年的工作经历是不可能的。我也没有这样的本事,所以我也就放弃了这种想法。

  简单设计:简单设计一种概念,一种可以接受的简单的设计,最起码数据库已经定下来,基本流程已经确定的方案,来作为程序设计的开始,并随时根据实际情况的进展来修正具体的功能设计,但这种功能修改不能是修改数据库结构。也就是说数据库结构是在编程之前经过反复论证的。这种方法减少了前期设计的时间,把代码编写工作和部分设计工作放在了一起,实际缩短了项目开发的时间。如果说完全设计方法要求有很厉害的前期设计人员,那么简单设计要求有很有设计头脑的编程人员。编程人员不仅仅是K代码的人而且要负责程序架构的设计。所以对程序员的要求就很高了。 简单设计的成功的一个基点是编程人员设计的逻辑结构简单并能根据需要来调整其逻辑结构,就是代码结构灵活,简单设计带来的另外一个变化就是会议会比较多,编程人员之间的交流就变的很重要。现在一般的中小型软件公司基本上都是采用简单设计的,除非那些很大型的软件公司。

  总结,简单设计考验的是开发人员的能力。完全设计考验的是前期设计人员和整个项目组完整能力。(各种文档的编写,开发人员一定会要写一部分的。)

  2、设计变化和需求变化

  开发人员最怕的是什么呢?设计变化,还是需求变化?我觉得需求变化是最最致命的。当你的一个项目数据库都定下来后,而且已经开发了若干个工作日,突然接到甲方公司提出,某个功能要改变,原先的需求分析要重新改,如果这个修改是涉及的数据库的表结构更改的话,那真是最致命的。这就意味着项目的某些部分得重新推倒重来,如果这个部分跟已完成的多个部分有牵连的话,那就后果更可怕了。所以当碰到这种情况发生,作为项目经理的你就应该考虑先查责任人,究竟是自己的需求分析做的不够好,还是客户在认同了需求分析后做出的修改,如果是后者的话,你完全可以要求客户对他的这个修改负责任!那么,呵呵,客户先生,对不起了,本次新增加的需求将归入另外一个版本。如果是改变前面某个需求的定义,那么说不定就要推倒重来了,不过这个时候到不用太在意,毕竟错的是客户。(项目正式开始前没有没有说清楚其需求)。所以,各位看客,在需求分析做好后,在开工之前一定要叫客户认可签字,并且在合同上要注明,当由客户原因引起的需求改变而造成开发成本的增加,客户要为此买单地。

  如果在需求不变的情况之下,设计发生了变化,这个仅仅是我们内部之间的矛盾,商量一下就能解决。在简单设计中,因为前期的设计是不完整的,那么当进入任何一个新的模块进行开发时,都有可能引起设计的变化。开发人员的水平的高低就基本上决定了软件的好坏。

  3、代码编写

  当需求定下来数据库也定下来后, 其实我们就可以进行实质性的编码了,按照我的看法,一个人单独编程最好,能随时偷懒。(上网,和MM聊聊),但是现在的软件项目越来越大,工期也越来越紧,事实上我们一个小组里面,一般有3-5程序员,所以我们要强调团队合作性。那么你写的代码使得别人要能够看懂,我们必须在实际的编写代码过程中要有详细的编码规范,编码规范在很多书籍里面都提到过。但最起码以下的一些规范是我们必须要遵守的:

  一)源程序文件结构:

  每个程序文件应由标题、内容和附加说明三部分组成。

  (1)标题:文件最前面的注释说明,其内容主要包括:程序名,作者,版权信息,简要说明 等,必要时应有更详尽的说明(将以此部分以空行隔开单独注释)。

  (2)内容控件注册等函数应放在内容部分的最后,类 的定义按 private 、 protected 、 pubilic 、 __pubished 的顺序,并尽量保持每一部分只有一个,各部分中按数据、函数、属性、事件的顺序。

  (3)附加说明:文件末尾的补充说明,如参考资料等,若内容不多也可放在标题部分的最后。

  二)界面设计风格的一致性:

  由于采用可视化编程,所有的界面均与Win32方式类似,相应采用的控件等也大都为Windows操作系统下的标准控件,而且参考了其他一些市面上相关的企业内部管理的应用软件。

  基于简单易操作的原则,贴近用户考虑,用户界面采用Windows风格的标准界面,操作方式亦同Windows风格,这样在实施过程,可以降低对客户的培训,也可以使用户容易上手,简单易学。

  三)编辑风格:

  (1)缩进:缩进以 Tab 为单位,一个 Tab 为四个空格大小。全局数据、函数 原型、标题、附加说明、函数说明、标号等均顶格书写。

  (2)空格:数据和函数在其类型,修饰(如 __fastcall 等)名称之间适当空格并据情况对 齐。关键字原则上空一格,不论是否有括号,对语句行后加的注释应用适当空格与语句隔开并尽可能对齐。

  (3)对齐:原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。

  另每一行的长度不应超过屏幕太多,必要时适当换行。

  (4)空行:程序文件结构各部分之间空两行,若不必要也可只空一行,各函数实现之间一般空两行。

  (5)注释:对注释有以下三点要求:

  A、必须是有意义;

  B、必须正确的描述了程序;

  C、必须是最新的。

  注释必不可少,但也不应过多,以下是四种必要的注释:

  标题、附加说明;

  函数说明:对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回 值说明等,必要时还要有一些如特别的软硬件要求等说明;

  在代码不明晰或不可移植处应有少量说明;

  及少量的其它注释。

  四)命名规范:

  坚持采用匈牙利变量命名惯例,所有标识符一律用英文或英文缩写,杜绝采用拼音,标识符中每个单词首字母大写,缩写词汇一般全部大写,只在必要时加“_”间隔词汇。

  4、BUG修补

  程序出现了BUG谁来修补呢,嘿嘿嘿……

  最好的办法是谁编写谁修补,谁改坏谁修补。一个人改坏的代码一人去修。两个人一起改坏的代码两人一起修。

  5、开发人员的测试

  开发人员的测试是保证代码能正常运行,在开发时候发现的错误往往比较容易修正。(另外一个好处就是没有人来骂你。因为只有你自己知道)。但是一旦软件到了测试小组那里出了问题,那么就多了很多时间来修正BUG,如果到了客户哪里才发现的BUG,那么时间就更长了,开发人员本身受到的压力也是到了最大话了。客户->公司->测试小组->开发人员。 这个完全是倒金字塔型的,承受能力差的一环很容易出事情的。

  另外开发人员的测试除了保证代码能正常运行以外,还有一个很重要的方面就是要保证上次能正常运行的代码,这次还是能正常运行。如果做不到这点,那么BUG就不断的会出现,很多BUG也会反复出现。于是软件看上去就有修补不完的BUG了。如果出现这种情况,那么开发人员有必要再教育。一般公司教育的方式有四种。第一种,扣工资,第二种,加班,反复加班+精神攻击。 第三种,开除。第四种,调动人员来帮助那个出了麻烦的家伙。 但愿看这个文章的人不要受到前面三种教育。

本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/shengwingweb/archive/2009/06/20/4282423.aspx

软件开发步骤是什么,主要流程

需求分析 概要设计 详细设计 编码 测试 软件交付 验收 维护