<small id='q1rmsqyy'></small><noframes id='jp9kebyo'>

        <tbody id='uei0i4i4'></tbody>

    1. <legend id='e7ekrm69'><style id='pqjhtd2p'><dir id='dxq6x693'><q id='wl40w9m7'></q></dir></style></legend>
      <i id='wgdgs8mu'><tr id='e1mb7x84'><dt id='7v30i8ue'><q id='b81x7wgh'><span id='d1pc8dnm'><b id='23mtpw6h'><form id='wp3pv8cu'><ins id='l4of7w2x'></ins><ul id='cdrega7h'></ul><sub id='fz60ywsx'></sub></form><legend id='31ar57b4'></legend><bdo id='3afsb7k8'><pre id='o2r6lyd4'><center id='3zcmiftg'></center></pre></bdo></b><th id='9c5fr0jy'></th></span></q></dt></tr></i><div id='8ea30c03'><tfoot id='j5xxn5ym'></tfoot><dl id='gutcc9oq'><fieldset id='i10i7eix'></fieldset></dl></div>
      <tfoot id='usif2ra8'></tfoot>

      • 网站建设公司当前位置 : 网站建设公司 > 知识普及

        软件开发之基础知识

        发布时间:2021-07-20 16:58   浏览次数:次   

          软件开发:需要做什么? 如何做? 用什么去完成?

         

               一、过程:控制和管理软件开发活动

                软件过程用来控制和管理软件团队的开发活动和进度,对于个人来说,也需要使用一定的过程方法来规范化自己的开发流程。

                一个值得尝试的方案是:迭代+瀑布模型+测试驱动开发。 这种方案首先将系统分成多个迭代故事,然后,针对每个迭代故事使用瀑布模型并融入测试驱动开发理念。

                具体做法:

                S1:将系统开发分解为多个故事的迭代,每个故事中包含若干个模块。

                S2:针对每个故事中的模块,使用 “需求分析---设计---测试用例---编码调试---测试---模块整合---用户反馈---迭代的子故事”的流程来完成;每个模块完成后,整合成一个迭代的子故事。


              二、方法: 用什么来构建软件模块和应用程序

                计算机中最基本的要素是数据和逻辑,这对应于早期的机器语言和汇编语言时代。然而,这样不利于大型软件的开发和管理,程序中容易充斥大量混乱的goto跳转逻辑,因此,出现了结构化程序设计方法,主要思想是:程序=数据结构+算法+模块组织。首先,用规范的控制语句(顺序,条件,循环)消除容易混乱的goto跳转逻辑;其次,用模块化的思想来管理软件的构造。这种方法的基础是:管道与重定向。管道是指一个程序的输入可以充当另一个程序的输出。重定向是将数据源或数据目的地指定为所期望的流(标准I/0,文件等)。通过对程序的静态分析,通常就能准确推理出程序的行为。

                随后,出现了面向对象的程序设计方法,将应用程序分解为对象及对象之间的交互和通信。对象是数据与紧密相关的逻辑的良好封装。面向对象的程序设计的一个复杂性表现在,无法通过静态的程序分析来推理程序的行为;其原因之一是使用了多态机制。

                为了各种系统之间的互操作,出现了面向服务的理念。使用面向过程或对象的方法,将某些功能打包成服务提供给外界。这需要有相应的应用协议来辅助,比如数据交换格式XML。面向服务: 面向对象(过程) +服务模块+应用协议。

                未来还将会出现怎样的程序设计和软件构造方法学呢?拭目以待。

         

                三、语言、框架和可用库:选择现有技术和框架构建应用和服务

                为了能够快速建立应用,通常不会重新发明轮子,而是直接选择合适的现有框架和库、语言。比如,javaweb开发可能选择Struts+ hibernate + spring 来完成,C++有STL,MFC等,C有大量的标准库函数可用,PHP和Perl都有海量的模块可供选用。有时可能需要开发自己专有的库,以避免依赖于其它商业公司的决策行为。

                令人欣慰的是,通常能够找到好的开源工具和软件作为开发的基础。当然,来而不往非礼也,利用开源的优势和服务,也应当尽力用某种方式回馈开源社区。


              四、工具与IDE:选择合适的工具并能高效使用

               磨刀不误砍柴功。构建自己喜爱的工具箱是高效开发应用的要素之一。Windows下的程序编辑工具有UltraEdit,SourceInsight等,Linux下的程序编辑工具有Emacs和vim ;编译工具有gcc, g++,javac;运行调试工具gdb,测试框架有XUnit等,部署工具有ant,make, maven等;建模工具有草图,UML,还有代码分析工具lint,profile,代码控制CVS, SVN. 选择一款好的IDE也是非常重要的。比如Eclipse,就是一款非常不错的JavaIDE。


              五、环境部署与软件发布、反馈

                软件开发出来后,必须进行运行环境部署。首先,必须知道软件将要运行的平台:Windows ,Linux, Unix , Mac, 还是跨平台?其次,如果是客户/服务器模型,还必须配置好相应的服务器和客户端软件,比如web应用中的apache, tomcat,JBOSS, 浏览器IE, firefox等。

              过去的软件发布主要是单机形式,而随着网络时代的来临和云计算的兴起,未来的软件发布将更多地集中于几个主流平台上,通过网络应用商店的形式发布。在发布之后,要用心倾听用户的反馈以不断完善软件的功能与服务。 


              六、内功: 快速领悟新技术

               无论从事计算机的哪个行业,深厚的内功是非常重要的。扎实的专业基础、敏捷缜密的思维有助于快速领悟新技术。专业基础包括:1. 对计算机系统深入而整体的理解;2. 操作系统、数据结构、算法设计、数据库、程序网络通信等。

              要做好实际开发工作,从两个方面入手:1. 熟悉掌握开发领域的动态和技术;2. 博览群书,广泛涉猎,从任何可能的地方去汲取有益的启示。

          
             七、原则: 构建怎样的软件?

                      1.  构建必需的服务; 

                      2.  不做不需要的功能,但为可扩展性留下后路;

                      3.  及时交付软件;

                      4.  可重用、可维护、可扩展;

                      5.  安全性、可靠性;


             八、习惯:构建高质量软件的开发习惯和职业素养 

                      1.  与同伴交流,了解他们正在做什么及其意义

                      2.  善于问题分析与建模

                      3.  敏捷与应对变化

                      4.  保持条理性和抓住重点

                      5.  不要为了短暂的便捷破坏良好的开发习惯

                      6.  通过编写代码来表达思想

                      7.  不断学习

                      8.  配置管理和源代码控制

                      9.  单元测试

                    10.  持续集成

                    11.  维护短期迭代   

                    12.  评估开发速度   

                    13.  追踪问题

        黄冈微信公众号运营、网站开发、微信小程序开发、VR拍摄制作找湖北东猎信息技术有限公司

            <i id='j83h8pms'><tr id='dpqb4gar'><dt id='tx3ro6ah'><q id='sl99ky0k'><span id='q2w3tyo2'><b id='otilz8tl'><form id='uj56ytdd'><ins id='p9sxneec'></ins><ul id='p8q3tg7k'></ul><sub id='6o1e8jev'></sub></form><legend id='yafpxfkj'></legend><bdo id='6dzq8jnw'><pre id='5qfdupmw'><center id='3apigy5z'></center></pre></bdo></b><th id='cvgle6xz'></th></span></q></dt></tr></i><div id='rauohyen'><tfoot id='6kwpreye'></tfoot><dl id='cw378qm1'><fieldset id='xcnvpcv2'></fieldset></dl></div>
            <legend id='v7wvu1q3'><style id='qylmky3j'><dir id='uap8iy9q'><q id='2a5hdwud'></q></dir></style></legend>

            <small id='rqb1803y'></small><noframes id='gd17aesi'>

            • <tfoot id='2ypq0a7o'></tfoot>
                <tbody id='65qahvff'></tbody>

              本文来源于网络,若有侵权请联系3449817223#qq.com,将在第一时间删除。

              上一篇:软件开发的10大常识 小程序开发上一篇
              下一篇公众号开发下一篇:软件开发的基础知识
                <tbody id='i21mrvs7'></tbody>
            • <legend id='ri4uzqjw'><style id='5xjtpvko'><dir id='kkrwiltb'><q id='zpebkcfg'></q></dir></style></legend>

                  <tfoot id='lcdlfw0t'></tfoot>

                  <small id='qyo144d8'></small><noframes id='y9uvac8m'>

                1. <i id='dlweidz6'><tr id='va7c2kir'><dt id='9hnzvupk'><q id='uqaaujhb'><span id='ywx2zzal'><b id='uky2jth3'><form id='ksvr40hb'><ins id='u8wapyvs'></ins><ul id='u1snp5s5'></ul><sub id='2iyple8o'></sub></form><legend id='4yy1sj4i'></legend><bdo id='ksun8qoy'><pre id='3pf4nhod'><center id='av5c0v0x'></center></pre></bdo></b><th id='dnb0tqno'></th></span></q></dt></tr></i><div id='8vo3e0ql'><tfoot id='nfp44g4g'></tfoot><dl id='87xior8i'><fieldset id='n0irl36b'></fieldset></dl></div>