出版時(shí)間:2012-8 出版社:人民郵電出版社 作者:呂云翔,王昕鵬,邱玉龍 編著 頁數(shù):288 字?jǐn)?shù):489000
內(nèi)容概要
呂云翔、王昕鵬、邱玉龍編著的《軟件工程——理論與實(shí)踐》從結(jié)構(gòu)化方法和面向?qū)ο蠓椒▋煞矫娼榻B軟件工程的基本概念、原理和方法,并用一個(gè)案例貫穿每一章的實(shí)踐部分,讓讀者在認(rèn)識(shí)軟件工程原理的基礎(chǔ)上,能進(jìn)一步利用相關(guān)的工具對(duì)所學(xué)內(nèi)容進(jìn)行實(shí)踐,從而實(shí)際掌握進(jìn)行軟件開發(fā)的各種技能。本書理論與實(shí)踐相結(jié)合,內(nèi)容翔實(shí),可操作性強(qiáng)。
《軟件工程——理論與實(shí)踐》是高等院校計(jì)算機(jī)科學(xué)、軟件工程及相關(guān)專業(yè)“軟件工程”課程的理想教材。
書籍目錄
第1章 軟件工程概述
1.1 軟件
1.1.1 軟件的概念
1.1.2 軟件的特點(diǎn)
1.1.3 軟件的分類
1.2 軟件危機(jī)
1.2.1 軟件危機(jī)的表現(xiàn)
1.2.2 軟件危機(jī)的原因
1.3 軟件工程
1.3.1 軟件工程的概念
1.3.2 軟件工程的基本內(nèi)容
1.3.3 軟件工程的知識(shí)體系
1.4 軟件生命周期
1.4.1 軟件生命周期的概念
1.4.2 傳統(tǒng)軟件生命周期的各個(gè)階段
1.5 軟件開發(fā)模型及其發(fā)展
1.5.1 瀑布模型
1.5.2 演化模型
1.5.3 原型模型
1.5.4 增量模型
1.5.5 螺旋模型
1.5.6 噴泉模型
1.5.7 形式化方法模型
1.5.8 基于組件的開發(fā)模型
1.5.9 統(tǒng)一軟件開發(fā)過程模型
1.5.10 敏捷模型
1.6 軟件工程的相關(guān)工具
1.7 軟件工程的常用信息源
1.8 Visio的功能及使用方法介紹
1.9 Rose的功能及使用方法介紹
小結(jié)
習(xí)題
第2章 可行性研究及需求分析
第3章 軟件設(shè)計(jì)
第4章 編碼及實(shí)現(xiàn)
第5章 軟件測(cè)試
第6章 軟件工程的其他相關(guān)內(nèi)容
第7章 課程設(shè)計(jì)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 統(tǒng)一軟件開發(fā)過程模型是基于迭代思想的軟件開發(fā)模型。在傳統(tǒng)的瀑布模型中,項(xiàng)目的組織方法是使其按順序一次性地完成每個(gè)工作流程。通常,在項(xiàng)目前期出現(xiàn)的問題可能推遲到后期才會(huì)發(fā)現(xiàn),這不僅增大了軟件開發(fā)的成本,還嚴(yán)重影響了軟件開發(fā)的進(jìn)度。采用迭代的軟件工程思想可以多次執(zhí)行各個(gè)工作流程,有利于更好地理解需求,設(shè)計(jì)出合理的系統(tǒng)構(gòu)架,并最終交付一系列漸趨完善的成果??梢哉f,迭代是一次完整地經(jīng)過所有工作流程的過程,從圖1-25中我們可以看到,每個(gè)階段都包含了一次或多次的迭代。 統(tǒng)一軟件開發(fā)過程模型適用的范圍極為廣泛,但是對(duì)開發(fā)人員的素質(zhì)要求較高。 1.5.10敏捷模型 隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展和全球化進(jìn)程的加快,軟件需求常常發(fā)生變化,強(qiáng)烈的市場競爭要求更快速地開發(fā)軟件,同時(shí)軟件也能夠以更快的速度更新。傳統(tǒng)的方法在開發(fā)時(shí)效上時(shí)常面臨挑戰(zhàn),因此,強(qiáng)調(diào)快捷、小文檔、輕量級(jí)的敏捷開發(fā)方法開始流行。如今,“敏捷”已經(jīng)成為一個(gè)非常時(shí)尚的名詞。敏捷方法是一種輕量級(jí)的軟件工程方法,相對(duì)于傳統(tǒng)的軟件工程方法,它更強(qiáng)調(diào)軟件開發(fā)過程中各種變化的必然性,通過團(tuán)隊(duì)成員之間充分的交流與溝通以及合理的機(jī)制來有效地響應(yīng)變化。 敏捷開發(fā)開始于”敏捷軟件開發(fā)宣言”。2001年2月,17位軟件開發(fā)方法學(xué)家在美國猶他州召開了長達(dá)兩天的會(huì)議,制訂并簽署了“敏捷軟件開發(fā)宣言”,該宣言給出了4個(gè)價(jià)值觀。 (1)個(gè)體與交互高于過程和工具。這并不是否定過程與工具的重要性,而是更加強(qiáng)調(diào)人與人的溝通在軟件開發(fā)中的作用。因?yàn)檐浖_發(fā)過程最終還是要由人來實(shí)施的,只有涉及軟件開發(fā)過程的各方面人員(需求人員、設(shè)計(jì)師、程序員、測(cè)試人員、客戶和項(xiàng)目經(jīng)理等)充分地溝通和交流,才能保證最終的軟件產(chǎn)品符合客戶的需求。如果只是具有良好的開發(fā)過程和先進(jìn)的過程工具,而開發(fā)人員本身技能很差,又不能很好地溝通,那么軟件產(chǎn)品最終一樣會(huì)遭到失敗。 (2)可運(yùn)行軟件高于詳盡的文檔。對(duì)用戶來說,更多地會(huì)通過直接運(yùn)行程序而不是閱讀大量的使用文檔來了解軟件的功能。因此,敏捷軟件開發(fā)強(qiáng)調(diào)不斷地、快速地向用戶提交可運(yùn)行程序,雖然不一定是用完整程序來讓用戶了解軟件以及得到用戶的認(rèn)可,但重要文檔仍然是不可缺少的,能幫助用戶更精準(zhǔn)、全面地了解軟件的功能,軟件開發(fā)的主要目標(biāo)是開發(fā)出可執(zhí)行的軟件。 (3)與客戶協(xié)作高于合同(契約)談判。大量實(shí)踐表明,在軟件開發(fā)的前期,很少有客戶能夠精確完整地表達(dá)他們的需求,即便是那些已經(jīng)確定下來的需求,也常常會(huì)在開發(fā)過程中改變。因此,靠合同談判的方式將需求確定下來非常困難。對(duì)于開發(fā)人員來說,客戶的部分需求變更甚至?xí)?dǎo)致軟件的大范圍重構(gòu),而通過深入分析客戶需求之后,有時(shí)還會(huì)發(fā)現(xiàn)通過適當(dāng)調(diào)整需求就可以避免做出重大調(diào)整。而對(duì)于前者的情況,開發(fā)團(tuán)隊(duì)往往通過和客戶談判,撰寫精確的需求合同來限制需求變更。但這導(dǎo)致最終的軟件產(chǎn)品功能與客戶需求之間存在難以避免的差異,導(dǎo)致客戶的滿意度降低。因此,敏捷軟件開發(fā)強(qiáng)調(diào)與客戶的協(xié)作,通過密切的溝通合作而不是合同契約來確定用戶的需求。
圖書封面
評(píng)論、評(píng)分、閱讀與下載