<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    DANCE WITH JAVA

    開發(fā)出高質量的系統(tǒng)

    常用鏈接

    統(tǒng)計

    積分與排名

    好友之家

    最新評論

    胡思亂想軟件開發(fā)

    一天晚上睡不著覺,無聊,亂想,遂有如下文章:寫完之后發(fā)現(xiàn)很多漏洞,呵呵。不過也有些可取之處
    發(fā)上來留個紀念吧。
    軟件開發(fā)中,有一些方法被反復利用:抽象,泛型,折中。所以試著以這些方法來分析軟件開發(fā)的過程。

    人類的行為大部分可以抽象成這樣:????????????? ?
    過程一、目標---實施--->成功
    過程二、目標---實施--->失敗
    大部分人都希望走過程一這樣的路,如何在軟件開發(fā)中走好一這條路呢,下邊開始分析。

    軟件公司的目標:
    獲取利潤-->保住利潤-->減少成本
    軟件公司的實施:
    開發(fā)軟件,賣出-->不退貨賠款,增加回頭客-->壓縮成本。
    軟件公司的成功方法:
    保證實施過程路線正確,并順利進行。對應實施的過程,如下
    軟件符合需求-->Bug少,性能高-->開發(fā)成本少,維護成本少.

    在開始長篇大論之前,插播一段:
    記得不知道誰說過:"沒有一定成功的方法,但可以通過了解失敗的方法來提高成功率".我想這也是人們喜歡
    排除法的原因吧。本文的很多思想來自這個標準.
    --------------------------------------------------------------------------
    一、開發(fā)出符合需求的軟件:
    1、開發(fā)出不符合需求軟件的原因:
    ?(1)、需求挖掘不夠????? (前期需求挖掘不夠)??????
    ?(2)、人員流動???????? (大量骨干人才在項目進行期流失)
    ?(3)、實現(xiàn)力不夠??????? (技術儲備,人才儲備不夠)
    ?(4)、反饋不夠????????? (有這樣一種情況,客戶的需求是現(xiàn)實中不可能實現(xiàn)的,要說服客戶做一些放棄)
    2、解決上邊問題的一些方法:
    ?(1)、RUP 文檔 溝通
    ?(2)、文檔 企業(yè)文化 管理
    ?(3)、技術積累 人才儲備
    ?(4)、溝通
    總結:仔細分析下來,發(fā)現(xiàn)在這個過程中,技術人員占的比例很小,仔細考慮一下,這也是很多公司不重視技術
    人員的原因,因為他們的要求是作出符合用戶需求的軟件,賣出去就好了。因為在這個環(huán)節(jié)技術人員不是主導,
    只要招聘的到開發(fā)人員來做軟件就好.(中國最不缺的就是人),這個話題還是不多說的好.
    二、開發(fā)出Bug少、性能高的軟件
    1、Bug多、性能低下的原因:
    ?(1)、測試力度不夠
    ?(2)、管理混亂
    ?(3)、開發(fā)人員責任心與技術不夠
    2、解決上邊問題的方法:
    ?(1)、專門的測試小組,對測試的重視程度,測試完善程度(是否有單體、集成、壓力等測試)
    ??? (2)、有完善的質量管理體系和方法(例如bugtrace QA Junit等測試軟件的使用 責任明確)
    ??? (3)、企業(yè)文化、內部技術交流、引進人才
    總結:在這個問題上,技術人員的主導作用在大幅提高,Bug的多少主要取決于測試的投入力度和規(guī)范化
    性能的高低,主要取決于開發(fā)人員的素質,對開發(fā)語言,使用框架,數(shù)據(jù)庫等的了解程度和追求高質量的心態(tài).
    三、減少成本,經(jīng)驗表明,減少軟件成本的主要方法是減少維護成本.
    1、增加維護成本的原因:
    ?(1)、軟件總體設計混亂,結構不清晰
    ?(2)、代碼編寫的濫(命名不規(guī)范? 注釋不夠? 縮進混亂? 邏輯不清晰)
    ?(3)、文檔的保存和維護
    2、解決方法:
    ?(1)、設計模式?? 管理方法(建議看看<<人月神話>>這本書)
    ?(2)、編碼規(guī)范
    ?(3)、CMM ISO等
    --------------------------------------------------------------------------------
    大部分在學習一門語言的時候喜歡看一下Hello World,所以寫個HelloWorld體現(xiàn)一下上邊的過程
    (只從某個角度)
    一、demo版本Hello World

    1 public ? class ?HelloWorld? {
    2 ???? public ? static ? void ?main(String[]?args)? {
    3 ????????System.out.println( " Hello?World! " );
    4 ????}

    5 }
    二、符合需求的Hello World
    1,經(jīng)過需求調研,客戶需要頻繁輸出HelloWorld,而不是一次
    1public?class?HelloWorldOne?{
    2????public?static?void?main(String[]?args)?{
    3????????while(true){????????????
    4????????????System.out.println("Hello?World!");
    5????????}

    6????}

    7}
    馬上實現(xiàn)一個簡單符合客戶需求的原型,交給客戶,讓客戶看一下。
    2,客戶反饋說不需要如此頻繁的輸出,只要一般速度就可以了
    ?1public?class?HelloWorldThree?{
    ?2????public?static?void?main(String[]?args)?{
    ?3????????while(true){
    ?4????????????try{
    ?5????????????????Date?date?=?new?Date();
    ?6????????????????if?(date.getSeconds()%3==0){
    ?7????????????????????System.out.println("Hello?World!");
    ?8????????????????}

    ?9????????????}
    catch(Exception?e){
    10????????????}

    11????????}

    12????}

    13}
    改一下原型,給客戶看
    3,客戶再次反饋說我們需要是上午快點,下午慢點的的Hello World
    ?1import?java.util.Date;
    ?2public?class?HelloWorldTwo?{
    ?3????public?static?void?main(String[]?args)?{
    ?4????????while(true){
    ?5????????????try{
    ?6????????????????Date?date?=?new?Date();
    ?7????????????????if(date.getHours()<12){
    ?8????????????????????if(date.getSeconds()%2?==0){
    ?9????????????????????????System.out.println("Hello?World!");
    10????????????????????}

    11????????????????}
    else{
    12????????????????????if(date.getSeconds()%10?==0){
    13????????????????????????System.out.println("Hello?World!");
    14????????????????????}

    15????????????????}

    16????????????}
    catch(Exception?e){
    17????????????}

    18????????}

    19????}

    20}
    4、......如此繼續(xù)
    5、客戶提出要求,能不能開發(fā)出我想快就快,想慢就慢的程序
    明確告訴他,這個是不可能的。
    三、提高性能
    ?1import?java.util.Date;
    ?2public?class?HelloWorld?{
    ?3????public?static?void?main(String[]?args){
    ?4????????while(true){
    ?5????????????try{
    ?6????????????????System.out.println("Hello?World!");
    ?7????????????????Date?date?=?new?Date();
    ?8????????????????int?hour?=?date.getHours();
    ?9????????????????if(hour>8?&&?hour<12){
    10????????????????????Thread.currentThread().sleep(2000);
    11????????????????}
    else?if(hour?>13?&&?hour?<17){
    12????????????????????Thread.currentThread().sleep(10000);
    13????????????????}
    else{
    14????????????????????Thread.currentThread().sleep(1000*60*60);
    15????????????????}

    16????????????}
    catch(Exception?e){
    17????????????}

    18????????}

    19????}

    20}
    四、增加可維護性
    import?java.util.Date;
    public?class?HelloWorld?{
    ????
    ????
    public?static?void?main(String[]?args){
    ????????run(
    8,12,13,17);
    ????}

    ????/
    //**
    ????*四個參數(shù)依次是??上午上班時間?,上午下班時間,下午上班時間,下午下班時間
    ????
    */

    ????
    public?static?void?run(int?start1,int?end1,int?start2,int?end2){
    ????????
    while(true){
    ????????????
    try{
    ????????????????System.out.println(
    "Hello?World!");
    ????????????????Date?date?
    =?new?Date();
    ????????????????
    int?hour?=?date.getHours();
    ????????????????
    if(hour>start1?&&?hour<end1){
    ????????????????????Thread.currentThread().sleep(
    2000);
    ????????????????}
    else?if(hour?>=start2?&&?hour?<end2){
    ????????????????????Thread.currentThread().sleep(
    10000);
    ????????????????}
    else{
    ????????????????????Thread.currentThread().sleep(
    1000*60*60);
    ????????????????}

    ????????????}
    catch(Exception?e){
    ????????????}

    ????????}

    ????}

    }

    posted on 2006-11-22 05:22 dreamstone 閱讀(754) 評論(1)  編輯  收藏 所屬分類: 牢騷

    評論

    # re: 胡思亂想軟件開發(fā) 2006-12-20 10:52 Tony[匿名]

    呵呵,挺有趣的。這種逐步深入優(yōu)化的想法很好,我要時刻注意了。  回復  更多評論   

    # re: 胡思亂想軟件開發(fā) 2007-08-28 13:40 姜利陽

    不錯  回復  更多評論   

    主站蜘蛛池模板: 国产免费阿v精品视频网址| 青青草免费在线视频| 亚洲网站视频在线观看| 毛片免费在线观看网站| 一级特级女人18毛片免费视频| 亚洲精品人成在线观看| 免费高清在线爱做视频| fc2成年免费共享视频18| 亚洲字幕在线观看| 亚洲一区二区视频在线观看| 午夜精品一区二区三区免费视频| 亚洲欧洲无码AV不卡在线| 亚洲一区爱区精品无码| 韩国免费一级成人毛片| 国产免费一区二区三区免费视频 | 日韩精品免费一级视频| 黄页网站在线观看免费| 亚洲人成在线观看| 亚洲午夜无码AV毛片久久| 国色精品卡一卡2卡3卡4卡免费| EEUSS影院WWW在线观看免费| 亚洲AV无码精品蜜桃| 亚洲热妇无码AV在线播放| 免费无码又爽又刺激高潮的视频 | 亚洲日韩在线中文字幕第一页| 99久久国产热无码精品免费| 国产福利在线观看永久免费| 国产成人精品亚洲2020| 久久亚洲私人国产精品| 国产乱辈通伦影片在线播放亚洲 | 亚洲国产成人精品无码一区二区 | 一级毛片完整版免费播放一区| 亚洲91精品麻豆国产系列在线| 国产亚洲精品xxx| 国产免费资源高清小视频在线观看| 日韩免费无码一区二区三区| gogo免费在线观看| 香蕉视频在线观看免费| 亚洲中文字幕无码爆乳| 亚洲一卡二卡三卡| 亚洲精品中文字幕无码AV|