見微知著

出版時(shí)間:2011-2  出版社:電子工業(yè)出版社  作者:蔡智明  頁數(shù):222  
Tag標(biāo)簽:無  

前言

軟件工程是一門研究用工程化方法開發(fā)、維護(hù)、管理大型軟件的學(xué)問。軟件的開發(fā)到底是一門科學(xué)還是一門工程,這是一個(gè)很難討論也很難確定的問題。實(shí)際上,軟件開發(fā)兼有兩者的內(nèi)涵,工程中有科學(xué),科學(xué)中有工程,而我們也不一定需要去很嚴(yán)格地鑒定兩者之間的界限。軟件工程的目標(biāo)是開發(fā)出有效、實(shí)用和高質(zhì)量的軟件,其中需要更多的理論指導(dǎo),還是本質(zhì)上是一個(gè)實(shí)踐出真知的行當(dāng)?這里有太多理論與實(shí)踐關(guān)系的博弈。真正的軟件工程需求,只有在軟件危機(jī)的感覺已經(jīng)“大難臨頭”的時(shí)候,只有在提高軟件開發(fā)效率和質(zhì)量的壓力已經(jīng)明確壓迫到自身的時(shí)候,很多畢業(yè)的IT學(xué)生才真正開始回味軟件工程學(xué)習(xí)的內(nèi)容,萌發(fā)對(duì)軟件工程的實(shí)質(zhì)需求。然而這時(shí)他們中的很多人才發(fā)現(xiàn),此前軟件工程中學(xué)習(xí)的理論,在實(shí)踐中是那么蒼白,似乎有些啟蒙,但更多地像是泡沫,相當(dāng)大一部分軟件工程學(xué)者和書籍是在靠一堆洋精華或洋糟粕的洋“經(jīng)浜”而揚(yáng)名萬里,理論脫離實(shí)踐,特別是脫離中國的實(shí)踐、本土的實(shí)踐,這是軟件工程課程與教材中不爭(zhēng)的現(xiàn)實(shí)。軟件設(shè)計(jì),實(shí)實(shí)在在是一門實(shí)踐中的學(xué)問,將大型軟件開發(fā)方法上升到理論后,被稱為“軟件工程”而作為一門學(xué)科存在。但在軟件工程的有關(guān)書籍中,我們看到,從理論到理論、從理論到實(shí)踐描述軟件工程的書多,而從實(shí)踐到理論描述軟件工程的書少。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),普遍真理必須與具體實(shí)際相結(jié)合。實(shí)踐本身就是最好的老師,就是最好的理論!這個(gè)簡(jiǎn)單的哲學(xué)道理應(yīng)該是學(xué)習(xí)軟件工程和軟件開發(fā)的基本點(diǎn)。

內(nèi)容概要

本書以一個(gè)非常典型的軟件系統(tǒng)——酒店信息管理系統(tǒng)的開發(fā)為例,站在欠缺經(jīng)驗(yàn)的IT學(xué)生的角度,介紹了從學(xué)生懵頭懵腦參與開發(fā),調(diào)研規(guī)劃,建立計(jì)劃,思考Use
Case,構(gòu)建ER、DFD、面向?qū)ο骍ML模型,到構(gòu)思軟件構(gòu)架、實(shí)現(xiàn)系統(tǒng)界面。與一般專業(yè)書籍完全不同的是,全書采用對(duì)比遞進(jìn)寫作風(fēng)格,穿插交互式啟發(fā)問答。各章節(jié)均以那些糊里糊涂的、片面幼稚的開發(fā)思考、文檔、模型圖、界面為例,首先給出常見的粗劣思考實(shí)例,接著加以分析評(píng)判,引導(dǎo)讀者身臨其境地介入思考,再給出改進(jìn)實(shí)例,然后對(duì)比、理清、提高,指出實(shí)踐中帶有普遍性、關(guān)聯(lián)性的問題,再提升到軟件工程方法的層面加以討論,并結(jié)合了作者多年軟件開發(fā)的實(shí)際經(jīng)驗(yàn)。本書以可讀性強(qiáng)、易于理解的圖、表為主要描述手段。從這些來自真實(shí)實(shí)踐的糊涂思考及相應(yīng)圖、表、文檔的粗拙產(chǎn)生,再到分析、改進(jìn)、提升的過程中,讀者可以舉一反三,避免重蹈覆轍,逐步理解、深化、悟透軟件工程的真實(shí)內(nèi)涵,切實(shí)提高軟件工程師的實(shí)際修養(yǎng)。全書將“前后一貫,左右顧盼”的理念貫穿開發(fā)活動(dòng)的始終,十分有助于讀者系統(tǒng)化一致化分析能力的提升。
本書可以作為學(xué)習(xí)、研究軟件工程的參考書,或軟件工程實(shí)踐、實(shí)習(xí)的教材,對(duì)于在軟件領(lǐng)域摸爬的新老手們,當(dāng)需要找點(diǎn)軟件開發(fā)和軟件工程的實(shí)際參考經(jīng)驗(yàn)時(shí),本書也是很適合的。

書籍目錄

引言——走入軟件開發(fā)的“魔鬼” 地帶:從哪開始 
第1章 從這里開始——基于實(shí)踐,編好系統(tǒng)開發(fā)計(jì)劃 
 1.1 調(diào)查研究一下這是一個(gè)什么項(xiàng)目 
  1.1.1 了解一下這家酒店的背景 
  1.1.2 討論清楚軟件的目標(biāo) 
  1.1.3 畫一張酒店組織構(gòu)架圖 
  1.1.4 重點(diǎn)是一定要研究清楚在信息系統(tǒng)支持下酒店運(yùn)行的業(yè)務(wù)流程 
  1.1.5 還要畫一張系統(tǒng)的網(wǎng)絡(luò)環(huán)境圖 
 1.2 如何組成系統(tǒng) 
  1.2.1 把系統(tǒng)劃分成幾個(gè)子系統(tǒng) 
  1.2.2 明確每個(gè)子系統(tǒng)的功能 
  1.2.3 確立系統(tǒng)的軟硬件配置 
 1.3 如何安排好項(xiàng)目計(jì)劃 
  1.3.1 安排好時(shí)間:軟件過程模型的實(shí)際應(yīng)用與管理 
  1.3.2 安排好資金:為測(cè)試與維護(hù)留有余地——40-20-40原則 
  1.3.3 安排好人員:人件與風(fēng)險(xiǎn)管理 
 1.4 如何考慮知識(shí)產(chǎn)權(quán)問題 
  1.4.1 嚴(yán)謹(jǐn)制定開發(fā)合同:不要以為合同是虛的 
  1.4.2 具體確定利益分派:不要以為利益只是錢 
 1.5 如何編好系統(tǒng)開發(fā)計(jì)劃書——計(jì)劃書實(shí)例 
第2章 從這里入手——觀察實(shí)踐,分析軟件需求 
 2.1 從宏觀上把握系統(tǒng)——系統(tǒng)Use Case圖 
  2.1.1 在線預(yù)訂Use Case圖 
  2.1.2 前/后臺(tái)系統(tǒng)Use Case圖 
 2.2 從微觀上明確概念——系統(tǒng)概念模型 
  2.2.1 系統(tǒng)ER圖 
  2.2.2 概念定義——數(shù)據(jù)表 
  2.2.3 概念定義——數(shù)據(jù)字典 
 2.3 從流程上明確需求——系統(tǒng)DFD圖與相關(guān)IPO描述 
  2.3.1 全系統(tǒng)0層DFD 
  2.3.2 系統(tǒng)一層DFD 
  2.3.3 系統(tǒng)二層DFD 
  2.3.4 IPO描述 
第3章 從這里深化——深入實(shí)踐,建立UML模型 
 3.1 哪些是我系統(tǒng)中的對(duì)象——靜態(tài)Class圖 
  3.1.1 系統(tǒng)Class圖 
  3.1.2 系統(tǒng)GUI類圖 
 3.2 如何用這些對(duì)象實(shí)現(xiàn)我的系統(tǒng)——?jiǎng)討B(tài)Sequence圖 
  3.2.1 預(yù)訂(Reservation)序列圖 
  3.2.2 登記入?。–heck In)序列圖 
  3.2.3 退房結(jié)賬(Check Out)序列圖 
 3.3 如何編好軟件需求規(guī)范說明書SRS——SRS實(shí)例 
第4章 從這里構(gòu)筑——圍繞實(shí)踐,設(shè)計(jì)系統(tǒng)構(gòu)架與部件 
 4.1 如何考慮系統(tǒng)的構(gòu)架? 
  4.1.1 以數(shù)據(jù)為中心的體系架構(gòu) 
  4.1.2 分層體系架構(gòu) 
  4.1.3 三層體系(C/S, B/S)架構(gòu) 
  4.1.4 調(diào)用/返回體系架構(gòu) 
  4.1.5 面向?qū)ο篌w系架構(gòu) 
  4.1.6 面向?qū)ο笈c面向過程 
 4.2 如何組織對(duì)象部件——Package圖 
  4.3 如何設(shè)計(jì)對(duì)象部件 
  4.3.1 預(yù)訂Component圖 
  4.3.2 客房Component設(shè)計(jì) 
  4.3.3 預(yù)訂Activity圖 
  4.3.4 客房State圖 
  4.3.5 入住/退房 Swimlane圖 
第5章 哇噻,軟件出來了——反復(fù)實(shí)踐,實(shí)現(xiàn)系統(tǒng) 
 5.1 酒店網(wǎng)站首頁的設(shè)計(jì):注意全局風(fēng)格的安排 
 5.2 客房預(yù)訂的實(shí)現(xiàn)——關(guān)聯(lián)預(yù)訂的分析與設(shè)計(jì) 
 5.3 入住登記的實(shí)現(xiàn)——關(guān)聯(lián)入住的分析與設(shè)計(jì) 
 5.4 退房收銀的實(shí)現(xiàn)——關(guān)聯(lián)退房的分析與設(shè)計(jì) 
 5.5 如何編好設(shè)計(jì)說明書——設(shè)計(jì)說明書實(shí)例 
后記  

章節(jié)摘錄

插圖:表1-7在時(shí)間安排分配上,呈現(xiàn)的是前期10周一中期30周一后期8周的分配,看上去基本合理。但軟件工程管理的計(jì)劃安排上,有一個(gè)40一20.4 0原則,即前、后期各為總工作量的40%,中期為20%。對(duì)照起來,似乎不合這一原理。經(jīng)過仔細(xì)分析,可以看到,軟件工程的前期40%包括需求分析、建模(也包括原型開發(fā))階段,這樣計(jì)算,前期為20周左右,基本合理;但關(guān)鍵在于后期的測(cè)試、改進(jìn)只安排了8周時(shí)間,是否足夠?這值得商榷。其實(shí),很多軟件項(xiàng)目的開發(fā),后期工作量和難度都是相當(dāng)大的。有很多人認(rèn)為,軟件已經(jīng)實(shí)現(xiàn),系統(tǒng)已經(jīng)集成成功,開始試用,差不多該“大功告成”了。這往往導(dǎo)致對(duì)后期測(cè)試維護(hù)工作的輕視,一旦后期工作并不是想象得那么簡(jiǎn)單和順利時(shí),項(xiàng)目計(jì)劃時(shí)間已到,資金等也已耗盡,就給進(jìn)一步工作帶來極大的被動(dòng)。這也是軟件工程管理在原理上之所以強(qiáng)調(diào)要給測(cè)試維護(hù)留有40%的時(shí)間、資源的原因。所以在安排計(jì)劃上要給后期工作“留有余地”,盡量“趕早不趕后”,把時(shí)間往前壓,這樣,如果提前完成,大家皆大歡喜,如果后期出現(xiàn)困難,也有較充分的時(shí)間資金應(yīng)付,這是計(jì)劃安排中的一個(gè)實(shí)用“技巧”。

后記

基于實(shí)踐,觀察實(shí)踐,深入實(shí)踐,圍繞實(shí)踐,反復(fù)實(shí)踐,總結(jié)起來,其實(shí)就是,軟件開發(fā)、軟件工程實(shí)實(shí)在在是實(shí)踐出來的,干出來的!軟件工程的方法理論也是前人在實(shí)踐中總結(jié)出來的,當(dāng)運(yùn)用于具體的軟件實(shí)踐中時(shí),仍然需要從實(shí)踐中來,到實(shí)踐中去。當(dāng)深入理解、掌握了方法和理論,又確實(shí)使實(shí)踐有了方向和指南。但又不能機(jī)械地去照搬理論和方法。理論和實(shí)踐的辯證法,需要哲人永恒的探索。軟件開發(fā)、軟件工程是一本永遠(yuǎn)寫不完的書!本書的部分圖表由王孟函、劉苗、李儉榮等同學(xué)制作,特此致謝!最后,再強(qiáng)調(diào)一下“反復(fù)實(shí)踐”的問題與“前后一貫,左顧右盼”的原則。軟件開發(fā)、軟件工程實(shí)踐是一個(gè)復(fù)雜的過程,不可能通過計(jì)劃、分析、建模、設(shè)計(jì)、實(shí)現(xiàn)的一次輪回,就獲得理想的軟件,一定還要反復(fù)測(cè)試、調(diào)試、改造、逐步完善,有時(shí),到了軟件使用中,還會(huì)發(fā)現(xiàn),前期的一些模型沒有考慮清楚(如押金、會(huì)員到底如何處理?),一些概念也沒有定義清楚(如客房到底有幾個(gè)類型?軟件的使用者到底有哪些角色?),需要重新考慮模型和設(shè)計(jì)實(shí)現(xiàn)。

編輯推薦

《見微知著:從軟件實(shí)踐到軟件工程》:從完整案例實(shí)踐出發(fā),采用對(duì)比遞進(jìn)寫作風(fēng)格,先給出各個(gè)開發(fā)環(huán)節(jié)的常見粗劣思考實(shí)例,再分析、給出更合適的解決方案;再提升到方法層面討論?!兑娢⒅?從軟件實(shí)踐到軟件工程》綜合作者多年軟件開發(fā)與教學(xué)經(jīng)驗(yàn),從來自真實(shí)實(shí)踐的逐步分析構(gòu)圖及相應(yīng)模型、圖、表、文檔的實(shí)際評(píng)判改進(jìn)中,教會(huì)讀者舉一反三。結(jié)合系統(tǒng)開發(fā)實(shí)例,綜合面向?qū)ο笈c面向過程兩種軟件開發(fā)方法,將兩者優(yōu)勢(shì)互補(bǔ),再比較兩種方法的特點(diǎn),比空談兩種理論更具啟發(fā)性和實(shí)踐價(jià)值。將“前后一貫,左右顧盼”的理念貫穿開發(fā)活動(dòng)的始終,幫助讀者提升周密的系統(tǒng)化分析能力和敏銳的一致化洞察能力,既善于把握全局又精于掌控細(xì)節(jié)。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    見微知著 PDF格式下載


用戶評(píng)論 (總計(jì)1條)

 
 

  •   感覺過于簡(jiǎn)單,不夠深入,入門的話應(yīng)該還行
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7