《2022年软件的一般开发流程 .pdf》由会员分享,可在线阅读,更多相关《2022年软件的一般开发流程 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、开发流程软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。一、相关系统分析员和用户初步了解需求,然后用 WORD 列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。二、系统分析员深入了解和分析需求,根据自己的经验和需求用 WORD 或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。三、系统分析员和用户再次确认需求。四、系统
2、分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。五、系统分析员把写好的概要设计文档给程序员,程序员根据所列出的功能一个一个的编写。六、测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 项目设计项目设计的主导思想,可以理解为两种,一种是完全设计,一个是简单设计。完全设计 : 指在具体编写代码之前对软件的各种方面都
3、调查好,做好详细的需求分析、编写好全部的开发文档,设计出程序全部流程后再开始写代码。完全设计就是全部的计划好了,能看到最终的样子,再开战。就是很多“软件工程”书里要求的那样。不过有个明显的问题,谁会真正做这个完美的计划?估计只有及其BT 的人了。但是大部分的人都想要完全设计,并且没有错误,并且有几种后备的容错方案,并能准确无误的推行,以达到最终目标。这样的境界,没有很多年的工作经历是不可能的。简单设计 :简单设计一种可以接受的,起码数据库要决定下来,基本流程要确定的方案,来作为程序设计的开始,并随时根据实际情况的进展来修正具体的功能设计,但这种功能修改不能是修改数据库结构。也就是说数据库结构是
4、在编程之前经过反复论证的。这种方法减少了前期设计的时间,把代码编写工作和部分设计工作放在了一起,缩短了项目开发的时间。如果说完全设计方法要求有很厉害的前期设计人员,那么简单设计要求编程人员有很好的设计头脑。编程人员不仅仅是K 代码的人而且要负责程序架构的设计。所以对程序员的要求就很高了。简单设计的成功的一个基点是编程人员设计的逻辑结构简单并名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 能根据需要来调整其逻辑结构就是代码结构灵活
5、。简单设计带来的另外一个变化就是会议会比较多,编程人员之间的交流就变的很重要。现在一般的中小型软件公司基本上都是采用简单设计的,除非那些很大型的软件公司。简单设计考验的是开发人员的能力。完全设计考验的是前期设计人员和整个项目组完整能力。( 各种文档的编写,开发人员一定会要写一部分的。) 设计变化和需求变化开发人员最怕的是什么呢?设计变化,还是需求变化?需求变化是最最致命的。当你的一个项目数据库都定下来后,而且已经开发了若干个工作日,突然接到通知,某个功能要改变,原先的需求分析要重新改,如果这个修改是涉及的数据库的表结构更改的话,那真是最致命的。意味着项目的某些部分得重新推倒重来,如果这个部分跟
6、已完成的多个部分有牵连的话,那就后果更可怕了。所以当碰到这种情况发生,就应该考虑先查责任人,究竟是自己的需求分析做的不够好,还是客户在认同了需求分析后做出的修改,如果是后者的话,必须要求客户对他的这个修改负责任!那么,呵呵,客户先生,对不起了,本次新增加的需求将归入另一版本。如果是改变前面某个需求的定义,那么说不定就要推倒重来了,不过这个时候到不用太在意,毕竟错的是客户。( 项目正式开始前没有没有说清楚其需求) 。所以,在需求分析做好后,在开工之前一定名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
7、- - - 第 3 页,共 8 页 - - - - - - - - - 要叫客户认可签字,并且在合同上要注明,当由客户原因引起的需求改变而造成开发成本的增加,客户要为此买单。如果在需求不变的情况之下,设计发生了变化,商量一下就能解决。在简单设计中,因为前期的设计是不完整的,那么当进入任何一个新的模块进行开发时,都有可能引起设计的变化。开发人员的水平的高低就基本上决定了软件的好坏。代码编写当需求定下来数据库也定下来后,其实我们就可以进行实质性的编码了, 当然,能一个人单独编程最好 ( 能随时偷懒, 上网 ) 。但是现在的软件项目越来越大,工期也越来越紧,一个小组里面,一般有3-5 程序员,所以必
8、须强调团队合作性。你写的代码别人要能够看懂,必须在实际的编写代码过程中要有详细的编码规范,起码以下的一些规范是我们必须要遵守的:一、源程序文件结构:每个程序文件应由标题、内容和附加说明三部分组成。(1)标题:文件最前面的注释说明,其内容主要包括:程序名,作者,版权信息,简要说明等,必要时应有更详尽的说明(将以此部分以空行隔开单独注释)。(2)内容控件注册等函数应放在内容部分的最后,类的定义按private 、 protected 、 pubilic 、 _pubished 的顺序,并尽名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
9、- 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 量保持每一部分只有一个,各部分中按数据、函数、属性、事件的顺序。(3)附加说明:文件末尾的补充说明,如参考资料等,若内容不多也可放在标题部分的最后。二、界面设计风格的一致性:由于采用可视化编程,所有的界面均与Win32 方式类似,相应采用的控件等也大都为Windows 操作系统下的标准控件,而且参考了其他一些市面上相关的企业内部管理的应用软件。基于简单易操作的原则,贴近用户考虑, 用户界面采用Windows风格的标准界面,操作方式亦同Windows 风格,这样在实施过程,可以降低对客户的培
10、训,也可以使用户容易上手,简单易学。三、编辑风格:(1)缩进:缩进以 Tab 为单位,一个 Tab 为四个空格大小。全局数据、函数原型、标题、附加说明、函数说明、标号等均顶格书写。(2)空格:数据和函数在其类型,修饰(如 _fastcall 等)名称之间适当空格并据情况对齐。关键字原则上空一格,不论是否有括号,对语句行后加的注释应用适当空格与语句隔开并尽可能对齐。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - (3)对齐:原则上
11、关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。每一行的长度不应超过屏幕太多,必要时适当换行。(4)空行:程序文件结构各部分之间空两行,若不必要也可只空一行,各函数实现之间一般空两行。(5)注释:对注释有以下三点要求:A、必须是有意义;B、必须正确的描述了程序; C 、必须是最新的。注释必不可少,但也不应过多,以下是四种必要的注释:标题、附加说明;函数说明: 对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回值说明等,必要时还要有一些如特别的软硬件要求等说明;在代码不明晰或不
12、可移植处应有少量说明;少量的其它注释。四、命名规范:坚持采用匈牙利变量命名惯例,所有标识符一律用英文或英文名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 缩写,杜绝采用拼音,标识符中每个单词首字母大写,缩写词汇一般全部大写,只在必要时加“_”间隔词汇。五、 BUG修补程序出现了BUG谁来修补呢, 最好的办法是谁编写谁修补,谁改坏谁修补。一个人改坏的代码一人去修。两个人一起改坏的代码两人一起修。六、开发人员的测试开发人员的测试是保
13、证代码能正常运行,在开发时候发现的错误往往比较容易修正。但是一旦软件到了测试小组那里出了问题,那么就多了很多时间来修正BUG , 如果到了客户哪里才发现的BUG , 那么时间就更长了,开发人员本身受到的压力也最大。客户 - 公司 - 测试小组 - 开发人员。这是个完全倒金字塔型,承受能力差的一环很容易出事情。另外开发人员的测试除了保证代码能正常运行以外,还有一个很重要的方面就是要保证上次能正常运行的代码,这次还是能正常运行。如果做不到这点,那么BUG就不断的会出现,很多BUG也会反复出现。于是软件看上去就有修补不完的BUG了。如出现这种情况,开发人员就得再教育。一般公司再教育的方式有四种。第一
14、种,扣工资;第二种,加班,反复加班+精神攻击;第三种,开除;第四种,调动人员来帮助那个出了麻烦的家伙。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 人才需求1、外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;2、Java 和.NET 技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越少;3、软件开发企业对开发人员的基本技术素养强调得越来越多,例 如 : 面 向 对 象 的 程 序 设 计 思 想 和 代 码 组 织 方 法 、HTML/CSS/JavaScript客户端技术;4、为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术;5、 MIS 、OA 、ERP 、CRM 、系统集成、物流、进销存、电子政务、网站建设这一类B/S 系统,成为软件工程师需求最大的业务领域。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -