软件软件软件

怎样学习开发软件?面向功能的软件开发方法?

首先告诉你的是,计算机高级编程语言都是相似相通的,会了一门编程再去学习另一门会很容易。所以先选择一个比较简单的入个门,知道编程这么回事,对编程有一定的了解,然后再去深入学习和研究自己喜欢的那方面。下面主要面向两种人分别推荐,第一种是什么基础都没有的,对电脑也不熟悉的人。另一种是了解一点电脑的基础和使用,会通过百度查询遇到的某些问题,能独立解决一些问题的人。

当今对于软件系统的开发,不仅仅需要掌握计算机开发语言的编程技巧,更重要的是掌握一个软件工程在需求分析、系统分析及测试阶段所需要的工作技巧,即软件的开发方法。国外大的软件公司和机构一直在研究软件开发方法这个概念性的东西,而且也提出了很多实际的开发方法,比如:生命周期法、原型化方法、面向对象方法等。

不同语言输出hello world

如果你是第一种人。没有任何基础,不了解什么是编程,对计算机也不是很了解,那么推荐C语言。一般来说,计算机相关专业,都会开设C语言课程,C语言是高级语言里边最基础的,并且是面向过程的,所以相比较其他高级语言,学习起来入门简单些。刚开始学习C语言编出来的程序都是黑框框,没有界面,如果想做个正经用的软件,肯定得有界面,这个以后可以通过别的语言学,因为C语言写带界面的程序太麻烦了。因为C语言基础,简单,易上手,所以被大部分学校选为计算机基础课程。

除了上述原因,最重要的一个就是C语言搭建编译环境很方便,下载一个C语言的IDE即可,不需要进行其他的配置,所谓编译环境,就是你写代码并且编译代码的地方,也就是你的工作站,C语言的编译环境,安装一个编译工具就搞定,方便。万事开头难,所有的人学编程刚开始大部分都会在搭建开发环境上卡住一阵,所以一般推荐零基础的同学看视频学习,因为大部分视频都是教你搭建环境的,跟着视频一步步操作,比看书容易些。并且这些基础课程免费的很多,没必要花钱购买。

怎样学习开发软件?面向功能的软件开发方法?(图1)

一、结构化方法

结构化开发方法是由E.Yourdon和L.L.Constantine提出的,即所谓SASD方法,也是可称为面向功能的软件开发方法或面向数据流的软件开发方法。SASD方法是20世纪80年代使用最广泛的软件开发方法。它首先用结构化分析(SA)对软件进行需求分析,然后用结构设计(SD)方法进行总体设计,最后是结构化编程(SP)。它给出了两类典型的软件结构(变换型和事务型),使软件开发的成功率大大提高。

二、面向数据结构的软件开发方法

网易云课堂搜索C语言显示的结果

除了C语言入门,还可以通过学习网页编程语言入门,因为编写网页的语言相比较而言简单点,并且写好网页就能看到界面,有成就感。刚开始接触编程除了了解编程,更应该培养兴趣,增加成就感。不然刚上手就去研究电脑或者手机的带界面的程序,那太难了,打击你的信心。

Jackson方法是最典型的面向数据结构的软件开发方法。Jackson方法把问题分解为可由三种基本结构形式表示的各部分的层次结构。三种基本的结构形式就是顺序、选择和重复。三种数据结构可以进行组合,形成复杂的结构体系。这一方法从目标系统的输入、输出数据结构入手,到数据框架结构,再补充其它细节,就可以得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可以与其他方法结合,用于模块的详细设计。

三、面向问题的分析法

网页编程可以从HTMl入手学习,这个非常简单,并且这个写好之后用浏览器直接打开就能显示你写的东西,并且这个甚至可以不用编译环境,直接用记事本来写,很省事。你要是不承认这是一门语言的话,可以去学PHP或ASP.NET。这俩也都不难,但是需要搭建开发环境,跟着视频去做的话,也是不难的,就是安装几个工具,这俩语言的优势同样也是写了就能看到成果,并且语法简单。

在学了这些基础课程之后,大家肯定就对编程有了一定的认识,然后根据自己的兴趣,去学习你想开发的软件所用的语言,这时候学起来就比较容易了,以后再怎么学习就有目标了。不了解的事请,总是入门难,一旦入了门,那将得到飞快的提高。

PAM(problemanalysismethod)方法是20世纪80年代由日立公司提出的一种软件开发方法。它的基本思想是考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合。这一方面的具体步骤是:从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系;按先后关系逐步综合处理框,直到画出整个系统的PAD图。这一方法本质上是综合的自底向上的方法,但在逐步综合之前已进行了有目的的分解,这个目的就是充分考虑系统的输入、输出数据结构。PAM方法的另一个优点是使用PAD图。这是一种二维树形结构图,是到目前为止最好的详细设计的表示方法之一。但由于在输入、输出数据结构与整个系统之间存在着鸿沟,这一方法仍只适用于中小型问题。

第二种人,就是那些有一点点计算机的使用基础,能善于使用搜索引擎的同学。可以直接上手学习JAVA或者Python,这俩都是面向对象的高级语言,也是目前很火的语言。像这种比较火的语言,或者像C语言那种比较经典的语言,教程资料都比较好找。遇到问题也比较容易能搜到解决方法。这两种语言最大一个问题就是需要搭建环境,这个对于小白来说,还是挺麻烦的,需要安装一些环境,然后配置环境变量,然后设置编译环境,下载一些常用的库等等。在这安装和使用过程中,可能会遇到各种各样的问题,出现各种奇葩问题,有些甚至跟着老师视频一步步操作,最后都无法运行,所以这类语言仅仅适用于那些对计算机使用有点基础的,并且会自己查百度,能自己动手的同学学习。如果身边恰好有个懂这些的朋友,跟着他学习下或者让他帮忙配置下开发环境,也是可以的。

这些一旦入门之后可以直接深入研究,拿JAVA来说,它是跨平台的,写好一个程序,无论是哪个系统,只要他装了java的环境,都可以直接运行这个程序,并且java除了开发软件还能做网站。一旦会使用这些高级语言,你会发现同样实现一个功能,C语言可能需要写几百行代码,而java或者Python可能只需要写几十行代码就能完成。这些高级语言封装了很多功能,你直接调用就可以。所以在实现某些功能的时候更方便。

四、原型化方法

产生原型化方法的原因很多。主要是随着我们系统开发经验的增多,发现并非所有的需求都能够预先定义,反复修改是不可避免的。当然能够采用原型化方法也是因为开发工具的快速发展,比如用VB、Delphi等工具,我们可以迅速地开发出一个可以让用户看得见、摸得着的系统框架,这样,对于计算机不是很熟悉的用户就可以根据这个样板提出自己的需求。

等你学的差不多的时候,多看看网上别人写的源代码,自己尝试做一些能做的小项目。如果学的是C或者Python这些,可以做一些数学题的运算程序,求面积、体积,或者写个进制转换器之类的。如果学的是HTML或者PHP,尝试自己做个属于自己的小网站,实践是最锻炼人的。这时候尽量买本参考书,因为这本书需要来回翻,所以推荐买实体书。至于买哪一本,可以根据你学习的语言去选择,询问下相关行业前辈的意见或者去搜索下网友的意见。

学习编程之前最好先学习下电脑基础和相关使用技巧、计算机原理,有助于你对计算机软硬件的了解和认识。把打字的速度提升下,毕竟你的任务就是敲代码,速度还是比较重要的。顺便了解下进制转换之类的,玩计算机的,和二进制十六进制打交道有时候比十进制更多。

等大家学一段时间编程之后,你会发现,编程的很多东西其实本质上就是数学、逻辑。精华就是这些数学思维写出来的算法。

开发原型化系统一般有以下几个阶段:

最后补充一句,可以在买编程书籍的时候顺便买本劲椎病的预防和治疗,这样的话,凑凑单或许能包邮。

1.确定用户需求

2.开发原始模型

3.征求用户对初始原型的改进意见

4.修改原型

原型化开发比较适合于用户需求不清、业务理论不确定、需求经常变化的情况。当系统规模不是很大也不太复杂时,采用该方法是比较好的。

五、面向对象的软件开发方法

当前计算机业界最流行的几个词就是分布式、并行和面向对象这几个术语,由此可以看到“面向对象”这个概念在当前计算机业界的地位,比如当前流行的两大面向对象技术DCOM和CORBA就是例子。当前我们实际用到的还是面向对象的编程语言,比如C++。不可否认,面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑式的意义。

随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(objectmodelingtechnique)。这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构,所以OMT彻底实现了PAM没有完全实现的目标。不仅如此,OOP技术在需求分析上、可维护性和可靠性这三个软件开发的关键环节和质量指标上也有了实质性的突破,基本解决了在这方面存在的严重问题。

综上所述,面向对象开发采用了自底向上的归纳、自顶向下的分解的方法,它通过对对象模型的建立,能够真正基于用户的需求,而且系统的可维护性大大改善。当前业界关于面向对象建模的标准是UML(UnifiedModelingLanguage)。

六、可视化开发方法

其实可视化开发并不能单独地作为一种开发方法,更加贴切地说它是一种辅助的工具,比如用过Sybase的S-Design的人都知道,用这个工具可以进行显示图形化的数据库模式的建立,并可以导出到不同的数据库中去。当然用过S-Design的人不一定很多,但用过VB、Delphi、C++、Builder等开发工具的人一定不少,实际上这部分人就是在使用可视化开发工具。

当然,不可否认的是,使用这些可视化开发工具也只是在编程这个环节上用了可视化,而不是在系统分析和系统设计这个层次上用了可视化。实际上,建立系统分析和系统设计的可视化工具是一个很好的卖点,国外有很多工具开发商都在致力于这方面产品的设计。

可视化开发使我们的注意力集中在业务流程上,用户界面可以通过可视化工具方便地构成。通过操作界面元素,诸如菜单、按钮、对话框、编辑框、单选框、复选框、列表框和滚动条等,由可视化开发工具自动生成应用软件。

《软件开发的几种方法》是由贤集网所整理科技文章,贤集网是中国领先的企业技术服务平台,专业从事企业技术支持服务,解决企业在实际生产中所遇到的各种技术难题,为国内广大中小企业提供完整的技术解决方案。

未经允许不得转载:软件 » 怎样学习开发软件?面向功能的软件开发方法?