软件开发方法?
常见的软件开发方法有结构化方法、Jackson方法、维也纳开发方法(VDM)和面向对象的开发方法。
1.结构化方法: 指导思想:自顶向下,逐步求精; 基本原则:功能的分析与抽象。 优点: 1、适用于数据处理领域的问题; 2、支持工具较多,发展成熟。 缺点: 1、不适应规模大的项目; 2、不适应特别复杂的项目; 3、难于解决软件重用的问题; 4、难于适应需求变化的问题; 5、难于彻底解决维护问题。
2.Jackson方法:这是一种面向数据结构的方法 过程:JSP—>JSD JSP方法: 1、以数据结构为驱动; 2、首先描述问题的输入,输出数据结构,分析其对应性,然后退出相应的程序结构,从而给出问题的软件过程描述。 JSD方法: 1、以事件作为驱动; 2、首先建立现实世界的模型,再确定系统的功能需求,对需求的描述特别强调了操作之间的时序性。
3.维也纳开发方法(VDM):这是一种形式化的开发方法,是一个基于模型的方法。 主要思想:将软件系统当做模型来给予描述,具体说是把软件的输入,输出看做模型对象,而这些对象在计算机中的状态可看做为该模型在对象上的操作。 借助工具:描述工具语言Meta-IV。
4.面向对象的开发方法: 定义:以对象作为最基本的元素,是分析问题,解决问题的核心。 对象:具体的事物,事件,概念和规则。 基本点:尽可能按照人类认识世界的方法和思维方法来分析和解决问题。
有什么方法可以快速提高软件开发的速度?
谢谢邀请。
提问的人其实问了2个问题,一个是针对普通程序员的,一个是针对管理级程序员的。
针对普通程序员:
提高理解业务与需求的能力;
提高沟通效率;
提高思考与分析问题的能力;
可以迅速定位,迅速BEBUG,找到关键问题;
熟悉自己的代码编辑器;
合理高效的使用针对代码处理的快捷键;
快速盲打,非常熟悉键盘;
能合理高效利用现有资源;
拥有良好的编程习惯与风格;
学会适当偷懒,让程序帮自己节省固定模式的体力活;
善于帮自己开发一些小工具,小脚本,小函数等节省时间,提高效率;
学会跟踪自己的时间消耗;
对编程语言与技巧有深入研究;
针对不合理的需求,学会说不;
针对管理级程序员:
能够深层次思考;
能够从根本上解决问题,争取药到病除;
能够从整体流程与架构设计上去把关;
对业务理解非常深刻与透彻;
能透过现象看本质,仅看一眼大概就能分析出问题出在哪里;
能够快速重构与优化代码;
善于总结与反思;
对代码的熟练程度,能做到举一反三;
能对所管理的小伙伴编程风格与约定进行规范化的管理;
能提前洞悉政策与趋势,提前准备;
能正确理解老板意图,执行力高;
针对需求,做到有效管控;
提升项目管理的技能;
所以,如果能做到上述的点,软件开发与交付效率可能会相对 高一些。
(结束)

