武汉北大青鸟中南软件学院
400-027-0822

从Java语言学习来谈谈软件开发流程

2016-11-14供稿中心: 北大青鸟武汉中南软件学院

eBay大采购网络银行转帐拿著健保卡到医院看病无聊时把玩手机上的Java游戏

在生活中你通常只知道「喔!原来这网站是用Java写的」「喔!原来这是手机的Java Game」若自技术层次拆解Java Technology可简单区分為Java 程序语言(language)Java 平台(platform)

Java 程序语言所指是撰写程序所需的语法与词汇像学习中英文有一套基本的单字与语法只要利用单字组出符合语法的句子这就是Java程序的基础

至于Java 平台如大家熟知的Java共分三大平台JMEJSEJEE分别专精於嵌入式行动平台标准平台和企业应用平台除了共同的类别函式库(API)之外每个平台也有其特定的API供程序设计师们开发使用

随著开发工具陆续推出降低了Java开发技术门坎要写出正确无误的Java程序不是太难的事情但论及系统性的Java软件开发那可就不是一件轻松事。

开发大型项目有三项非常重要的因素将会影响整个项目的进度与质量分别是人(people)流程(process)与技术(technology)

这三个要素是环环相扣的任何一项要素的成败都会影响另外两个要素而每个要素也都足以影响一个项目的成败

如何取得这三者的平衡并将每个要素充份的发挥取决於管理者的经验与相关开发人员的素质这不是一项简单容易的任务但有好的方法可以完成

Java弹性多选择资源丰富任君挑选

「技术」应该是最容易掌握的部份因為你选择了Java如前所述全世界已有许多Java资源可以选择某些人可能会认為Java技术门坎高考虑训练成本而决定导入较為简易的程序语言如VBNet或是不敢转换到Java平台

事实上真正困难的不是Java程序语言或是API的使用而是整个对象导向程序设计的概念C#也标榜与Java有著类似的对象导向架构除执行平台不同API的名称不同本质与Java可以算是孪生兄妹怎麼没听有人抱怨C#很难学?

既然JavaNet门坎是一样的那该如何选择?答案是你喜欢谁就选谁只是当你决定投靠其中一个阵营时不妨想想一件事「在这个平台上我是不是有选择的空间与自由?

Java是一开放的技术平台可执行於各类作业平台还有各式各样的开发工具API套件与执行环境包括商业免费开放源码等丰富资源任君挑选

流程关乎项目预算与时间控制

「程序」指的是软件开发流程或是项目流程定义流程的目的是要掌控所有的情况项目的最大敌人是时间及预算这两者都是有限的如何在有限预算内准时完成项目可说是一项艺术。

幸运的是时间和预算都是可控制的并不是指我们可以控制时间快慢或长短而是如何明确知道哪一个时间点需要何种產出物而我们有多少的预算可以完成為有效控制我们需要一个标准的流程只要照著规矩走一切都好实现。

RUP(Rational Unified Process)就是一种业界常用的不成文规矩在多数软件项目中几乎都会使用的一项语言方法与工具 RUP的精神在於反复(iterative)与渐近的(incremental)

在渐进式的开发过程中透过不断的提炼(refine)可趁早发现问题且找出解决方法也确保每一工作项目的进度不过在架构(Architecture)方面RUP确实著墨较少而架构优劣也是足以影响软件系统成败的关键因素。

话说回头企业一旦使用Java开发一套系统就一定会是百分百稳定且满足QoS?我想设计模式跟程序语言无关将JEE 设计模式作為C#实作的架构也未尝不可只要能建构出相同安全稳定的环境执行该系统都是可行的就像会说国语未必可写出漂亮的文章一样训练经验再加上一点天份才是最重要的

专业技术认证可供参考

「人」是项目中最难预料与掌控的一项要素人可分成两部份一是客户二是研发人员客户是最难掌握的不同的客户有不同的个性没有任何人能教导你如何应付不同的客户除了靠运气还要靠经验

暂不谈客户先看研发人员这部分我想要满足技术与流程两项因素关键都是人如何选择对且合适的技术要有专业人才;如何有效管理流程?如何规划满足AMRSS五项需求的系统架构?这都是需要有经验的管理人才及架构师(architect)当然能不能写出漂亮且可完善运作的程序代码也是需要有一定水平的研发人员

开发程序人员的水平是较容易被认证Java有几项专业认证如SCJPSCJDSCWCD都可用以鉴定开发人员基本的功力另有SCEA SCBCD等认证可评鉴程序架构人员的素质除专业训练之外经验也是一位优秀的架构师所应具备的条件而程序部份其实也有认证如PMP

也许你会觉得Java很八股写程序為什麼需要一大堆文件设计模式程序与方法论(methodology)边写边设计且战且走不行吗?对於小型系统或是没有营运压力系统而言是可以的如果是人力不足预算有限结案期限已在眼前当然也该直接动工。

但依我接触过案子经验的深刻体验寧愿花费较长时间与心力在项目初期就先详细规划才可节省后期开发的时间系统上线后也更容易维护与扩充虽然耕耘过程会较辛苦但所得好处也会是倍增的

关于我们
首页
公司简介
课程专业
师资力量
高薪就业
青鸟课程
ACCP
学士后Java
基础教育
UI设计
回到首页