第一篇:網(wǎng)上商城系統(tǒng)的分析及設(shè)計(jì)
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
系 別: 計(jì)算機(jī)學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 別: 學(xué) 號(hào): 姓 名: 趙葉歡 學(xué) 期: 春季上學(xué)期 指導(dǎo)老師:
2012年6月8日
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
目錄
1、概述.................................................................................................................................................3 1.系統(tǒng)開發(fā)背景與意義....................................................................................................................3 1.1 系統(tǒng)開發(fā)背景........................................................................................................................3 1.2 系統(tǒng)開發(fā)意義........................................................................................................................3 1.3網(wǎng)上購(gòu)商城系統(tǒng)的技術(shù)現(xiàn)狀分析.........................................................................................4 2.網(wǎng)上商城管理系統(tǒng)需求分析.....................................................................................................5 2.1可行性分析.............................................................................................................................5 2.2 系統(tǒng)功能需求........................................................................................................................5 3.網(wǎng)上商城管理信息系統(tǒng)分析........................................................................................................7 4.網(wǎng)上商城管理信息系統(tǒng)設(shè)計(jì)......................................................................................................11 4.1數(shù)據(jù)庫(kù)設(shè)計(jì)...........................................................................................................................11 4.2界面設(shè)計(jì)...............................................................................................................................13 4.2.5.管理員登陸........................................................................................................................17 學(xué)習(xí)總結(jié).............................................................................................................................................21
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
1、概述
摘要:近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購(gòu)物理念。網(wǎng)上購(gòu)物系統(tǒng)作為B2B,B2C(Business to Customer,即企業(yè)對(duì)消費(fèi)者),C2C(Customer to Customer,即消費(fèi)者對(duì)消費(fèi)者)電子商務(wù)的前端商務(wù)平臺(tái),在其商務(wù)活動(dòng)全過程中起著舉足輕重的作用。本文對(duì)如何開發(fā)出一個(gè)具有基本網(wǎng)上交易功能的B2C網(wǎng)上商城,給出了具體的指導(dǎo)。主要介紹基于UML的B2C網(wǎng)上商城系統(tǒng)分析與設(shè)計(jì)的基本內(nèi)容。對(duì)B2C網(wǎng)上商城的例圖、順序圖、活動(dòng)圖、類圖數(shù)據(jù)庫(kù)設(shè)計(jì)和jSP編程等,都提出了具有針對(duì)性的解決方法。
1.系統(tǒng)開發(fā)背景與意義
1.1 系統(tǒng)開發(fā)背景
隨著計(jì)算機(jī)和網(wǎng)絡(luò)的日趨普及,越來越多的商家在網(wǎng)上升起商店,向消費(fèi)者展示出一片新鮮的購(gòu)物大地。在美、日等信息化程度較高的國(guó)家和地區(qū),網(wǎng)絡(luò)商店發(fā)展速度迅猛,美國(guó)的世界級(jí)超一流的零售商,如沃爾瑪凱瑪特、家庭倉(cāng)儲(chǔ)、科羅格、J.C培尼等紛紛躋身于網(wǎng)絡(luò)經(jīng)商的行列。調(diào)查表明:美國(guó)的家庭已越來越習(xí)慣于在家中從網(wǎng)上購(gòu)物。
在我國(guó),網(wǎng)上購(gòu)物從無到有也不過短短幾年時(shí)間。我國(guó)第一家網(wǎng)上購(gòu)物發(fā)生在1996年,燕莎友誼商場(chǎng)首次通過網(wǎng)上商城售出一個(gè)景泰藍(lán),雖然貨款的支付不是在網(wǎng)上進(jìn)行的,但這畢竟為我國(guó)零售業(yè)奏出了網(wǎng)上購(gòu)物的先聲。如今,在北京、上海、深圳等大城市,已有200多家商場(chǎng),專賣店開設(shè)了網(wǎng)上商店,還有一些正處在觀望階段。真正意義上的網(wǎng)上購(gòu)物,即貨款的結(jié)算在網(wǎng)上進(jìn)行,已在國(guó)內(nèi)實(shí)現(xiàn)。深圳無虹商場(chǎng)去年5月開辦了我國(guó)第一家實(shí)行計(jì)單和支付一體上的網(wǎng)上商店,上網(wǎng)的消費(fèi)者只要擁有一張招商銀行的“一卡通”,便可輕松購(gòu)物,24小時(shí)內(nèi)商家送貨上門。商家投資網(wǎng)上商店目的是賺錢。但從目前網(wǎng)上商店的運(yùn)營(yíng)情況來看,上網(wǎng)者不購(gòu)物、購(gòu)物者不上網(wǎng)的現(xiàn)象非常普遍,網(wǎng)上生意滲淡已是目前各大網(wǎng)上商店共同的困惑。上海首家網(wǎng)上商店——上海億樣購(gòu)物中心由于經(jīng)營(yíng)不善,開業(yè)不到半年即關(guān)門停業(yè),北京的一些大型零售商場(chǎng),其網(wǎng)上商店“門庭冷落”。
結(jié)算方式的原始落后是網(wǎng)上購(gòu)物致命的弱點(diǎn)。在國(guó)外,計(jì)算機(jī)一般都與銀行的帳戶相聯(lián),消費(fèi)者和網(wǎng)絡(luò)商店只需和網(wǎng)上銀行打交道,不必當(dāng)面直接支取現(xiàn)金。在我國(guó)目前除淘寶、拍拍等幾家網(wǎng)上商店進(jìn)行網(wǎng)上購(gòu)物結(jié)算外,大部分商家結(jié)算只能采取 “送貨上門、到貨付款”或“郵寄上門、貸款郵資先付”的方式。這樣不但浪費(fèi)了時(shí)間和人力,而且限制了網(wǎng)絡(luò)的覆蓋范圍和商品的結(jié)構(gòu)種類。因此,安全、快捷、方便的電子支付手段將是今后網(wǎng)上商店健康發(fā)展的主要要素。
1.2 系統(tǒng)開發(fā)意義
從系統(tǒng)的背景來看,可以看出開發(fā)一個(gè)網(wǎng)上購(gòu)物系統(tǒng)有以下幾點(diǎn)重大的意義: 論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
a.投資少,回收快。一項(xiàng)針對(duì)中國(guó)中小企業(yè)的情況調(diào)查顯示,個(gè)人在網(wǎng)下啟動(dòng)銷售公司的平均費(fèi)用至少5萬元,而網(wǎng)上開店建店成本非常小。一般說,籌辦一家網(wǎng)上的商店投入很小,不用去辦營(yíng)業(yè)執(zhí)照,不用去租門面,不用囤積貨品,所需資金不過1500元左右;網(wǎng)上商店比同等規(guī)模的地面商店“租金”要低得多,同時(shí)租金不會(huì)因?yàn)闋I(yíng)業(yè)面積的增加而增加,投資者也不用為延長(zhǎng)營(yíng)業(yè)時(shí)間而增加額外的費(fèi)用。
b.基本不需要占?jí)嘿Y金。傳統(tǒng)商店的進(jìn)貨資金少則幾千元,多則數(shù)萬元,而網(wǎng)上商店則不需要壓資金。
c.24小時(shí)營(yíng)業(yè)時(shí)間。網(wǎng)上商店延長(zhǎng)了商店的營(yíng)業(yè)時(shí)間,一天24小時(shí)、一年365天不停地運(yùn)作,無須專人值班看店,都可照常營(yíng)業(yè)。傳統(tǒng)店鋪的營(yíng)業(yè)時(shí)間一般為8-12小時(shí),遇上壞天氣或者老板、店員有急事也不得不暫時(shí)休息。
d.不受店面空間的限制。哪怕只是街邊小店,在網(wǎng)上卻可以擁有百貨大樓那么大的店面,只要投資者愿意,可以擺上成千上萬種商品。目前國(guó)內(nèi)最大的專業(yè)拍賣網(wǎng)站同時(shí)在線的商品要超過10萬件,已超過一些大超市。
e.不受地理位置影響。不管客戶離店有多遠(yuǎn),也不管顧客是國(guó)內(nèi)還是國(guó)外,在網(wǎng)上,客戶一樣可以很方便地找到并購(gòu)買商品。這令消費(fèi)群體突破了地域的限制,變得無限廣闊了。
1.3網(wǎng)上購(gòu)商城系統(tǒng)的技術(shù)現(xiàn)狀分析
目前在國(guó)內(nèi)購(gòu)物系統(tǒng)的開發(fā),PHP與ASP技術(shù)應(yīng)用最為廣泛。但在國(guó)外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站,多采用JSP。
采用PHP的網(wǎng)站如新浪網(wǎng)(sina)、中國(guó)人(Chinaren)等,但由于PHP本身存在的一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。
首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持,對(duì)于大負(fù)荷站點(diǎn),解決方法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫(kù)、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,組成二維陣列,而PHP則缺乏這種支持。還有上面提到過的一點(diǎn),PHP提供的數(shù)據(jù)庫(kù)接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。
ASP是Microsoft開發(fā)的動(dòng)態(tài)網(wǎng)頁(yè)語(yǔ)言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng),即只能運(yùn)行于微軟的服務(wù)器產(chǎn)品,IIS(Internet Information Server)(windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴(kuò)充,Unix下的COM實(shí)現(xiàn)起來非常困難。
JSP則沒有以上缺陷,JSP可以通過SUN Java的Java Class和EJB獲得規(guī)模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結(jié)構(gòu)支持。
三者中,JSP應(yīng)該是未來發(fā)展的趨勢(shì)。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。比較出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一個(gè)非常著名的電子商務(wù)軟件提供商Intershop,它原來的產(chǎn)品Intershop1,2,3,4占據(jù)了主要的電子商務(wù)軟件份額。它們都是通過CGI來提供支持 的。但去年10月后它推出了Enfinity,一個(gè)采用JSP/Servlet的電子商務(wù)Application Server,而且聲言不再開發(fā)傳統(tǒng)軟件。
總的來說,ASP、PHP、JSP三者都有相當(dāng)數(shù)量的支持者,而這三者也各有所長(zhǎng),在開發(fā)過程中,我們應(yīng)該根據(jù)實(shí)際的需要來使用最合適的技術(shù),本系統(tǒng)則采用較JSP技術(shù),一方面JSP的安全性和跨平臺(tái)性比較好,另一方面,我也希望能從開發(fā)該系統(tǒng)的過程中,深入學(xué)習(xí)一下這門編程語(yǔ)言。論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
2.網(wǎng)上商城管理系統(tǒng)需求分析
2.1可行性分析
經(jīng)濟(jì)可行性:小型的系統(tǒng),只需要在網(wǎng)絡(luò)上下載所需的軟件設(shè)備,所需成本較低,同時(shí)前期準(zhǔn)備相對(duì)充分,經(jīng)濟(jì)成本低。
技術(shù)可行性:軟件技術(shù)可行性——本系統(tǒng)使用JSP.net語(yǔ)言編寫網(wǎng)上商城的框架,后臺(tái)數(shù)據(jù)庫(kù)使用MySQL,服務(wù)器主要采用tomcat?,F(xiàn)有的技術(shù)及軟硬件設(shè)備都是實(shí)習(xí)對(duì)軟件的開發(fā),因此在軟件技術(shù)上具備條件。同時(shí),本系統(tǒng)中程序與數(shù)據(jù)集中存放,可以系統(tǒng)維護(hù)成本低,服務(wù)器處理任務(wù)的速度較快。
操作可行性:系統(tǒng)開發(fā)人員在具備一定的開發(fā)語(yǔ)言基礎(chǔ),同時(shí)對(duì)數(shù)據(jù)庫(kù)的操作比較熟練,時(shí)間安排以及人員分工上配合較好。
2.2 系統(tǒng)功能需求
(1)用例圖:系統(tǒng)的使用者主要有普通用戶,顧客和后臺(tái)管理員,主要用例如下。論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
通過對(duì)淘寶網(wǎng),拍拍等網(wǎng)上購(gòu)物的認(rèn)識(shí)和分析,我對(duì)網(wǎng)上購(gòu)物有了基本的了解,我覺得該系統(tǒng)至少應(yīng)該具有以下的一些基本功能:
注冊(cè)管理:能夠?qū)τ脩裘?,密碼的簡(jiǎn)單驗(yàn)證。
商品瀏覽:分類顯示商品;顯示商品詳情,提供購(gòu)買鏈接;可以對(duì)商品進(jìn)行模糊查詢。瀏覽商品時(shí)不要求用戶登錄,但下訂單前用戶必須登錄,對(duì)于瀏覽過的商品有歷史記錄。(前臺(tái)用戶的功能)
購(gòu)物車管理:欲購(gòu)買商品可以增添到購(gòu)物車;也可以從購(gòu)物車退回商品,清空購(gòu)物車;對(duì)于同一件商品的多次購(gòu)買只能在原來的商品上增添數(shù)量,還可以修改購(gòu)物車中某個(gè)商品的數(shù)量,統(tǒng)計(jì)商品總金額。(前臺(tái)用戶的功能)
訂單管理:只有登錄的用戶可下訂單;用戶可以查看自己的訂單。管理員可以修改訂單的狀態(tài)。
商品管理:管理員可以增添商品分類;修改商品基本信息;增添商品時(shí)候可以上傳圖片。
統(tǒng)計(jì)信息管理:對(duì)所有信息的統(tǒng)計(jì)和分析,按照管理的需要生成各種報(bào)表。論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
基于上述分析,設(shè)計(jì)出該網(wǎng)上商城的系統(tǒng)功能模塊圖:
3.網(wǎng)上商城管理信息系統(tǒng)分析
(1)用戶狀態(tài)圖分析
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
未注冊(cè)注冊(cè)注冊(cè)成功已注冊(cè)過會(huì)員登錄界面沒有感興趣的商品退出選擇登錄賬號(hào)或密碼有誤付款成功取消訂單輸入賬號(hào)密碼選擇拒絕輸入正確查看商品付款確認(rèn)訂單普通用戶進(jìn)入系統(tǒng)選擇瀏覽商品選擇確認(rèn)選擇商品返回繼續(xù)商品會(huì)員提交將商品放入購(gòu)物車提交訂單提交確定/取消商品修改訂單修改訂單信息提示請(qǐng)先登錄再購(gòu)買(2)時(shí)序圖
會(huì)員下訂單的時(shí)序圖:
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
登錄界面商品界面訂購(gòu)模塊后臺(tái)數(shù)據(jù)模塊 : 會(huì)員1 : 輸入用戶名和密碼()2 : 提交用戶ID()3 : 提示輸入商品查詢條件()4 : 輸入查詢條件()5 : 顯示商品列表()6 : 選擇商品放入購(gòu)物車()7 : 結(jié)算()8 : 修改用戶信息,提交訂單()9 : 提示確認(rèn)訂單()10 : 確認(rèn)訂單()11 : 提示訂購(gòu)成功()管理員處理訂單的時(shí)序圖
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
登錄模塊訂單處理庫(kù)存查詢數(shù)據(jù)模塊 : 管理員1 : 輸入賬號(hào)和密碼()2 : 提交用戶ID()3 : 返回待處理訂單列表()4 : 提取用戶ID()5 : 返回單個(gè)用戶訂單列表()6 : 提交訂單商品ID()商品價(jià)格修改7 : 返回商品庫(kù)存信息()8 :()9 : 更新客戶訂單狀態(tài)()10 : 客戶狀態(tài)更新成功()11 : 提示處理成功()(3)類圖分析:論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
SpecialGoods+getSalesCount()Products-_id: int-_name: char-_memberPrice: Double-_normalPrice: Double-_number: int-_category: char+getCategory()+geySalesCount()+n+chang()+1SalesItem-_id: int-_count: double-_orderId: char-_ProductsId: char-_unitPrice: double+nmanagementManager-_id: int-_adminname: char-_password: char+mmanagementShoppingCart-_unitPrice: double-_Productsid: int-_count: double+getTotalPrice()+mNormaProductsCategory-_id: int-_name: char-_descr: char+getProductsCounts()+change()+n+1SalesOrder-_id: int-_Productsid: int-_userid: int-_address: char-_orderdate: char+getotalprice()+save()+changeorder()+login()managementmanagement+nUser-_id: int-_username: char-_password: char-_address: char-_phone: char-_rdate: char+getOrders()+change()+search()+delete()+save()+nMemberUser+getmenberprice()buy+1NormalUser
4.網(wǎng)上商城管理信息系統(tǒng)設(shè)計(jì)
4.1數(shù)據(jù)庫(kù)設(shè)計(jì)
User表
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
Category表
Product表
Saleorder 表
Salesitem表 論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
4.2界面設(shè)計(jì)
4.2.1網(wǎng)站首頁(yè)
.4.2.2.用戶注冊(cè)
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
注冊(cè)模塊的IPO 1.功能
在首頁(yè)點(diǎn)擊“注冊(cè)”超鏈接就進(jìn)入用戶注冊(cè)頁(yè)面。用戶填寫注冊(cè)信息并提交,系統(tǒng)將用戶的注冊(cè)信息插入數(shù)據(jù)庫(kù),提示注冊(cè)成功。2.輸入
輸入用戶名、密碼、確認(rèn)密碼、地址、聯(lián)系電話。3.處理
(1)輸入用戶資料。在register.jsp頁(yè)面顯示等待用戶輸入的表單。用戶填寫相應(yīng)的資料,點(diǎn)擊“提交”按鈕,數(shù)據(jù)被提交給register.jsp頁(yè)面并傳遞參數(shù)。
(2)獲取數(shù)據(jù)。register.jsp根據(jù)參數(shù)的值(add)判斷當(dāng)前為添加數(shù)據(jù)操作,register.jsp讀取表單提交的數(shù)據(jù)。
(3)連接數(shù)據(jù)庫(kù)。將用戶填寫的資料插入到數(shù)據(jù)庫(kù)中。(4)系統(tǒng)顯示用戶注冊(cè)成功信息。提示用戶注冊(cè)成功并在頁(yè)面中顯示用戶的注冊(cè)信息。4.輸出
輸出注冊(cè)成功頁(yè)面。
部分代碼: <%
request.setCharacterEncoding(“GBK”);String action = request.getParameter(“action”);if(action!= null && action.trim().equals(“register”)){ String username = request.getParameter(“username”);String password = request.getParameter(“password”);//String password2 = request.getParameter(“password2”);
String phone = request.getParameter(“phone”);String addr = request.getParameter(“addr”);User u = new User();u.setUsername(username);u.setPassword(password);u.setPhone(phone);u.setAddr(addr);u.setRdate(new Date());論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
u.save();out.println(“注冊(cè)成功!恭喜!”);return;} %> 4.2.3.會(huì)員登錄
String username = request.getParameter(“username”);String password = request.getParameter(“password”);
try { User u = User.check(username, password);session.setAttribute(“user”, u);} catch(UserNotFoundException e){ out.println(e.getMessage());return;} catch(PasswordNotCorrectException e){ out.println(e.getMessage());return;}
String path = request.getContextPath();String basePath = request.getScheme()+“://”+request.getServerName()+“:”+request.getServerPort()+path+“/”;%>
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
4.2.4.下單
購(gòu)物車模塊的IPO
1.功能
用戶在查看商品詳細(xì)信息頁(yè)面點(diǎn)擊“購(gòu)買”按鈕,該商品就被加入到用戶的購(gòu)物車中。用戶在購(gòu)物車頁(yè)面可以查看已購(gòu)買的商品、修改數(shù)量或刪除商品。
2.輸入
用戶選擇點(diǎn)擊購(gòu)物車頁(yè)面的某個(gè)商品鏈接。
3.處理
(1)顯示用戶已購(gòu)買的商品。顯示商品的名稱、數(shù)量、單價(jià)、和總價(jià)。
(2)獲取數(shù)據(jù)。用戶在修改商品數(shù)量或刪除商品后,如果點(diǎn)擊“繼續(xù)購(gòu)物”鏈接則返回到瀏覽商品頁(yè)面繼續(xù)購(gòu)物,如果點(diǎn)擊“確認(rèn)訂單”鏈接就將表單數(shù)據(jù)提交給confirmOrder.jsp進(jìn)行處理。
(3)連接數(shù)據(jù)庫(kù)。confirmOrder.jsp和數(shù)據(jù)庫(kù)連接,然后生成SQL語(yǔ)句將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。之后清空用戶購(gòu)物車中的數(shù)據(jù),生成訂單。(4)顯示提示信息。彈出對(duì)話框提示用戶訂單已經(jīng)確認(rèn)。
4.輸出
輸出顯示已經(jīng)生成的訂單信息。
<%
request.setCharacterEncoding(“GBK”);User u =(User)session.getAttribute(“user”);if(u == null){
response.sendRedirect(“UserLogin.jsp”);
return;} Cart c =(Cart)session.getAttribute(“cart”);if(c == null){
c = new Cart();
session.setAttribute(“cart”, c);論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
} String addr = request.getParameter(“addr”);u.setAddr(addr);int orderId = u.buy(c);
session.removeAttribute(“cart”);%>
單已下!號(hào): <%=orderId%> 4.2.5.管理員登陸
<%
String action = request.getParameter(“action”);if(action!= null && action.equals(“l(fā)ogin”)){ String username = request.getParameter(“username”);String password = request.getParameter(“password”);if(!username.equals(“admin”)||!password.equals(“admin”)){
out.println(“username or password not correct!”);
return;} session.setAttribute(“admin” , “admin”);response.sendRedirect(“admin/AdminIndex.jsp”);} %> 論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
4.2.6.類別管理
4.2.7.產(chǎn)品管理
添加商品模塊的IPO
1.功能
本模塊主要實(shí)現(xiàn)管理員為商城添加新商品的功能。
2.輸入
輸入商品名稱、商品規(guī)格、商品價(jià)格、折扣、商品庫(kù)存、商品圖片和詳細(xì)說明。
3.處理
(1)輸入商品資料。管理員在addProduct.jsp填寫表單輸入商品的相關(guān)資料,點(diǎn)擊“提交”按鈕將表單提交給addProduct.jsp頁(yè)面。
(2)獲取數(shù)據(jù)。addProduct.jsp讀取表單數(shù)據(jù)和參數(shù)進(jìn)行添加數(shù)據(jù)操作。(3)連接數(shù)據(jù)庫(kù)。建立數(shù)據(jù)庫(kù)連接,將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。(4)顯示提示信息。顯示商品添加成功頁(yè)面。
4.輸出
輸出新商品添加成功頁(yè)面。論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
<% List
4.2.8.訂單管理
訂單管理模塊的IPO
1.功能
本模塊主要實(shí)現(xiàn)網(wǎng)站訂單管理功能,包括分頁(yè)顯示所有訂單、查看訂單信息、修改訂單狀態(tài)和刪除訂單。
2.輸入
選擇不同的訂單。
3.處理
(1)顯示所有訂單。顯示數(shù)據(jù)庫(kù)中的所有訂單信息供管理員瀏覽。
(2)獲取查詢的訂單。ordersManage.jsp以分頁(yè)的方式顯示所有用戶的訂單信息,其中的“訂單狀態(tài)”是管理員可以修改的字段。管理員可以對(duì)訂單進(jìn)行修改和刪除操作。
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
(3)連接數(shù)據(jù)庫(kù)。建立數(shù)據(jù)庫(kù)連接,根據(jù)提交的訂單id生成SQL語(yǔ)句執(zhí)行查找或刪除操作。
(4)顯示操作結(jié)果。顯示操作結(jié)果提示頁(yè)面。
4.輸出
輸出操作結(jié)果提示頁(yè)面。
<%!private static final int PAGE_SIZE = 2;%>
<%
String strPageNo = request.getParameter(”pageno“);int pageNo = 1;if(strPageNo!= null){ pageNo = Integer.parseInt(strPageNo);} if(pageNo < 1)pageNo = 1;%>
<%
//get all the users
List
int totalPages =(totalRecords + PAGE_SIZE-1)/ PAGE_SIZE;if(pageNo > totalPages)pageNo = totalPages;%> <%
int id = Integer.parseInt(request.getParameter(”id“));SalesOrder so = OrderMgr.getInstance().loadById(id);
String action = request.getParameter(”action“);if(action!= null && action.equals(”modify“)){ int status = Integer.parseInt(request.getParameter(”status"));so.setStatus(status);so.updateStatus();} %>
論文(作業(yè))題目:網(wǎng)上商城管理信息系統(tǒng)分析與設(shè)計(jì)
學(xué)習(xí)總結(jié)
1.收獲很大 案例+看書,反復(fù)幾次,學(xué)的會(huì)更好
2.個(gè)人認(rèn)為結(jié)構(gòu)化分析方法長(zhǎng)處在于系統(tǒng)分析,通過對(duì)數(shù)據(jù)流的把握,能夠很好的定位系統(tǒng)功能。而面向?qū)ο蟮姆椒▋?yōu)勢(shì)在設(shè)計(jì),最終設(shè)計(jì)的結(jié)果就是類圖,包括屬性和方法,直接供程序員使用。
3.對(duì)于uml中的類圖,順序圖可以用在系統(tǒng)分析,也可以用在系統(tǒng)設(shè)計(jì)。類圖在系統(tǒng)分析階段叫做概念類,在系統(tǒng)設(shè)計(jì)階段叫設(shè)計(jì)類。順序圖可以分析用例圖的一個(gè)功能概況,也可以分析程序類之間的消息調(diào)用。
第二篇:軟件系統(tǒng)分析與設(shè)計(jì)
第1章
軟件工程基礎(chǔ)知識(shí) 1.1軟件工程知識(shí)體系
? 軟件需求(Software Requirements)? 軟件設(shè)計(jì)(Software Design)
? 軟件構(gòu)造(Software Construction)? 軟件測(cè)試(Software Testing)? 軟件維護(hù)(Software Maintenance)
? 軟件配置管理(Software Configuration Management)? 軟件工程管理(Software Engineering Management)? 軟件工程過程(Software Engineering Process)
? 軟件工程工具和方法(Software Engineering Tools and Methods)? 軟件質(zhì)量(Software Quality)
1.2軟件生存周期與軟件開發(fā)模型
? 1.2.1 軟件生存周期
? Boehm定義的軟件生存周期模型
? GB 8566-1988定義的軟件生存周期模型
? GB/T 8566-1995定義的軟件生存周期過程模型 ? GB/T 8566-2001定義的軟件生存周期過程模型 ? UP定義的軟件生存周期模型
? 1.2.2 軟件開發(fā)模型
? 瀑布模型(waterfall model)
? 快速原型模型(rapid prototype model)? 演化模型(evolutionary model)? 增量模型(incremental model)? 螺旋模型(spiral model)
? 噴泉模型(water fountain model)
1.3軟件質(zhì)量模型與軟件質(zhì)量管理
? 1.3.1 軟件質(zhì)量模型
? 軟件產(chǎn)品的內(nèi)部質(zhì)量、外部質(zhì)量和使用質(zhì)量 ? 質(zhì)量特性、質(zhì)量子特性和度量
? 功能性:適宜性、準(zhǔn)確性、互用性、依從性、安全性 ? 可靠性:成熟性、容錯(cuò)性、可恢復(fù)性 ? 可用性:可理解性、易學(xué)性、可操作性 ? 效率:時(shí)間特性、資源特性
? 可維護(hù)性:可分析性、可修改性、穩(wěn)定性、可測(cè)試性 ? 可移植性:適應(yīng)性、易安裝性、一致性、可替換性
? 1.3.2 軟件質(zhì)量管理
? 質(zhì)量需求分析 ? 質(zhì)量計(jì)劃 ? 質(zhì)量保證 ? 質(zhì)量控制 ? 質(zhì)量改進(jìn)
? 軟件質(zhì)量管理體系
? ? ? ? ? ? ? ? ? ?
? ?
? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ?
1.4軟件配置管理
? 1.4.1 軟件配置項(xiàng)與基線
計(jì)算機(jī)軟件配置項(xiàng)(CSCI)基線(baseline)
功能基線(functional baseline)指派基線(allocated baseline)產(chǎn)品基線(product baseline)
? 1.4.2 軟件配置管理過程
對(duì)象標(biāo)識(shí) 版本控制 變化控制 配置審計(jì) 配置報(bào)告
1.5軟件過程管理
? 1.5.1 軟件能力成熟度模型(CMM)
CMM的5個(gè)等級(jí):初始級(jí)、可重復(fù)級(jí)、已定義級(jí)、已管理級(jí)、優(yōu)化級(jí) CMM的關(guān)鍵過程域(KPA):需求管理、軟件項(xiàng)目計(jì)劃、軟件項(xiàng)目跟蹤和監(jiān)控、軟件子合同管理、軟件質(zhì)量保證、軟件配置管理、組織級(jí)過程焦點(diǎn)、組織級(jí)過程定義、培訓(xùn)大綱、集成軟件管理、軟件產(chǎn)品工程、組間協(xié)調(diào)、同行評(píng)審、定量過程管理、軟件質(zhì)量管理、缺陷預(yù)防、技術(shù)變更管理、過程變更管理
? 1.5.2 軟件過程與軟件能力成熟度評(píng)估
第一步,建立評(píng)估組 第二步,填寫提問單 第三步,響應(yīng)分析 第四步,現(xiàn)場(chǎng)考察
第五步,提出調(diào)查發(fā)現(xiàn)清單
第六步,制作關(guān)鍵過程域(KPA)剖面圖
? 1.5.3 軟件過程改進(jìn)
第一步,比較“目標(biāo)狀態(tài)”與“目前狀態(tài)”,找出所有差距 第二步,確定改進(jìn)目標(biāo) 第三步,制定改進(jìn)計(jì)劃 第四步,執(zhí)行改進(jìn)計(jì)劃
第五步,總結(jié)本輪改進(jìn)經(jīng)驗(yàn),開始下一輪改進(jìn)
1.6
小節(jié)
軟件工程學(xué)是研究如何有效地組織和管理軟件開發(fā)的工程學(xué)科。
軟件產(chǎn)品所要經(jīng)歷的計(jì)劃、分析、設(shè)計(jì)、編程、測(cè)試、維護(hù)直至被淘汰這樣一個(gè)全過程被稱為軟件生存周期。用不同的方式將軟件生命周期中的所有開發(fā)活動(dòng)組織起來,可以形成不同的軟件開發(fā)模型。
軟件質(zhì)量就是軟件與明確地和隱含地定義的需求相一致的程度。軟件質(zhì)量管理是指軟件開發(fā)機(jī)構(gòu)為保證軟件項(xiàng)目滿足客戶需求所要實(shí)施的質(zhì)量活動(dòng)。軟件配置管理是在軟件的整個(gè)生命期內(nèi)管理變化的一組活動(dòng),目標(biāo)是使變化更正確且更容易被適應(yīng)。
軟件過程是指人們用于開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品的一系列活動(dòng),包括軟件工程過程和軟件管理過程。軟件過程管理的目的就是提升軟件組織的提高軟件開發(fā)能力。
? 1.? 1.? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
第2章
項(xiàng)目管理基礎(chǔ)知識(shí) 2.1項(xiàng)目與項(xiàng)目管理 ? 2.1.1 項(xiàng)目
項(xiàng)目是在特定條件下、具有特定目標(biāo)的一次性任務(wù),是在一定時(shí)間內(nèi)、滿足一系列特定目標(biāo)的多項(xiàng)相關(guān)工作的總和。項(xiàng)目的臨時(shí)性 項(xiàng)目的獨(dú)特性 項(xiàng)目的漸進(jìn)性
2.1.2 項(xiàng)目管理
項(xiàng)目管理就是將各種知識(shí)、技能、工具和技術(shù)應(yīng)用于項(xiàng)目之中,以達(dá)到項(xiàng)目的要求。項(xiàng)目范圍 項(xiàng)目時(shí)間 項(xiàng)目成本 項(xiàng)目質(zhì)量
2.2項(xiàng)目管理過程與過程組 ? 2.2.1 過程與過程組
過程就是一組為了完成一系列事先指定的產(chǎn)品、服務(wù)或成果而需執(zhí)行的互相聯(lián)系的行動(dòng)和活動(dòng)。軟件項(xiàng)目管理過程可歸納為五個(gè)過程組。啟動(dòng)過程組(initiating process group)規(guī)劃過程組(planning process group)實(shí)施過程組(executing process group)
監(jiān)控過程組(monitoring and controlling process group)收尾過程組(closing process group)
? 2.2.2 項(xiàng)目管理過程的交互作用
項(xiàng)目管理過程并不是互不相干的一次性事件
項(xiàng)目管理過程組之間是一種前后銜接、承前啟后的關(guān)系
項(xiàng)目管理過程組之間有時(shí)又是一種時(shí)間交錯(cuò)、空間并行的關(guān)系 項(xiàng)目管理過程組之間還是一種信息收集、存儲(chǔ)、處理和傳遞的關(guān)系 某些過程組的關(guān)聯(lián)具有重復(fù)迭代性
規(guī)劃過程組、執(zhí)行過程組和監(jiān)控過程組之間形成一種閉環(huán)的關(guān)系 過程組的交互作用往往還會(huì)跨越項(xiàng)目階段 項(xiàng)目階段和過程之間有相互聯(lián)系
? 2.2.3 項(xiàng)目管理過程的裁剪
不同類型的軟件項(xiàng)目應(yīng)選用不同的項(xiàng)目管理過程 不同階段的軟件項(xiàng)目應(yīng)選用不同的項(xiàng)目管理過程 不同軟件項(xiàng)目的管理過程會(huì)有不同的具體過程 不同軟件項(xiàng)目的管理過程會(huì)有不同的具體過程順序 不同軟件項(xiàng)目的管理過程會(huì)有不同的條件與約束 不同軟件項(xiàng)目的管理過程會(huì)有不同的簡(jiǎn)化程度 不同軟件項(xiàng)目的管理過程需要不同的集成程度 項(xiàng)目變更會(huì)使項(xiàng)目管理過程隨之變化
2.3項(xiàng)目管理知識(shí)體系
項(xiàng)目綜合管理 項(xiàng)目范圍管理
? ? ? ? ? ? ? ? ? ? 項(xiàng)目時(shí)間管理 項(xiàng)目成本管理 項(xiàng)目質(zhì)量管理 項(xiàng)目人力資源管理 項(xiàng)目溝通管理 項(xiàng)目風(fēng)險(xiǎn)管理 項(xiàng)目采購(gòu)管理
2.4小節(jié)
項(xiàng)目管理就是將項(xiàng)目管理知識(shí)、技能、工具和技術(shù)應(yīng)用于項(xiàng)目活動(dòng)之中,可以將軟件項(xiàng)目管理活動(dòng)視做一系列相互聯(lián)系的過程。
項(xiàng)目管理過程可歸納為5個(gè)過程組:?jiǎn)?dòng)過程組、規(guī)劃過程組、實(shí)施過程組、監(jiān)控過程組與收尾過程組。
項(xiàng)目管理包括9個(gè)知識(shí)領(lǐng)域:項(xiàng)目綜合管理、項(xiàng)目范圍管理、項(xiàng)目時(shí)間管理、項(xiàng)目成本管理、項(xiàng)目質(zhì)量管理、項(xiàng)目人力資源管理、項(xiàng)目溝通管理、項(xiàng)目風(fēng)險(xiǎn)管理與項(xiàng)目采購(gòu)管理。
第3章
軟件開發(fā)技術(shù) 3.1軟件開發(fā)平臺(tái)
? 3.1.1 Microsoft.NET平臺(tái)
Microsoft.NET Framework:.NET CLR(通用語(yǔ)言運(yùn)行環(huán)境);.NET BCL(基礎(chǔ)類庫(kù));ASP.NET;ADO.NET。
Microsoft Visual Studio.NET:ADO.NET組件;XML數(shù)據(jù)組件;Windows表單組件;ASP.NET應(yīng)用服務(wù);ASP.NET Web表單;Web服務(wù)支持。
? 3.1.2 J2EE平臺(tái)
組件-容器:搭建體系架構(gòu)平臺(tái)標(biāo)準(zhǔn)服務(wù) 多層應(yīng)用模型
3.1.3 Microsoft.NET與J2EE的異同
類似的平臺(tái)基礎(chǔ)構(gòu)造 相同的三層/多層體系 不同的移植、性能和擴(kuò)展 在Web支持方面的比較 第三方廠商的支持 潛在的市場(chǎng)
3.2中間件技術(shù) ? 3.2.1 中間件簡(jiǎn)介
終端仿真/屏幕轉(zhuǎn)換中間件 數(shù)據(jù)訪問中間件 遠(yuǎn)程過程調(diào)用中間件 消息中間件 交易中間件 對(duì)象中間件
Web服務(wù)器中間件 安全中間件
? 3.2.2 消息代理中間件 ? ?
? ? ? ? ? 1.? ? 1.? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
? 構(gòu)件化的結(jié)構(gòu)
可恢復(fù)性、易于管理、靈活性 具有數(shù)據(jù)轉(zhuǎn)換設(shè)施??煽扛咝У耐ㄐ?多樣的管理能力 豐富的應(yīng)用開發(fā)環(huán)境
? 3.2.3 面向數(shù)據(jù)庫(kù)的中間件
ODBC JDBC 數(shù)據(jù)庫(kù)網(wǎng)關(guān)
3.3構(gòu)件技術(shù) ? 3.3.1 構(gòu)件庫(kù)
構(gòu)件的存儲(chǔ)
構(gòu)件的分類與檢索機(jī)制 構(gòu)件庫(kù)的編目
構(gòu)件庫(kù)的管理和維護(hù)
? 3.3.2 構(gòu)件模型
3C模型
刻面(Facet)模型 青鳥模型
? 3.3.3 構(gòu)件的屬性與特點(diǎn)
構(gòu)件是可獨(dú)立配置的單元,構(gòu)件必須自包容。
構(gòu)件強(qiáng)調(diào)與環(huán)境和其他構(gòu)件的分離,因此構(gòu)件的實(shí)現(xiàn)是嚴(yán)格封裝的,外界沒機(jī)會(huì)或沒必要知道構(gòu)件內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。
構(gòu)件可以在適當(dāng)?shù)沫h(huán)境中被復(fù)合使用,因此構(gòu)件需要提供清楚的接口規(guī)范,可以與環(huán)境交互。
構(gòu)件沒有個(gè)體特有的屬性,最多僅有特定構(gòu)件的一份副本。
? 3.3.4 構(gòu)件與中間件
中間件,本質(zhì)上是對(duì)分布式應(yīng)用的抽象,中間件與系統(tǒng)架構(gòu)實(shí)際上是從兩種不同的角度看待軟件的中間層次。
中間件促進(jìn)了構(gòu)件化軟件,基于中間件開發(fā)的應(yīng)用系統(tǒng)是構(gòu)件化的,中間件提供了構(gòu)件的體系結(jié)構(gòu),極大提高了構(gòu)件化軟件開發(fā)的效率和質(zhì)量。構(gòu)件化的軟件設(shè)計(jì)思想在中間件發(fā)展中起到了重要的作用。
3.4小節(jié)
Microsoft.NET平臺(tái)和J2EE平臺(tái)是目前最常用的兩大軟件開發(fā)平臺(tái)。作為彼此競(jìng)爭(zhēng)的應(yīng)用平臺(tái),Microsoft.NET平臺(tái)和J2EE平臺(tái)在目標(biāo)和體系結(jié)構(gòu)上極其相似,但在實(shí)現(xiàn)上又完全不同。二者總的關(guān)系是:異中有同,同中有異。中間件是處于操作系統(tǒng)和應(yīng)用程序之間的軟件。中間件保持了平臺(tái)的透明性,抽象了典型的應(yīng)用模式。應(yīng)用軟件開發(fā)者可以基于標(biāo)準(zhǔn)的中間件進(jìn)行再開發(fā),而不必再考慮操作系統(tǒng)的問題。
構(gòu)件是可復(fù)用的軟件成份,可被用來構(gòu)造其他軟件。中間件促進(jìn)了構(gòu)件化軟件,應(yīng)用系統(tǒng)在中間件提供的環(huán)境中可以更好地集中于業(yè)務(wù)邏輯上,并以構(gòu)件的形式存在。構(gòu)件思想也反過來推動(dòng)了中間件的發(fā)展。
第4章
軟件項(xiàng)目規(guī)劃
4.1項(xiàng)目策劃
? 1.? 1.從政策導(dǎo)向中尋找項(xiàng)目機(jī)會(huì) 從市場(chǎng)需求中尋找項(xiàng)目機(jī)會(huì) 從技術(shù)發(fā)展中尋找項(xiàng)目機(jī)會(huì) 從特定事件中尋找項(xiàng)目機(jī)會(huì)
4.2項(xiàng)目可行性分析 4.2.1 技術(shù)可行性分析
? ? ? ? ? 1.? ? ? ? ? ? ? ? ? 項(xiàng)目的必要性分析
軟件組織水平與能力分析 項(xiàng)目技術(shù)來源分析 與項(xiàng)目相關(guān)的專利分析
項(xiàng)目負(fù)責(zé)人及技術(shù)骨干的資質(zhì)分析 項(xiàng)目總體技術(shù)方案分析 項(xiàng)目創(chuàng)新點(diǎn)分析 項(xiàng)目技術(shù)風(fēng)險(xiǎn)分析 項(xiàng)目技術(shù)成熟性分析
? 4.2.2 項(xiàng)目投資及效益分析
項(xiàng)目投資預(yù)算分析 項(xiàng)目投資來源分析
市場(chǎng)需求與產(chǎn)品銷售額分析
產(chǎn)品成本、利潤(rùn)與盈虧平衡點(diǎn)分析 投資回收期、投資收益率分析 社會(huì)效益分析
4.3項(xiàng)目論證、評(píng)估與立項(xiàng)
? 4.3.1 項(xiàng)目論證與評(píng)估的基本概念
項(xiàng)目論證是指對(duì)擬實(shí)施項(xiàng)目技術(shù)上的先進(jìn)性、成熟性、適用性,經(jīng)濟(jì)上的合理性、盈利性,實(shí)施上的可能性、風(fēng)險(xiǎn)性進(jìn)行全面科學(xué)的綜合分析,為項(xiàng)目決策提供客觀依據(jù)的一種技術(shù)經(jīng)濟(jì)研究活動(dòng)。
項(xiàng)目評(píng)估指在項(xiàng)目可行性研究的基礎(chǔ)上,項(xiàng)目投資者或項(xiàng)目主管部門或其委托的第三方權(quán)威機(jī)構(gòu)根據(jù)國(guó)家頒布的政策、法律、法規(guī)、標(biāo)準(zhǔn)和技術(shù)規(guī)范,對(duì)擬開發(fā)項(xiàng)目的市場(chǎng)需求、技術(shù)先進(jìn)性和成熟性、預(yù)期經(jīng)濟(jì)效益和社會(huì)效益等進(jìn)行評(píng)價(jià)、分析和論證,進(jìn)而判斷其是否可行的過程。
項(xiàng)目論證與評(píng)估的內(nèi)容、程序和依據(jù)大同小異,只是側(cè)重點(diǎn)稍有不同,有時(shí)不加區(qū)分或合并進(jìn)行。
? 4.3.2 項(xiàng)目可行性報(bào)告的真實(shí)性評(píng)估
項(xiàng)目申請(qǐng)單位的資質(zhì)真實(shí)性評(píng)估 項(xiàng)目申請(qǐng)單位的財(cái)務(wù)真實(shí)性評(píng)估 項(xiàng)目申請(qǐng)單位的技術(shù)真實(shí)性評(píng)估 其他事項(xiàng)的真實(shí)性評(píng)估
? 4.3.3 項(xiàng)目可行性報(bào)告的客觀性評(píng)估
技術(shù)創(chuàng)新點(diǎn)的客觀性評(píng)估
技術(shù)先進(jìn)性與成熟性的客觀性評(píng)估 ?
?
?
? ? ? ? ? ?
? ? ? ? 信息安全措施的客觀性評(píng)估
采用標(biāo)準(zhǔn)、規(guī)范的先進(jìn)性、合理性評(píng)估 項(xiàng)目風(fēng)險(xiǎn)及應(yīng)對(duì)方案的客觀性評(píng)估 其他事項(xiàng)的客觀性評(píng)估
? 4.3.4 評(píng)估報(bào)告
? 項(xiàng)目概況 ? 評(píng)估目標(biāo) ? 評(píng)估依據(jù) ? 評(píng)估內(nèi)容
? 評(píng)估機(jī)構(gòu)與評(píng)估專家 ? 評(píng)估過程
? 詳細(xì)評(píng)估意見
? 存在或遺漏的重大問題 ? 潛在的風(fēng)險(xiǎn) ? 評(píng)估結(jié)論
? 進(jìn)一步的建議
? 4.3.5 項(xiàng)目立項(xiàng)
項(xiàng)目立項(xiàng)的決定應(yīng)當(dāng)由項(xiàng)目團(tuán)隊(duì)之外的、適當(dāng)級(jí)別的、并為項(xiàng)目出資的項(xiàng)目發(fā)起人或投資人作出,通常以項(xiàng)目立項(xiàng)決定(通知)書、項(xiàng)目批文、項(xiàng)目許可證書和項(xiàng)目任務(wù)書等形式發(fā)布。
4.4項(xiàng)目開發(fā)計(jì)劃
? 1.引言 ? 2.引用文件 ? 3.項(xiàng)目最終成果 ? 4.需求與約束
? 5.系統(tǒng)開發(fā)總體計(jì)劃 ? 6.項(xiàng)目開發(fā)詳細(xì)計(jì)劃 ? 7.進(jìn)度表與活動(dòng)網(wǎng)絡(luò)圖 ? 8.項(xiàng)目組織與資源 ? 9.培訓(xùn)
? 10.項(xiàng)目估算 ? 11.風(fēng)險(xiǎn)管理 ? 12.支持條件 ? 13.注解 ? 14.附錄
4.5小節(jié)
? 軟件項(xiàng)目規(guī)劃的任務(wù)主要包括項(xiàng)目策劃、可行性研究、論證、評(píng)估、立項(xiàng)與項(xiàng)目開發(fā)計(jì)劃的制訂工作。
? 項(xiàng)目策劃,也稱項(xiàng)目機(jī)會(huì)研究,其目的是選擇投資機(jī)會(huì)、鑒別投資方向。
? 項(xiàng)目可行性分析的目的是確定以下問題:項(xiàng)目有無必要?能否完成?是否值得去做? ? 項(xiàng)目論證與評(píng)估的目的是審查項(xiàng)目可行性研究的可靠性、真實(shí)性和客觀性,為項(xiàng)目主管部門或投資機(jī)構(gòu)的立項(xiàng)決策提供科學(xué)依據(jù)。
? 項(xiàng)目開發(fā)計(jì)劃是項(xiàng)目規(guī)劃階段的重要成果,編寫軟件項(xiàng)目開發(fā)計(jì)劃時(shí)可依據(jù)《GB/T 8567-2006 計(jì)算機(jī)軟件文檔編制規(guī)范》中的軟件開發(fā)計(jì)劃模版。
? ?
? ? ? ? ?
?
?
?
?
? ? ? ? ? ? ? ? ?
第5章
系統(tǒng)分析方法學(xué) 5.1系統(tǒng)需求分析與軟件需求
系統(tǒng)需求:系統(tǒng)總體功能和業(yè)務(wù)結(jié)構(gòu);硬件系統(tǒng)需求;軟件系統(tǒng)需求;硬件系統(tǒng)和軟件系統(tǒng)之間的接口需求。軟件需求:軟件能力需求;軟件外部接口需求;軟件內(nèi)部接口需求;軟件內(nèi)部數(shù)據(jù)需求;適應(yīng)性需求;安全性需求;保密性和私密性需求;軟件環(huán)境需求;計(jì)算機(jī)資源需求;軟件質(zhì)量需求;設(shè)計(jì)和實(shí)現(xiàn)的約束;數(shù)據(jù)需求;操作需求;故障處理需求;算法需求;相關(guān)人員需求;相關(guān)培訓(xùn)需求;相關(guān)后勤需求;包裝需求;其他需求。
5.2結(jié)構(gòu)化分析
結(jié)構(gòu)化分析(SA)方法是一種面向數(shù)據(jù)流的需求分析方法,基本思想是自頂向下逐層分解。
數(shù)據(jù)流圖(DFD)和數(shù)據(jù)字典(DD)是結(jié)構(gòu)化分析最常用的工具。數(shù)據(jù)流圖用來描述數(shù)據(jù)流從輸入到輸出的變換流程。
數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。
數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。
5.3原型化方法
? 5.3.1 原型化方法與結(jié)構(gòu)化方法的比較
結(jié)構(gòu)化方法的假設(shè):所有的需求都能被預(yù)先定義;修改定義不完備的系統(tǒng)代價(jià)昂貴且實(shí)施困難;項(xiàng)目參加者之間能夠清晰進(jìn)行準(zhǔn)確的通信;靜態(tài)描述或圖形模型對(duì)應(yīng)用系統(tǒng)的反映是充分的;結(jié)構(gòu)化方法的生命周期的各階段都是固有正確的。
原型化方法的假設(shè):并非所有的需求在系統(tǒng)開發(fā)以前都能準(zhǔn)確地說明;有快速的系統(tǒng)建造工具;項(xiàng)目參加者之間通常都存在通信上的障礙;需要實(shí)際的、可供用戶參與的系統(tǒng)模型;需求一旦確定,就可以遵從嚴(yán)格的方法;大量的反復(fù)是不可避免的、必要的,應(yīng)該加以鼓勵(lì)。
? 5.3.2 原型生命周期及其策略
原型生命周期劃分:選擇開發(fā)方法;識(shí)別基本需求;開發(fā)工作模型;模型驗(yàn)證;修正和改進(jìn);判定原型完成;差別細(xì)部說明;嚴(yán)格說明細(xì)部;判定原型效果;整理原型和提供文檔。
原型化的策略:建立數(shù)據(jù)模型;利用組合工程;剪裁和粘貼;用系統(tǒng)舉例;字典驅(qū)動(dòng);文檔的自動(dòng)化;小的原型化隊(duì)伍;交互式開發(fā)平臺(tái);陳述性規(guī)格說明;終端用戶報(bào)表生成器;專業(yè)原型化人員;開發(fā)人員參加原型化。
5.4面向?qū)ο蟮姆治?/p>
? 5.4.1 面向?qū)ο蠓椒▽W(xué)概述
對(duì)象與封裝 類
繼承與多態(tài)性 消息通信
面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn)
? 5.4.2 面向?qū)ο蟮姆治龇椒?/p>
OMT方法簡(jiǎn)介 建立對(duì)象模型 建立動(dòng)態(tài)模型 建立功能模型
?
?
? ? ?
? ? ? ? ? ? ? 1.? ? 1.? ? ? ? ?
? ? ? ? ? ?
5.5小節(jié)
系統(tǒng)分析涉及系統(tǒng)需求的獲取、分析、規(guī)格說明和確認(rèn)。系統(tǒng)需求可分為以下幾個(gè)方面:系統(tǒng)總體功能和業(yè)務(wù)結(jié)構(gòu)、硬件系統(tǒng)需求、軟件系統(tǒng)需求、硬件系統(tǒng)和軟件系統(tǒng)之間的接口需求。
常用的系統(tǒng)分析方法包括結(jié)構(gòu)化分析、原型化方法和面向?qū)ο蟮姆治觥?/p>
第7章
系統(tǒng)分析文檔
7.1系統(tǒng)/子系統(tǒng)需求規(guī)格說明
引言 引用文件
需求:要求的狀態(tài)和方式;需求概述;系統(tǒng)能力需求;系統(tǒng)外部接口需求;系統(tǒng)內(nèi)部接口需求;系統(tǒng)內(nèi)部數(shù)據(jù)需求;適應(yīng)性需求;安全性需求;保密性和私密性需求;操作需求;可使用性、可維護(hù)性、可移植性、可靠性和安全性需求;故障處理需求;系統(tǒng)環(huán)境需求;計(jì)算機(jī)資源需求;系統(tǒng)質(zhì)量需求;設(shè)計(jì)和構(gòu)造的約束;相關(guān)人員需求;相關(guān)培訓(xùn)需求;相關(guān)后勤需求;包裝需求;其他需求;需求的優(yōu)先次序和關(guān)鍵程度 合格性規(guī)定 需求可追蹤性 非技術(shù)性需求 尚未解決的問題 注解 附錄
7.2接口需求規(guī)格說明
引言 引用文件 需求
合格性規(guī)定 需求可追蹤性 注解 附錄
7.3軟件需求規(guī)格說明
引言 引用文件
軟件需求:要求的狀態(tài)和方式;需求概述;需求規(guī)格;軟件能力需求;軟件外部接口需求;軟件內(nèi)部接口需求;軟件內(nèi)部數(shù)據(jù)需求;適應(yīng)性需求;安全性需求;保密性和私密性需求;軟件環(huán)境需求;計(jì)算機(jī)資源需求;軟件質(zhì)量需求;設(shè)計(jì)和實(shí)現(xiàn)的約束;數(shù)據(jù)需求;操作需求;故障處理需求;算法需求;相關(guān)人員需求;相關(guān)培訓(xùn)需求;相關(guān)后勤需求;包裝需求;其他需求;需求的優(yōu)先次序和關(guān)鍵程度 合格性規(guī)定 需求可追蹤性 尚未解決的問題 注解 附錄
7.4小節(jié)
根據(jù)《GB/T 8567-2006 計(jì)算機(jī)軟件文檔編制規(guī)范》(Specification for computer
? ? ?
? ?
? ? ? ? ? ?
? ? ? ? ?
?
? software documentation),系統(tǒng)分析文檔主要包括系統(tǒng)/子系統(tǒng)需求規(guī)格說明(SSS)、接口需求規(guī)格說明(IRS)和軟件需求規(guī)格說明(SRS)。系統(tǒng)/子系統(tǒng)需求規(guī)格說明(SSS)為一個(gè)系統(tǒng)或子系統(tǒng)指定需求以及保證每個(gè)需求得到確認(rèn)所使用的方法。
接口需求規(guī)格說明(IRS)描述為實(shí)現(xiàn)一個(gè)或多個(gè)系統(tǒng)、子系統(tǒng)、硬件配置項(xiàng)(HWCI)、計(jì)算機(jī)軟件配置項(xiàng)(CSCI)、用戶
軟件需求規(guī)格說明(SRS)描述對(duì)計(jì)算機(jī)軟件的需求以及確保每個(gè)需求得到確認(rèn)所使用的方法。
第8章
系統(tǒng)設(shè)計(jì)基礎(chǔ) 8.1系統(tǒng)設(shè)計(jì)概述
? 8.1.1 系統(tǒng)級(jí)設(shè)計(jì)決策
系統(tǒng)級(jí)設(shè)計(jì)決策,是指系統(tǒng)行為的設(shè)計(jì)決策(忽略其內(nèi)部實(shí)現(xiàn),從用戶角度出發(fā),描述系統(tǒng)將怎樣運(yùn)轉(zhuǎn)以滿足需求)和其他對(duì)系統(tǒng)部件的選擇和設(shè)計(jì)產(chǎn)生影響的的決策。系統(tǒng)級(jí)設(shè)計(jì)決策內(nèi)容:有關(guān)系統(tǒng)接收的輸入和產(chǎn)生的輸出的設(shè)計(jì)決策;對(duì)每個(gè)輸入或條件進(jìn)行響應(yīng)的系統(tǒng)行為的設(shè)計(jì)決策;系統(tǒng)數(shù)據(jù)庫(kù)/數(shù)據(jù)文件如何呈現(xiàn)給用戶的設(shè)計(jì)決策;為滿足安全性、保密性和私密性需求所選用的方法;硬件或硬軟件系統(tǒng)的設(shè)計(jì)和構(gòu)造選擇;為了響應(yīng)需求而作出的其他系統(tǒng)級(jí)設(shè)計(jì)決策。
? 8.1.2 系統(tǒng)架構(gòu)設(shè)計(jì)
總體設(shè)計(jì)
系統(tǒng)部件設(shè)計(jì) 動(dòng)態(tài)交互設(shè)計(jì) 接口設(shè)計(jì)
? 8.1.3 運(yùn)行設(shè)計(jì)
系統(tǒng)初始化——說明本系統(tǒng)的初始化過程。
運(yùn)行控制——說明對(duì)系統(tǒng)施加不同的外界運(yùn)行控制時(shí)所引起的各種不同的運(yùn)行組件組合、每種運(yùn)行所經(jīng)歷的內(nèi)部組件和支持軟件、每一種外界運(yùn)行控制的方式方法和操作步驟、每種運(yùn)行組件組合將占用各種資源的情況以及系統(tǒng)運(yùn)行時(shí)的安全控制。運(yùn)行結(jié)束——說明本系統(tǒng)運(yùn)行的結(jié)束過程。
? 8.1.4 系統(tǒng)出錯(cuò)處理設(shè)計(jì)
出錯(cuò)信息——包括出錯(cuò)信息表、故障處理技術(shù)等。補(bǔ)救措施——說明故障出現(xiàn)后可能采取的補(bǔ)救措施。
? 8.1.5 系統(tǒng)維護(hù)設(shè)計(jì)
檢測(cè)點(diǎn)的設(shè)計(jì)——說明在系統(tǒng)中專門安排用于系統(tǒng)檢查與維護(hù)的檢測(cè)點(diǎn)。
檢測(cè)專用組件的設(shè)計(jì)——說明在系統(tǒng)中專門安排用于系統(tǒng)檢查與維護(hù)的專用組件。
8.2軟件設(shè)計(jì)概述
? 8.2.1 軟件級(jí)設(shè)計(jì)決策
軟件級(jí)設(shè)計(jì)決策是指軟件行為的設(shè)計(jì)決策(忽略其內(nèi)部實(shí)現(xiàn),從用戶角度出發(fā),描述軟件將怎樣運(yùn)轉(zhuǎn)以滿足需求)和其他影響組成該軟件的軟件配置項(xiàng)的選擇與設(shè)計(jì)的決策。
軟件級(jí)設(shè)計(jì)決策內(nèi)容:有關(guān)軟件接收的輸入和產(chǎn)生的輸出的設(shè)計(jì)決策;對(duì)每個(gè)輸入或條件進(jìn)行響應(yīng)的軟件行為的設(shè)計(jì)決策;有關(guān)數(shù)據(jù)庫(kù)/數(shù)據(jù)文件如何呈現(xiàn)給用戶的設(shè)計(jì)決策;為滿足安全性、保密性和私密性需求所選用的方法;為響應(yīng)需求而作出的其他軟件級(jí)設(shè)計(jì)決策。
? 8.2.2 軟件架構(gòu)設(shè)計(jì)
? ? ? ? ? ? ? ? ? ? ? 程序結(jié)構(gòu)設(shè)計(jì)
全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 軟件配置項(xiàng)設(shè)計(jì) 動(dòng)態(tài)交互設(shè)計(jì) 接口設(shè)計(jì)
? 8.2.3 軟件詳細(xì)設(shè)計(jì)
軟件配置項(xiàng)設(shè)計(jì)決策
軟件配置項(xiàng)設(shè)計(jì)中的約束、限制或非常規(guī)特征 軟件配置項(xiàng)使用的編程語(yǔ)言考慮 軟件配置項(xiàng)使用的過程式命令選取
軟件配置項(xiàng)的局部數(shù)據(jù)與軟件配置項(xiàng)的輸入或輸出數(shù)據(jù)設(shè)計(jì) 軟件配置項(xiàng)的邏輯設(shè)計(jì)
8.3設(shè)計(jì)原則 ? 8.3.1 組件化
組件的可分解性 組件的可組裝性 組件的可理解性 組件的連續(xù)性 組件的保護(hù)性
? 8.3.2 抽象
抽象就是抽出事物的本質(zhì)特性而暫時(shí)忽略其細(xì)節(jié),使得不同的事物可以當(dāng)作相同的事務(wù)來處理。
軟件工程過程的每一步都是對(duì)軟件解法的抽象層次的一次精化。
軟件設(shè)計(jì)中的抽象機(jī)制主要包括類、模板、過程抽象、數(shù)據(jù)抽象和控制抽象。
? 8.3.3 內(nèi)聚與耦合
內(nèi)聚是指一個(gè)組件內(nèi)各個(gè)元素彼此結(jié)合的緊密程度 內(nèi)聚種類(由低到高排列):偶然內(nèi)聚;邏輯內(nèi)聚;瞬時(shí)內(nèi)聚;過程內(nèi)聚;通信內(nèi)聚;順序內(nèi)聚;功能內(nèi)聚
耦合是指一個(gè)軟件結(jié)構(gòu)內(nèi)不同組件之間的互連程度 耦合種類(由高到低排列):內(nèi)容耦合;公共耦合;外部耦合;控制耦合;標(biāo)記耦合;數(shù)據(jù)耦合;非直接耦合
組件的高內(nèi)聚、低耦合原則稱為組件獨(dú)立原則
? 8.3.4 封裝與信息隱蔽
第一,組件是其全部屬性和全部服務(wù)緊密結(jié)合而形成的一個(gè)不可分割的整體。
第二,組件是一個(gè)不透明的黑盒子,表示組件狀態(tài)的數(shù)據(jù)和實(shí)現(xiàn)操作的代碼都被封裝在黑盒子里面。使用一個(gè)組件的時(shí)候,只需知道它向外界提供的接口形式,無須知道它的數(shù)據(jù)結(jié)構(gòu)細(xì)節(jié)和實(shí)現(xiàn)操作的算法。
? 8.3.5 啟發(fā)式規(guī)則
深度、寬度、扇出與扇入 作用域和控制域 功能的可預(yù)測(cè)性
8.4設(shè)計(jì)視圖
? 8.4.1 架構(gòu)視圖(靜態(tài)視圖)
架構(gòu)描述語(yǔ)言(ADL)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 類圖與對(duì)象圖 組件圖
協(xié)作責(zé)任卡(CRC)部署圖
實(shí)體-聯(lián)系圖(E-R圖)接口描述語(yǔ)言(IDL)結(jié)構(gòu)圖
Jackson結(jié)構(gòu)圖
? 8.4.2 行為視圖(動(dòng)態(tài)視圖)
活動(dòng)圖 協(xié)作圖 順序圖 數(shù)據(jù)流圖
決策表和決策圖
流程圖和結(jié)構(gòu)化流程圖 狀態(tài)圖
形式化描述語(yǔ)言 偽碼
8.5小節(jié)
系統(tǒng)設(shè)計(jì)是定義一個(gè)系統(tǒng)或軟件的架構(gòu)、組件、接口和其它特征的過程。包括系統(tǒng)級(jí)設(shè)計(jì)決策、系統(tǒng)架構(gòu)設(shè)計(jì)、運(yùn)行設(shè)計(jì)、系統(tǒng)出錯(cuò)處理設(shè)計(jì)和系統(tǒng)維護(hù)設(shè)計(jì)。
軟件設(shè)計(jì)主要包括軟件級(jí)設(shè)計(jì)決策、軟件架構(gòu)設(shè)計(jì)(概要設(shè)計(jì))與詳細(xì)設(shè)計(jì)。軟件架構(gòu)設(shè)計(jì)的主要任務(wù)是程序結(jié)構(gòu)設(shè)計(jì)、全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、軟件配置項(xiàng)設(shè)計(jì)、動(dòng)態(tài)交互設(shè)計(jì)和接口設(shè)計(jì)。軟件詳細(xì)設(shè)計(jì)是指每一個(gè)軟件配置項(xiàng)的具體設(shè)計(jì)。
組件化、抽象、高內(nèi)聚與低耦和、封裝與信息隱蔽是軟件設(shè)計(jì)的基本原則。軟件設(shè)計(jì)視圖通??煞譃榧軜?gòu)視圖(靜態(tài)視圖)和行為視圖(動(dòng)態(tài)視圖)兩類。第9章
系統(tǒng)設(shè)計(jì)方法 9.1結(jié)構(gòu)化設(shè)計(jì)
? 9.1.1 結(jié)構(gòu)化設(shè)計(jì)方法概述
分析系統(tǒng)的總體需求,并將需求逐步分解為基本、具體的功能。確定每個(gè)功能應(yīng)當(dāng)記錄的數(shù)據(jù)。
列出系統(tǒng)中應(yīng)提供的各項(xiàng)基本功能,并分析各項(xiàng)基本功能之間的耦合關(guān)系,根據(jù)高內(nèi)聚、低耦和的原則分配到系統(tǒng)中適當(dāng)?shù)哪K中。
? 9.1.2 系統(tǒng)結(jié)構(gòu)圖
模塊 調(diào)用 數(shù)據(jù) 控制 轉(zhuǎn)接符號(hào)
? 9.1.3 系統(tǒng)結(jié)構(gòu)圖分類
變換流與事務(wù)流 變換型系統(tǒng)結(jié)構(gòu)圖 事務(wù)型系統(tǒng)結(jié)構(gòu)圖 ? ? ?
? ? ? ? ? ? ? ?
? 混合型系統(tǒng)結(jié)構(gòu)圖
9.2面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)
? 9.2.1 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)概述
分析并建立適合系統(tǒng)的數(shù)據(jù)結(jié)構(gòu);
根據(jù)數(shù)據(jù)結(jié)構(gòu)在相應(yīng)的層次建立程序結(jié)構(gòu);
羅列出程序中用到的各種基本操作,并將這些基本操作分配到程序結(jié)構(gòu)中合適的模塊中。
? 9.2.2 Jackson圖
順序結(jié)構(gòu) 選擇結(jié)構(gòu) 重復(fù)結(jié)構(gòu)
改進(jìn)的Jackson圖
? 9.2.3 Jackson方法
分析并確定輸入和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并利用Jackson 找出輸入和輸出數(shù)據(jù)結(jié)構(gòu)中存在對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元。從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描繪程序結(jié)構(gòu)的Jackson
列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們安排到程序結(jié)構(gòu)圖的適當(dāng)位置。用偽代碼表示。
9.3面向?qū)ο蟮脑O(shè)計(jì)
? 9.3.1 面向?qū)ο蟮脑O(shè)計(jì)概述
面向?qū)ο笤O(shè)計(jì)的基本思想是通過建立和客觀實(shí)際相對(duì)應(yīng)的對(duì)象,并通過這些對(duì)象的組合來創(chuàng)建具體的應(yīng)用。
面向?qū)ο笤O(shè)計(jì)具有基于抽象、信息隱藏、功能獨(dú)立和模塊性構(gòu)造系統(tǒng)的能力。
對(duì)于面向?qū)ο蟮南到y(tǒng),可以定義一個(gè)四個(gè)層次的設(shè)計(jì)金字塔:子系統(tǒng)層;類及對(duì)象層;消息層;責(zé)任層。
? 9.3.2 面向?qū)ο笤O(shè)計(jì)技術(shù)
? Coad/Yourdon方法 ? Booch方法 ? OMT方法 ? ?
? 9.3.3 面向?qū)ο笤O(shè)計(jì)過程
系統(tǒng)設(shè)計(jì)過程:將分析模型劃分為子系統(tǒng);子系統(tǒng)分配及與問題的并發(fā)性;任務(wù)管理;數(shù)據(jù)管理;資源管理;人機(jī)界面;子系統(tǒng)間通信
對(duì)象設(shè)計(jì)過程:對(duì)象描述;算法與數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);接口設(shè)計(jì)與模塊化
9.4設(shè)計(jì)模式
? 9.4.1 設(shè)計(jì)模式概述
設(shè)計(jì)模式就是將面向?qū)ο筌浖脑O(shè)計(jì)經(jīng)驗(yàn)記錄下,可供設(shè)計(jì)者能夠復(fù)用的設(shè)計(jì)方案。設(shè)計(jì)模式極大提高了面向?qū)ο筌浖_發(fā)的效率,降低了軟件的復(fù)雜度。
在軟件設(shè)計(jì)中使用設(shè)計(jì)模式,將使用開發(fā)出來的軟件更容易理解、更容易維護(hù)、更容易擴(kuò)展,使用設(shè)計(jì)模式同時(shí)也能夠提高開發(fā)團(tuán)隊(duì)和個(gè)人的開發(fā)能力。
? 9.4.2 設(shè)計(jì)模式基本組成
模式名稱:惟一標(biāo)識(shí)一個(gè)設(shè)計(jì)模式。問題:描述應(yīng)該在何時(shí)使用該模式。? ? ?
? ? ? ? ? ? ? ? ?
? ? ?
? ? ?
? ?
? 解決方案:描述設(shè)計(jì)的組成要素,以及它們之間的相互關(guān)系及各自的職責(zé)與相互之間協(xié)作的方式。
? 效果:描述應(yīng)用設(shè)計(jì)模式的效果,以及使用設(shè)計(jì)模式必須考慮的限制和約束因素。
? 9.4.3 設(shè)計(jì)模式分類
? 面向?qū)ο竽J?? 代碼模式
? 框架應(yīng)用模式
? 創(chuàng)建型模式、結(jié)構(gòu)型模式與行為型模式 ? 類模式與對(duì)象模式
? 9.4.4 如何使用設(shè)計(jì)模式
? 針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程 ? 優(yōu)先使用對(duì)象組合,而不是類繼承 ? 找出變化并封裝
9.5小節(jié)
? 系統(tǒng)設(shè)計(jì)是一系列迭代的過程,主要任務(wù)包括數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)、接口及過程細(xì)節(jié)的設(shè)計(jì)等,而設(shè)計(jì)方法是軟件設(shè)計(jì)活動(dòng)中實(shí)現(xiàn)設(shè)計(jì)模型的方法。? 系統(tǒng)設(shè)計(jì)方法主要包括面向過程的結(jié)構(gòu)化設(shè)計(jì)方法、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),以及面向?qū)ο蟮脑O(shè)計(jì)方法與設(shè)計(jì)模式。
第10章
數(shù)據(jù)庫(kù)設(shè)計(jì) 10.1數(shù)據(jù)建模
? 10.1.1 數(shù)據(jù)模型分類
? 概念數(shù)據(jù)模型 ? 結(jié)構(gòu)數(shù)據(jù)模型 ? 物理數(shù)據(jù)模型
? 10.1.2 實(shí)體-聯(lián)系(E-R)模型
? 實(shí)體 ? 屬性 ? 聯(lián)系 ? 實(shí)體型 ? 實(shí)體集 ? 鍵 ? 域
? 10.1.3 數(shù)據(jù)模型
? 層次數(shù)據(jù)模型(hierarchical model)? 網(wǎng)狀數(shù)據(jù)模型(network model)? 關(guān)系數(shù)據(jù)模型(relational model)
? 面向?qū)ο竽P停╫bject oriented model)
10.2數(shù)據(jù)規(guī)范化
? 10.2.1 數(shù)據(jù)規(guī)范化的基本概念
? 函數(shù)依賴
? 非平凡函數(shù)依賴 ? 完全函數(shù)依賴 ? 部分函數(shù)依賴
? 傳遞函數(shù)依賴 ? 鍵
? 10.2.2 范式
? ? ? ? 第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)
10.3數(shù)據(jù)庫(kù)設(shè)計(jì)過程 ? 10.3.1 數(shù)據(jù)庫(kù)需求分析
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)邊界的確定 數(shù)據(jù)環(huán)境的確定 數(shù)據(jù)內(nèi)部關(guān)系 數(shù)據(jù)字典
數(shù)據(jù)性能需求
數(shù)據(jù)需求分析說明書
? 10.3.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)
概念設(shè)計(jì)與概念模型 概念設(shè)計(jì)的主要方法 分解與抽象 局部概念模式 全局概念模式
? 10.3.3 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)
初始模式的形成 子模式設(shè)計(jì)
應(yīng)用程序概要設(shè)計(jì) 模式評(píng)審 修正模式
? 10.3.4 數(shù)據(jù)庫(kù)物理設(shè)計(jì)
存儲(chǔ)記錄結(jié)構(gòu)設(shè)計(jì) 確定數(shù)據(jù)存放位置 存取方法設(shè)計(jì)
完整性和安全考慮 程序設(shè)計(jì)
10.4小節(jié)
? 數(shù)據(jù)庫(kù)系統(tǒng)普遍采取數(shù)據(jù)模型表示和處理客觀事物的數(shù)據(jù)特征與信息。數(shù)據(jù)模型主要由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成,從抽象層次上描述和模擬了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束條件。
? 關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足一定的要求,即滿足不同的范式。目前關(guān)系數(shù)據(jù)庫(kù)中常用的范式包括:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。? 數(shù)據(jù)庫(kù)設(shè)計(jì)主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)等幾個(gè)階段。
第11章
用戶界面設(shè)計(jì)
11.1基本概念
? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ?
? 11.1.1 界面設(shè)計(jì)目標(biāo)
可用性目標(biāo):可行性、有效性、易學(xué)性、易記性、安全性、通用性
用戶體驗(yàn)?zāi)繕?biāo):令人滿意、令人愉快、引人入勝、富有啟發(fā)、激發(fā)創(chuàng)造??
可用性目標(biāo)主要從客觀角度來評(píng)價(jià)系統(tǒng)界面,而用戶體驗(yàn)?zāi)繕?biāo)則是從用戶主觀感受的角度來評(píng)價(jià)系統(tǒng)界面。
? 11.1.2 界面設(shè)計(jì)原則
可視性:將系統(tǒng)功能呈現(xiàn)得一目了然。
反饋性:返回與活動(dòng)相關(guān)的信息,以便用戶能夠繼續(xù)這個(gè)活動(dòng)。限制性:將用戶的行為限制在一定的范圍內(nèi)。
對(duì)應(yīng)性:明確系統(tǒng)某個(gè)控制與其控制效果之間的對(duì)應(yīng)關(guān)系。一致性:用相似的元素表現(xiàn)相似的操作或相似的任務(wù)。啟示性:界面元素應(yīng)給予用戶某種提示。
? 11.1.3 界面設(shè)計(jì)過程
標(biāo)識(shí)出用戶的真實(shí)需要并建立需求模型 設(shè)計(jì)出候選方案
構(gòu)建或?qū)崿F(xiàn)設(shè)計(jì)的原型版本 對(duì)界面設(shè)計(jì)進(jìn)行評(píng)估
11.2界面設(shè)計(jì)技術(shù)
? 11.2.1 界面設(shè)計(jì)分析技術(shù)
GOMS模型及GOMS擊鍵層模型 Hick律 Fitts律
? 11.2.2 界面設(shè)計(jì)方法
原型設(shè)計(jì)方法
以用戶為中心的設(shè)計(jì)方法 用戶界面設(shè)計(jì)的支持工具
11.3界面設(shè)計(jì)評(píng)估
? 11.3.1 構(gòu)造性評(píng)估與總結(jié)性評(píng)估
構(gòu)造性評(píng)估:在設(shè)計(jì)過程中對(duì)所設(shè)計(jì)的系統(tǒng)或產(chǎn)品界面進(jìn)行評(píng)估以確保其滿足用戶需求。
總結(jié)性評(píng)估:對(duì)已經(jīng)完成的產(chǎn)品或系統(tǒng)界面進(jìn)行評(píng)估。
? 11.3.2 評(píng)估范型
快速評(píng)估 可用性測(cè)試 實(shí)地研究 預(yù)測(cè)性評(píng)估
? 11.3.3 評(píng)估方法與技術(shù)
觀察用戶
征求用戶意見 征求專家意見 用戶測(cè)試
用戶執(zhí)行情況的分析模型
? 11.3.4 評(píng)估框架
明確(Determine)
? ? ? ? ? ? ? ? ?
發(fā)掘(Explore)選擇(Choose)標(biāo)識(shí)(Identify)決定(Decide)評(píng)估(Evalute)
11.5小節(jié)
用戶界面體現(xiàn)了用戶利用系統(tǒng)完成任務(wù)的方式以及系統(tǒng)對(duì)用戶行為的響應(yīng)方式,一個(gè)沒有良好的用戶界面設(shè)計(jì)的系統(tǒng)很可能會(huì)成為一個(gè)沒有用戶的系統(tǒng)。可用性目標(biāo)與用戶體驗(yàn)?zāi)繕?biāo)。
界面設(shè)計(jì)的量化模型:GOMS模型及其子模型-擊鍵層模型,Hick律和Fitts律。構(gòu)造性評(píng)估與總結(jié)性評(píng)估。
第12章
系統(tǒng)設(shè)計(jì)文檔
12.1系統(tǒng)/子系統(tǒng)(結(jié)構(gòu))設(shè)計(jì)說明
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 引言 引用文件
系統(tǒng)級(jí)設(shè)計(jì)決策
系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì):總體設(shè)計(jì);系統(tǒng)部件設(shè)計(jì);動(dòng)態(tài)交互設(shè)計(jì);接口設(shè)計(jì) 運(yùn)行設(shè)計(jì)
系統(tǒng)出錯(cuò)處理設(shè)計(jì) 系統(tǒng)維護(hù)設(shè)計(jì) 尚未解決的問題 需求的可追蹤性 注解 附錄
12.2
接口設(shè)計(jì)說明
引言 引用文件 接口設(shè)計(jì)
需求的可追蹤性 注解 附錄
12.3
軟件(結(jié)構(gòu))設(shè)計(jì)說明
引言 引用文件
軟件級(jí)設(shè)計(jì)決策
軟件體系結(jié)構(gòu)設(shè)計(jì):程序結(jié)構(gòu)設(shè)計(jì);全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì);軟件配置項(xiàng)設(shè)計(jì);動(dòng)態(tài)交互設(shè)計(jì);接口設(shè)計(jì) 軟件詳細(xì)設(shè)計(jì) 需求的可追蹤性 注解 附錄
12.4數(shù)據(jù)庫(kù)設(shè)計(jì)說明
? ? ? ? ? ? ? ? ?
? ? ? ? ?
引言 引用文件
數(shù)據(jù)庫(kù)級(jí)設(shè)計(jì)決策 數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)
用于數(shù)據(jù)庫(kù)操縱或訪問的軟件配置項(xiàng)的詳細(xì)設(shè)計(jì) 需求的可追蹤性 注解 附錄
12.5
小節(jié)
根據(jù)《GB/T 8567-2006 計(jì)算機(jī)軟件文檔編制規(guī)范》,系統(tǒng)設(shè)計(jì)文檔主要包括系統(tǒng)/子系統(tǒng)設(shè)計(jì)(結(jié)構(gòu)設(shè)計(jì))說明(SSDD)、接口設(shè)計(jì)說明(IDD)、軟件(結(jié)構(gòu))設(shè)計(jì)說明(SDD)和數(shù)據(jù)庫(kù)設(shè)計(jì)說明(DBDD)。
系統(tǒng)/子系統(tǒng)設(shè)計(jì)(結(jié)構(gòu)設(shè)計(jì))說明(SSDD)描述了系統(tǒng)(或子系統(tǒng))的系統(tǒng)級(jí)(或子系統(tǒng)級(jí))設(shè)計(jì)決策與體系結(jié)構(gòu)設(shè)計(jì)。
接口設(shè)計(jì)說明(IDD)描述了一個(gè)或多個(gè)系統(tǒng)、子系統(tǒng)、硬件配置項(xiàng)(HWCI)、計(jì)算機(jī)軟件配置項(xiàng)(CSCI)、用戶或其他系統(tǒng)部件的接口特性。
軟件(結(jié)構(gòu))設(shè)計(jì)說明(SDD)描述了計(jì)算機(jī)軟件系統(tǒng)的軟件級(jí)設(shè)計(jì)決策、軟件體系結(jié)構(gòu)設(shè)計(jì)(概要設(shè)計(jì))與詳細(xì)設(shè)計(jì)。
數(shù)據(jù)庫(kù)(頂層)設(shè)計(jì)說明(DBDD)描述了數(shù)據(jù)庫(kù)的設(shè)計(jì)。系統(tǒng)設(shè)計(jì)文檔可以使用自然語(yǔ)言,可以使用形式化語(yǔ)言,也可以根據(jù)具體的系統(tǒng)設(shè)計(jì)方法使用各種圖形工具,還可以根據(jù)實(shí)際情況混合使用多種表現(xiàn)形式。
第三篇:系統(tǒng)分析與設(shè)計(jì) 期末考試
10.在一個(gè)課程注冊(cè)系統(tǒng)中,定義了類CourseSchedule和類Course,并在類CourseSchedule中定義了方法add(c: Course)和方法remove(c: Course),則類CourseSchedule和類Course之間的關(guān)系是:()A.泛化(generalization)關(guān)系 B.組合(composition)關(guān)系 C.依賴(dependency)關(guān)系 D.包含(include)關(guān)系 13.進(jìn)行企業(yè)系統(tǒng)規(guī)劃,哪種規(guī)劃方法使目標(biāo)識(shí)別比較全面
A、企業(yè)系統(tǒng)規(guī)劃法 B、關(guān)鍵成功因素法
C、戰(zhàn)略目標(biāo)集轉(zhuǎn)化法 D、成本效益分析法 14.系統(tǒng)開發(fā)的生命周期中不包括下列哪個(gè)階段()A.系統(tǒng)規(guī)劃 B.系統(tǒng)分析 C.系統(tǒng)設(shè)計(jì) D.系統(tǒng)實(shí)施
19.面向?qū)ο蟪绦蛟O(shè)計(jì)將描述事物的數(shù)據(jù)與()封裝在一起,作為一個(gè)相互依存、不可分割的整體來處理。A.信息 B.數(shù)據(jù)隱藏 C.對(duì)數(shù)據(jù)的操作 D.數(shù)據(jù)抽象 22.屬于系統(tǒng)設(shè)計(jì)階段的工具是():
A.數(shù)據(jù)流程圖 B.處理流程圖 C.系統(tǒng)流程圖 D.HIPO圖
23.進(jìn)行企業(yè)系統(tǒng)規(guī)劃,哪種規(guī)劃方法可以形成一套完整的信息系統(tǒng)結(jié)構(gòu)方案()A.企業(yè)系統(tǒng)規(guī)劃法 B.關(guān)鍵成功因素法 C.戰(zhàn)略目標(biāo)集轉(zhuǎn)化法 D.成本效益分析法
30.導(dǎo)出模塊結(jié)構(gòu)圖的基礎(chǔ)是()
A.業(yè)務(wù)流程圖 B.數(shù)據(jù)流程圖 C.處理流程圖 D.層次結(jié)構(gòu)圖
32.()是從用戶使用系統(tǒng)的角度描述系統(tǒng)功能的圖形表達(dá)方法。
A.類圖 B.對(duì)象圖 C.序列圖 D.用例圖
35.UML中,對(duì)象行為是通過交互來實(shí)現(xiàn)的,是對(duì)象間為完成某一目的而進(jìn)行的一系列消息交換。消息序列可用兩種圖來表示,分別是(D)
A.狀態(tài)圖和順序圖 B.活動(dòng)圖和協(xié)作圖
C.狀態(tài)圖和活動(dòng)圖 D.順序圖和協(xié)作圖
36.用例(Use-case)用來描述系統(tǒng)在事件做出響應(yīng)時(shí)所采取的行動(dòng)。用例之間是具有相關(guān)性的。在一個(gè)“訂單輸入子系統(tǒng)”中,創(chuàng)建新訂單和更新訂單都需要檢查用戶帳號(hào)是否正確。那么,用例“創(chuàng)建新訂單”、“更新訂單”與用例“檢查用戶帳號(hào)”之間是(A)關(guān)系。
A.包含(include)B.擴(kuò)展(extend)
C.分類(classification)D.聚集(aggregation)
1、組成UML有三種基本的建筑塊是:(A),事物和圖
A、關(guān)系 B、類 C、用例 D、實(shí)體
2、UML體系包括三個(gè)部分:UML基本構(gòu)造塊,(A)和UML公共機(jī)制
A、UML規(guī)則 B、UML命名 C、UML模型 D、UML約束
4、(A)模型的缺點(diǎn)是缺乏靈活性,特別是無法解決軟件需求不明確或不準(zhǔn)確的問題
A、瀑布模型 B、原型模型 C、增量模型 D、螺旋模型
5、下面哪個(gè)不是UML中的靜態(tài)視圖(A)
A.狀態(tài)圖 B.用例圖 C.對(duì)象圖 D.類圖
6、(A)技術(shù)是將一個(gè)活動(dòng)圖中的活動(dòng)狀態(tài)進(jìn)行分組,每一組表示一個(gè)特定的類、人或部門,他們負(fù)責(zé)完成組內(nèi)的活動(dòng)。
A、泳道 B、分叉匯合 C、分支 D、轉(zhuǎn)移
7、下列關(guān)于狀態(tài)圖的說法中,正確的是(C)
A.狀態(tài)圖是UML中對(duì)系統(tǒng)的靜態(tài)方面進(jìn)行建模的五種圖之一。B.狀態(tài)圖是活動(dòng)圖的一個(gè)特例,狀態(tài)圖中的多數(shù)狀態(tài)是活動(dòng)狀態(tài)
C.活動(dòng)圖和狀態(tài)圖是對(duì)一個(gè)對(duì)象的生命周期進(jìn)行建模,描述對(duì)象隨時(shí)間變化的行為。D.狀態(tài)圖強(qiáng)調(diào)對(duì)有幾個(gè)對(duì)象參與的活動(dòng)過程建模,而活動(dòng)圖更強(qiáng)調(diào)對(duì)單個(gè)反應(yīng)型對(duì)象建模
8、對(duì)反應(yīng)型對(duì)象建模一般使用(A)圖
A、狀態(tài)圖 B、順序圖 C、活動(dòng)圖 D、類圖
12、(D)是系統(tǒng)中遵從一組接口且提供實(shí)現(xiàn)的一個(gè)物理部件,通常指開發(fā)和運(yùn)行時(shí)類的物理實(shí)現(xiàn) A、部署圖 B、類 C、接口 D、組件
13、關(guān)于協(xié)作圖的描述,下列哪個(gè)不正確(B)
A.協(xié)作圖作為一種交互圖,強(qiáng)調(diào)的是參加交互的對(duì)象的組織; B.協(xié)作圖是順序圖的一種特例 C.協(xié)作圖中有消息流的順序號(hào);
D.在ROSE工具中,協(xié)作圖可在順序圖的基礎(chǔ)上按“F5”鍵自動(dòng)生成; 8定義大多數(shù)的需求和范圍的工作是在UP中的 B 階段完成的。A初始階段 B細(xì)化階段 C構(gòu)造階段 D提交階段
1.信息系統(tǒng)設(shè)計(jì)是系統(tǒng)開發(fā)的重要階段,進(jìn)行系統(tǒng)設(shè)計(jì)的主要依據(jù)應(yīng)是()。A、可行性研究報(bào)告B 系統(tǒng)分析報(bào)告
C、系統(tǒng)調(diào)查報(bào)告 D、系統(tǒng)規(guī)劃報(bào)告
3.在系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)時(shí),應(yīng)采納什么樣的方法()。A、程序設(shè)計(jì) B、結(jié)構(gòu)化設(shè)計(jì) C、由里向外 D、自底向上 4.結(jié)構(gòu)化設(shè)計(jì)的基本思想是()。
A、模塊化 B、集成化 C、自底向上,逐步求精 D、規(guī)范化
5.在結(jié)構(gòu)化生命周期法中,系統(tǒng)分析和系統(tǒng)實(shí)施之間的階段是()。A、詳細(xì)設(shè)計(jì) B系統(tǒng)設(shè)計(jì) C、需求分析 D、編程調(diào)試 6.對(duì)于結(jié)構(gòu)化設(shè)計(jì)思想的描述哪一項(xiàng)是錯(cuò)誤的()。
A、在結(jié)構(gòu)化設(shè)計(jì)中,模塊的功能應(yīng)當(dāng)簡(jiǎn)單明確,易于理解 B、自頂向下,逐步求精
C、設(shè)計(jì)者應(yīng)先設(shè)計(jì)頂層模塊
D、越下層模塊,其功能越具體,越復(fù)雜 8.系統(tǒng)設(shè)計(jì)階段的主要目的是()。
A、設(shè)計(jì)新系統(tǒng)的目標(biāo) B 將系統(tǒng)邏輯方案轉(zhuǎn)換成物理方案 C、代碼設(shè)計(jì) D、程序設(shè)計(jì) 19.結(jié)構(gòu)化設(shè)計(jì)方法中繪制模塊結(jié)構(gòu)圖的基礎(chǔ)是()。A 數(shù)據(jù)流程圖 B、數(shù)據(jù)關(guān)系圖 C、數(shù)據(jù)結(jié)構(gòu)圖 D、業(yè)務(wù)流程圖 29.系統(tǒng)設(shè)計(jì)階段的主要工作內(nèi)容之一是()。
A、程序設(shè)計(jì) B、購(gòu)置計(jì)算機(jī) C、畫出數(shù)據(jù)流程圖 B、規(guī)定處理過程 31.系統(tǒng)的呑吐量指的是()。
A、每天的數(shù)據(jù)輸出量 B、每秒數(shù)據(jù)的處理量 C、每日數(shù)據(jù)的輸入量 D、每秒執(zhí)行的作業(yè)數(shù)
33.在系統(tǒng)物理配置方案的設(shè)計(jì)中,系統(tǒng)的()可以用連續(xù)工作時(shí)間來表示。A、吞吐量 B、響應(yīng)時(shí)間 C 可靠性 D、地域范圍 34.計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)配置說明,應(yīng)包含在()中。
A、系統(tǒng)規(guī)劃說明書 B、系統(tǒng)設(shè)計(jì)說明書 C、系統(tǒng)實(shí)施說明書 D、系統(tǒng)分析說明書 35.屬于系統(tǒng)詳細(xì)設(shè)計(jì)工作的是()。
A、輸入輸出設(shè)計(jì) B、系統(tǒng)平臺(tái)設(shè)計(jì) C、系統(tǒng)結(jié)構(gòu)設(shè)計(jì) D、程序設(shè)計(jì) 39.系統(tǒng)設(shè)計(jì)報(bào)告的主要作用是作為()的依據(jù)。A、系統(tǒng)規(guī)劃 B、系統(tǒng)分析 C、系統(tǒng)實(shí)施 D、系統(tǒng)評(píng)價(jià)
1.B 3.B 4.A 5.B 6.D8.B 19.A 29.D 31.D 33.C 34.B 35.A 39.C 11.系統(tǒng)設(shè)計(jì)階段需要從數(shù)據(jù)流程圖導(dǎo)出模塊結(jié)構(gòu)圖。B.生命周期結(jié)構(gòu)(Lifecycle Architecture)里程碑 4.系統(tǒng)實(shí)施的主要活動(dòng)包括(D)。C.初始功能(Initial Operational)里程碑 A、編程、系統(tǒng)調(diào)試 B、系統(tǒng)安裝 C、新舊系統(tǒng)轉(zhuǎn)換 D、以上都是 1.系統(tǒng)實(shí)施是以(B)為依據(jù)的。
A、系統(tǒng)分析文檔資料 B、系統(tǒng)設(shè)計(jì)文檔資料
C、系統(tǒng)分析和設(shè)計(jì)文檔資料 D、數(shù)據(jù)流程圖
7.一般子系統(tǒng)的劃分是在系統(tǒng)()階段,根據(jù)對(duì)系統(tǒng)的功能/數(shù)據(jù)分析的結(jié)果提出的.A.需求分析 B.邏輯階段 C.總體設(shè)計(jì) D.詳細(xì)設(shè)計(jì) 答案: A 4.業(yè)務(wù)系統(tǒng)規(guī)劃法(BSP)的核心是()A.明確企業(yè)目標(biāo) B.定義(識(shí)別)業(yè)務(wù)過程 C.進(jìn)行數(shù)據(jù)分析 D.確定信息結(jié)構(gòu) 答案: C 7.一般子系統(tǒng)的劃分是在系統(tǒng)()階段,根據(jù)對(duì)系統(tǒng)的功能/數(shù)據(jù)分析的結(jié)果提出的.A.需求分析 B.邏輯階段 C.總體設(shè)計(jì) D.詳細(xì)設(shè)計(jì) 答案: A 4.業(yè)務(wù)系統(tǒng)規(guī)劃法(BSP)的核心是()A.明確企業(yè)目標(biāo) B.定義(識(shí)別)業(yè)務(wù)過程 C.進(jìn)行數(shù)據(jù)分析 D.確定信息結(jié)構(gòu) 答案: C 12.RUP中的軟件生命周期在時(shí)間上被分解為四個(gè)順序的階段,分別是:初始階段(Inception),細(xì)化階段(Elaboration),構(gòu)造階段(Construction)和交付階段(Transition),每個(gè)階段結(jié)束于一個(gè)主要的里程碑(Major Milestones).構(gòu)建階段結(jié)束時(shí)是第三個(gè)重要的里程碑:初始功能(Initial Operational)里程碑.A.生命周期目標(biāo)(Lifecycle Objective)里程碑
D.產(chǎn)品發(fā)布(Product Release)里程碑 答案: C
14.信息系統(tǒng)開發(fā)的結(jié)構(gòu)化方法的一個(gè)主要原則是().A.自頂向下原則 B.自底向上原則 C.分步實(shí)施原則 D.重點(diǎn)突破原則 答案: A
16.一般來說,占維護(hù)工作比例最高的是().A.糾錯(cuò)性維護(hù) B.適應(yīng)性維護(hù) C.完善性維護(hù) D.預(yù)防性維護(hù) 答案: C
17.用戶開發(fā)應(yīng)用系統(tǒng)的主要手段是().A.生命周期法 B.原型法 C.第四代語(yǔ)言 D.面向?qū)ο蠓椒?答案: A
19.系統(tǒng)規(guī)劃的主要任務(wù)包括().A.明確組織的信息需求,制定系統(tǒng)總體結(jié)構(gòu)方案 B.對(duì)系統(tǒng)進(jìn)行經(jīng)濟(jì),技術(shù)和使用方面的可行性研究 C.選擇計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)的方案 D.確定軟件系統(tǒng)的模塊結(jié)構(gòu) 答案: A
20.系統(tǒng)設(shè)計(jì)階段的主要成果是().A.用戶的決策方針 B.用戶的分析方案 C.系統(tǒng)設(shè)計(jì)說明書 D.系統(tǒng)總體設(shè)計(jì)方案
答案: C
21.信息系統(tǒng)建設(shè)的結(jié)構(gòu)化方法中用戶必須參與的原則是用戶必須參與().A.系統(tǒng)建設(shè)中各階段工作 B.系統(tǒng)分析工作 C.系統(tǒng)設(shè)計(jì)工作 D.系統(tǒng)實(shí)施工作 答案: A
22.結(jié)構(gòu)化生命周期法的主要缺點(diǎn)之一是().A.系統(tǒng)開發(fā)周期長(zhǎng) B.缺乏標(biāo)準(zhǔn),規(guī)范
C.用戶參與程度低 D.主要工作集中在實(shí)施階段 答案: A 24.系統(tǒng)分析工作的全面總結(jié)和主要成果是().A.可行性研究報(bào)告B.數(shù)據(jù)詞典 C.系統(tǒng)說明書 D.系統(tǒng)詳細(xì)調(diào)查報(bào)告 答案: A 28.生命周期法的特點(diǎn)之一是().A.整個(gè)系統(tǒng)的開發(fā)工作是非勞動(dòng)密集型的 B.系統(tǒng)開發(fā)時(shí)間短
C.對(duì)用戶需求的變更能做出迅速響應(yīng) D.適合大型復(fù)雜系統(tǒng) 答案: C 30.系統(tǒng)維護(hù)中要解決的問題來源于().A.系統(tǒng)分析階段 B.系統(tǒng)設(shè)計(jì)階段 C.系統(tǒng)實(shí)施階段 D.三者都包括
答案: D 38.下面哪一項(xiàng)不是系統(tǒng)設(shè)計(jì)階段的主要活動(dòng)().A.系統(tǒng)總體設(shè)計(jì) B.系統(tǒng)硬件設(shè)計(jì) C.系統(tǒng)詳細(xì)設(shè)計(jì) D.編寫系統(tǒng)實(shí)施計(jì)劃 答案: D 39.對(duì)于結(jié)構(gòu)化設(shè)計(jì)思想的描述哪一項(xiàng)是錯(cuò)誤的().A.在結(jié)構(gòu)化設(shè)計(jì)中,模塊的功能應(yīng)當(dāng)簡(jiǎn)單明確,易于理解
B.自頂向下,逐步求精
C.設(shè)計(jì)者應(yīng)先設(shè)計(jì)頂層模塊
D.越下層模塊,其功能越具體,越復(fù)雜
答案: D 73.在系統(tǒng)生命周期的各階段中,花費(fèi)費(fèi)用和人力投入最多的階段是().A.分析與設(shè)計(jì) B.編制程序 C.測(cè)試程序 D.系統(tǒng)維護(hù)
答案: A 78.在UML提供的圖中,()用于描述系統(tǒng)與外部系統(tǒng)及用戶之間的交互.A.用例圖 B.類圖 C.對(duì)象圖 D.部署圖
答案:A 79.在UML提供的圖中,()用于按時(shí)間順序描述對(duì)象間的交互.A.網(wǎng)絡(luò)圖 B.狀態(tài)圖 C.協(xié)作圖 D.序列圖(順序圖)答案:D 96.系統(tǒng)分析報(bào)告的主要作用是().A.系統(tǒng)規(guī)劃的依據(jù) B.系統(tǒng)實(shí)施的依據(jù) C.系統(tǒng)設(shè)計(jì)的依據(jù) D.系統(tǒng)評(píng)價(jià)的依據(jù) 答案:C 95.繪制系統(tǒng)流程圖的基礎(chǔ)是().A.數(shù)據(jù)關(guān)系圖 B.數(shù)據(jù)流程圖 C.數(shù)據(jù)結(jié)構(gòu)圖 D.功能結(jié)構(gòu)圖 答案:B
9.信息系統(tǒng)開發(fā)的步驟是:在系統(tǒng)規(guī)劃后,循進(jìn)行_____, _____, _____ ,_____ 工作.答案: 系統(tǒng)分析 系統(tǒng)設(shè)計(jì) 系統(tǒng)構(gòu)建與實(shí)施 系統(tǒng)評(píng)價(jià) 13.信息系統(tǒng)規(guī)劃有哪些方法
答:用于企業(yè)信息系統(tǒng)規(guī)劃的方法主要有戰(zhàn)略分析法,即關(guān)鍵成功因素法(Critical Success Factors,CSF);企業(yè)分析法,即企業(yè)系統(tǒng)規(guī)劃法(Business System Planning,BSP);基于BPR的信息系統(tǒng)戰(zhàn)略規(guī)劃方法.其他的方法還有戰(zhàn)略目標(biāo)集轉(zhuǎn)化法(Strategy Set Transformation,SST),企業(yè)信息分析與集成技術(shù)(BIAIT),投資回收法(R01)等.12.RUP中的軟件生命周期在時(shí)間上被分解為四個(gè)順序的階段,分別是:初始階段(Inception),細(xì)化階段(Elaboration),構(gòu)造階段(Construction)和交付階段(Transition),每個(gè)階段結(jié)束于一個(gè)主要的里程碑(Major Milestones).構(gòu)建階段結(jié)束時(shí)是第三個(gè)重要的里程碑:初始功能(Initial Operational)里程碑.A.生命周期目標(biāo)(Lifecycle Objective)里程碑 B.生命周期結(jié)構(gòu)(Lifecycle Architecture)里程碑 C.初始功能(Initial Operational)里程碑 D.產(chǎn)品發(fā)布(Product Release)里程碑
答案: C
14.信息系統(tǒng)開發(fā)的結(jié)構(gòu)化方法的一個(gè)主要原則是().A.自頂向下原則 B.自底向上原則 C.分步實(shí)施原則 D.重點(diǎn)突破原則 答案: A
16.一般來說,占維護(hù)工作比例最高的是().A.糾錯(cuò)性維護(hù) B.適應(yīng)性維護(hù) C.完善性維護(hù) D.預(yù)防性維護(hù) 答案: C
17.用戶開發(fā)應(yīng)用系統(tǒng)的主要手段是().A.生命周期法 B.原型法 C.第四代語(yǔ)言 D.面向?qū)ο蠓椒?/p>
答案: A
19.系統(tǒng)規(guī)劃的主要任務(wù)包括().A.明確組織的信息需求,制定系統(tǒng)總體結(jié)構(gòu)方案 B.對(duì)系統(tǒng)進(jìn)行經(jīng)濟(jì),技術(shù)和使用方面的可行性研究 C.選擇計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)的方案 D.確定軟件系統(tǒng)的模塊結(jié)構(gòu) 答案: A
20.系統(tǒng)設(shè)計(jì)階段的主要成果是().A.用戶的決策方針 B.用戶的分析方案 C.系統(tǒng)設(shè)計(jì)說明書 D.系統(tǒng)總體設(shè)計(jì)方案 答案: C
21.信息系統(tǒng)建設(shè)的結(jié)構(gòu)化方法中用戶必須參與的原則是用戶必須參與().A.系統(tǒng)建設(shè)中各階段工作 B.系統(tǒng)分析工作 C.系統(tǒng)設(shè)計(jì)工作 D.系統(tǒng)實(shí)施工作 答案: A 22.結(jié)構(gòu)化生命周期法的主要缺點(diǎn)之一是().A.系統(tǒng)開發(fā)周期長(zhǎng) B.缺乏標(biāo)準(zhǔn),規(guī)范
C.用戶參與程度低 D.主要工作集中在實(shí)施階段 答案: A 24.系統(tǒng)分析工作的全面總結(jié)和主要成果是().A.可行性研究報(bào)告B.數(shù)據(jù)詞典 C.系統(tǒng)說明書 D.系統(tǒng)詳細(xì)調(diào)查報(bào)告 答案: A 28.生命周期法的特點(diǎn)之一是().A.整個(gè)系統(tǒng)的開發(fā)工作是非勞動(dòng)密集型的 B.系統(tǒng)開發(fā)時(shí)間短
C.對(duì)用戶需求的變更能做出迅速響應(yīng) D.適合大型復(fù)雜系統(tǒng) 答案: C 30.系統(tǒng)維護(hù)中要解決的問題來源于().A.系統(tǒng)分析階段 B.系統(tǒng)設(shè)計(jì)階段 C.系統(tǒng)實(shí)施階段 D.三者都包括 答案: D 38.下面哪一項(xiàng)不是系統(tǒng)設(shè)計(jì)階段的主要活動(dòng)().A.系統(tǒng)總體設(shè)計(jì) B.系統(tǒng)硬件設(shè)計(jì) C.系統(tǒng)詳細(xì)設(shè)計(jì) D.編寫系統(tǒng)實(shí)施計(jì)劃
答案: D 39.對(duì)于結(jié)構(gòu)化設(shè)計(jì)思想的描述哪一項(xiàng)是錯(cuò)誤的().A.在結(jié)構(gòu)化設(shè)計(jì)中,模塊的功能應(yīng)當(dāng)簡(jiǎn)單明確,易于理解
B.自頂向下,逐步求精
C.設(shè)計(jì)者應(yīng)先設(shè)計(jì)頂層模塊
D.越下層模塊,其功能越具體,越復(fù)雜
答案: D 73.在系統(tǒng)生命周期的各階段中,花費(fèi)費(fèi)用和人力投入最多的階段是().A.分析與設(shè)計(jì) B.編制程序 C.測(cè)試程序 D.系統(tǒng)維護(hù)
答案: A 78.在UML提供的圖中,()用于描述系統(tǒng)與外部系統(tǒng)及用戶之間的交互.A.用例圖 B.類圖 C.對(duì)象圖 D.部署圖 答案:A 79.在UML提供的圖中,()用于按時(shí)間順序描述對(duì)象間的交互.A.網(wǎng)絡(luò)圖 B.狀態(tài)圖 C.協(xié)作圖 D.序列圖(順序圖)
答案:D
96.系統(tǒng)分析報(bào)告的主要作用是().A.系統(tǒng)規(guī)劃的依據(jù) B.系統(tǒng)實(shí)施的依據(jù) C.系統(tǒng)設(shè)計(jì)的依據(jù) D.系統(tǒng)評(píng)價(jià)的依據(jù) 答案:C
95.繪制系統(tǒng)流程圖的基礎(chǔ)是().A.數(shù)據(jù)關(guān)系圖 B.數(shù)據(jù)流程圖 C.數(shù)據(jù)結(jié)構(gòu)圖 D.功能結(jié)構(gòu)圖 答案:B
9.信息系統(tǒng)開發(fā)的步驟是:在系統(tǒng)規(guī)劃后,循進(jìn)行_____, _____, _____ ,_____ 工作.答案: 系統(tǒng)分析 系統(tǒng)設(shè)計(jì) 系統(tǒng)構(gòu)建與實(shí)施 系統(tǒng)評(píng)價(jià) 13.信息系統(tǒng)規(guī)劃有哪些方法
答:用于企業(yè)信息系統(tǒng)規(guī)劃的方法主要有戰(zhàn)略分析法,即關(guān)鍵成功因素法(Critical Success Factors,CSF);企業(yè)分析法,即企業(yè)系統(tǒng)規(guī)劃法(Business System Planning,BSP);基于BPR的信息系統(tǒng)戰(zhàn)略規(guī)劃方法.其他的方法還有戰(zhàn)略目標(biāo)集轉(zhuǎn)化法(Strategy Set Transformation,SST),企業(yè)信息分析與集成技術(shù)(BIAIT),投資回收法(R01)等.2.信息系統(tǒng)規(guī)劃是指對(duì)組織目標(biāo)、組織現(xiàn)狀進(jìn)行分析,從而制定指導(dǎo)信息系統(tǒng)建設(shè)的總體規(guī)劃和信息系統(tǒng)長(zhǎng)期發(fā)展展望。在眾多的信息系統(tǒng)規(guī)劃方法當(dāng)中,具有代表性的主要有 企業(yè)系統(tǒng)規(guī)劃法、戰(zhàn)略目標(biāo)轉(zhuǎn)移法、關(guān)鍵成功因素法。
4.信息系統(tǒng)建設(shè)的特點(diǎn)決定了信息系統(tǒng)建設(shè)要做大量復(fù)雜和細(xì)致的工作。信息系統(tǒng)建設(shè)主要包括 信息系統(tǒng)規(guī)劃、信息系統(tǒng)開發(fā)、信息系統(tǒng)維護(hù) 和 信息系統(tǒng)管理 四方面的工作。
1. UML統(tǒng)一建模語(yǔ)言共定義了哪兩類、哪八種圖形?
答:(1)靜態(tài)結(jié)構(gòu)圖:類圖,對(duì)象圖,構(gòu)件圖,實(shí)施圖
(2)動(dòng)態(tài)行為圖:用例圖,順序圖,協(xié)作圖,狀態(tài)圖,活動(dòng)圖
2.在下圖所示的用例分析類圖中,請(qǐng)指出各個(gè)概念類屬于哪一類,并分別解釋三種概念類的特點(diǎn)及概念?!笆蹠幚怼钡挠美治鲱悎D書目售書員售書界面產(chǎn)生待售圖書待售圖書開書單打印進(jìn)程架存圖書出售圖書售出圖書答:屬于實(shí)體類的有:書目、架存圖書、代售圖書、售出圖書。
屬于邊界類的有:售書界面。
屬于控制類的有:產(chǎn)生待售圖書、出售圖書、開書單。三種概念類的特點(diǎn)及概念:
特點(diǎn):概念類面向功能需求,一般不考慮性能要求,具有突出業(yè)務(wù)領(lǐng)域、突出概念性及大粒度的特征。概念:(1)實(shí)體類是信息系統(tǒng)表示客觀實(shí)體的抽象要素。它一般對(duì)應(yīng)著在業(yè)務(wù)領(lǐng)域中的客觀事物,或是具有較穩(wěn)定信息內(nèi)容的系統(tǒng)元素。(2)邊界類是描述系統(tǒng)與參與者之間交互的抽象要素。邊界類只是對(duì)信息系統(tǒng)與參與者之間交互的抽象建模,并不表示交互的具體內(nèi)容及交互界面的具體形式。
(3)控制類是表示信息系統(tǒng)對(duì)其他對(duì)象實(shí)施協(xié)調(diào)處理、邏輯運(yùn)算的抽象要素。3.請(qǐng)根據(jù)下圖所示的概念模型,將其轉(zhuǎn)換為邏輯模型(即寫出其關(guān)系模式)。
編號(hào)姓名讀者職業(yè)電話住址郵編*待售圖書*類別單價(jià)出版日期書號(hào)架位架存冊(cè)數(shù)書號(hào)書名作者出版社1選書*架存圖書*11書目書單號(hào)冊(cè)數(shù)折扣率交款標(biāo)記售書員答:根據(jù)其E-R圖,其關(guān)系模式為:
讀者(編號(hào),姓名,職業(yè),電話,住址,郵編)架存圖書(書號(hào),架位,架存冊(cè)數(shù))
待售圖書(書單號(hào),冊(cè)數(shù),折扣率,交款標(biāo)記,售書員)書目(書號(hào),書名,作者,出版社,出版日期,類別,單價(jià))9.如圖,是在網(wǎng)上商店系統(tǒng)經(jīng)理的用例圖如下:
網(wǎng)上購(gòu)物系統(tǒng)顧客的功能用例
1.單一職責(zé)原則(Single Responsibility Principle, SRP):
? There should never be more than one reason for a class to change.? 應(yīng)該有且僅有一個(gè)原因引起類的變更 2.里氏替換原則 最正宗的定義:
If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T.(如果對(duì)每一個(gè)類型為S的對(duì)象o1,都有類型為T的對(duì)象o2,使得以T定義的所有程序P在所有的對(duì)象o1都代換成o2時(shí),程序P的行為沒有發(fā)生變化,那么類型S是類型T的子類型。)里氏替換原則
通俗講,只要父類出現(xiàn)的地方子類就可以出現(xiàn),而且替換為子類也不會(huì)產(chǎn)生任何錯(cuò)誤或異常,使用者可能根本就不需要知道是父類還是子類。但是反過來就不行了,有子類出現(xiàn)的地方,父類未必就能適應(yīng)。3.迪米特法則
迪米特法則的定義:
迪米特法則(Law of Demeter, LoD)也稱為最少知識(shí)原則,一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象有最少的了解。
一個(gè)類應(yīng)該對(duì)自己需要耦合或調(diào)用的類知道得最少,被耦合或調(diào)用的類的內(nèi)部如何復(fù)雜都和我沒有關(guān)系,那是你的事情,我就知道你提供的這么多public方法,我就調(diào)用這么多,其他的我一概不關(guān)心。4.開閉原則
開閉原則的定義:
一個(gè)軟件實(shí)體如類、模塊和函數(shù)應(yīng)該對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。
一個(gè)軟件實(shí)體應(yīng)該通過擴(kuò)展來實(shí)現(xiàn)變化,而不是通過修改已有的源代碼來實(shí)現(xiàn)變化。5.依賴倒置原則
依賴倒置原則包含三層含義:
? 高層模塊不應(yīng)該依賴低層模塊,兩者都應(yīng)該依賴其抽象;
? ? 抽象不應(yīng)該依賴細(xì)節(jié); 細(xì)節(jié)應(yīng)該依賴抽象。
在java語(yǔ)言中,抽象就是指接口或抽象類,兩者都是不能直接被實(shí)例化的;細(xì)節(jié)就是實(shí)現(xiàn)類,實(shí)現(xiàn)接口或繼承抽象類而產(chǎn)生的類就是細(xì)節(jié),其特點(diǎn)就是可以直接被實(shí)例化,也就是可以加上一個(gè)關(guān)鍵字new產(chǎn)生一個(gè)對(duì)象。6.接口隔離原則
接口隔離原則定義:
? ? 客戶端不應(yīng)該依賴它不需要的接口;
類間的依賴關(guān)系應(yīng)該建立在最小的接口上。
建立單一接口,不要建立臃腫龐大的接口,接口盡量細(xì)化,同時(shí)接口中的方法盡量少。它要求“盡量使用多個(gè)專門的接口”。專門接口指提供給每個(gè)模塊的都應(yīng)該是單一接口,提供給幾個(gè)模塊就應(yīng)該有幾個(gè)接口,而不是建立一個(gè)龐大的臃腫接口,容納所有的客戶端訪問。
1.在RUP中,軟件開發(fā)生命周期根據(jù)時(shí)間和RUP的核心工作流劃分為二維空間。橫軸表示項(xiàng)目的時(shí)間維,縱軸以內(nèi)容來組織為自然的邏輯活動(dòng)。
第四篇:網(wǎng)上書店-系統(tǒng)分析設(shè)計(jì)文檔
網(wǎng)上書店系統(tǒng)analysis & design 目錄:
1.登錄包
1.1 class diagram
LoginForm為boundary class CheckAndReadFrormUserList為control class UserList 為 entity class
在登錄界面中 點(diǎn)擊登錄 調(diào)用CheckAndReadFrormUserList()函數(shù),該函數(shù)作用:在數(shù)據(jù)庫(kù)中搜索登錄用戶名和密碼若存在則能登陸,否則登陸失敗。1.2 sequence diagram
1.3 collaboration diagram 注冊(cè)包
2.1 class diagram
UserRegrist為boundary class CheckAndSaveIntoUserList為control class UserList為 entity class
在注冊(cè)界面中 點(diǎn)擊注冊(cè) 調(diào)用CheckUserList()函數(shù),該函數(shù)作用:在數(shù)據(jù)庫(kù)中搜索登錄用戶名若不存在則繼續(xù),否則提示該用戶名以存在。繼續(xù)則調(diào)用SaveIntoUserList(),該函數(shù)作用:將用戶信息存入數(shù)據(jù)庫(kù)中 2.2 sequence diagram
2.3 collaboration diagram 訂購(gòu)圖書包 3.1 class diagram
BookList為boundary class CheckAndSaveIntoOrderList為control class OrderList為 entity class
在物品界面中 點(diǎn)擊訂購(gòu) 調(diào)用SaveIntoOrderList()函數(shù),該函數(shù)作用:將該圖書信息存入數(shù)據(jù)庫(kù)中,繼續(xù)調(diào)用showMybook()函數(shù),該函數(shù)作用:將該用戶訂購(gòu)的所有圖書列表顯示。3.2 sequence diagram
3.3 collaboration diagram 訂單及送貨管理 4.1 class diagram
OrderForm為boundary class DoWithOrderList為control class OrderList為 entity class
進(jìn)入訂單及送貨管理頁(yè)面 調(diào)用showorderList()函數(shù),該函數(shù)作用:顯示所有訂單,若要?jiǎng)h除訂單,調(diào)用delorderinfo()函數(shù),該函數(shù)作用:將選定列訂單刪除。
4.2 sequence diagram
4.3 collaboration diagram
5.進(jìn)書、庫(kù)存管理
5.1 class diagram
StockForm為boundary class DoWithStockList為control class StockList為 entity class
進(jìn)入訂單及送貨管理頁(yè)面 調(diào)用showall()函數(shù),該函數(shù)作用:顯示所有進(jìn)書信息,若要修改信息,調(diào)用changeinfo()函數(shù),該函數(shù)作用:將選定列重新更新到數(shù)據(jù)庫(kù)中。
5.2 sequence diagram
5.3 collaboration diagram
6.客戶信息管理
6.1 class diagram
UserForm為boundary class DoWithUserList為control class UserList為 entity class
進(jìn)入客戶信息管理頁(yè)面 調(diào)用showUserList()函數(shù),該函數(shù)作用:顯示所有用戶信息,若要修改信息,調(diào)用alterUserinfo()函數(shù),該函數(shù)作用:將選定列重新更新到數(shù)據(jù)庫(kù)中。
6.2 sequence diagram
6.3 collaboration diagram
7.賬目管理
7.1 class diagram
AccountForm為boundary class DoWithAccountList為control class AaccountList為 entity class
進(jìn)入賬目管理頁(yè)面 調(diào)用showaccountlist()函數(shù),該函數(shù)作用:顯示所有圖書賬目信息,若要修改信息,調(diào)用alteraccountlist()函數(shù),該函數(shù)作用:將選定列重新更新到數(shù)據(jù)庫(kù)中。
7.2 sequence diagram
7.3 collaboration diagram
第五篇:系統(tǒng)分析與設(shè)計(jì)心得
讀《系統(tǒng)分析與設(shè)計(jì)方法》一書有感
作為一個(gè)軟件專業(yè)的學(xué)生,理解和掌握系統(tǒng)分析與設(shè)計(jì)的知識(shí)是必不可少的。在閱讀《系統(tǒng)分析與設(shè)計(jì)方法》一書中以及加上老師教導(dǎo),我學(xué)到了很多東西,收獲不少。
系統(tǒng)就是由若干可以相互區(qū)別、由相互聯(lián)系并且各自獨(dú)立的單元組成各個(gè)子系統(tǒng)之間同樣是獨(dú)立而又相互聯(lián)系的。系統(tǒng)具有集合性、相關(guān)性、目的性、整體性和環(huán)境適應(yīng)性。在開發(fā)完成一個(gè)軟件項(xiàng)目的過程中,系統(tǒng)工程必須經(jīng)過開發(fā)階段、建造階段、運(yùn)行階段、更新階段、維護(hù)階段。
系統(tǒng)分析與設(shè)計(jì)的方法主要包括結(jié)構(gòu)化生命周期法(又稱瀑布法)、原型化方法(迭代法)、面向?qū)ο蠓椒ā?/p>
按時(shí)間過程來分,開發(fā)方法分為生命周期法和原型法,實(shí)際上還有許多處于中間狀態(tài)的方法。原型法又按照對(duì)原型結(jié)果的處理方式分為試驗(yàn)原型法和演進(jìn)原型法。試驗(yàn)原型法只把原型當(dāng)成試驗(yàn)工具,試了以后就拋掉,根據(jù)試驗(yàn)的結(jié)論做出新的系統(tǒng)。演進(jìn)原型法則把試好的結(jié)果保留,成為最終系統(tǒng)的一部分。
按照系統(tǒng)的分析要素,可以把開發(fā)方法分為三類:
①面向處理方法(Processing Oriented,簡(jiǎn)稱PO)。
②面向數(shù)據(jù)方法(Data Oriented,簡(jiǎn)稱DO)。
③面向?qū)ο蟮姆椒ǎ∣bject Oriented,簡(jiǎn)稱OO)。
系統(tǒng)分析和設(shè)計(jì)應(yīng)遵循的原則有:
系統(tǒng)開發(fā)是面向客戶的,應(yīng)從客戶的角度考慮。
諸如系統(tǒng)開發(fā)生命周期之類的產(chǎn)品更新?lián)Q代機(jī)構(gòu)應(yīng)該在所有的信息系統(tǒng)開發(fā)項(xiàng)目中建立起來。
信息系統(tǒng)開發(fā)的過程并不是一個(gè)順序的過程,它允許步驟的重疊和倒轉(zhuǎn)等。
如果系統(tǒng)的成功可能性受到很大限制時(shí),應(yīng)取消整個(gè)項(xiàng)目。文檔材料是系統(tǒng)開發(fā)生命周期中重要的可遞交成果,應(yīng)加以重視。在本書的第一部分中,主要集中于系統(tǒng)分析和設(shè)計(jì)的整體描述,包括系統(tǒng)分析和設(shè)計(jì)方法的環(huán)境,信息系統(tǒng)構(gòu)件,信息系統(tǒng)開發(fā),項(xiàng)目管理。期中印象比較深刻的是系統(tǒng)開發(fā)過程的能力成熟度模型(CMMI)。信息系統(tǒng)和軟件的CMM框架用來幫助改善其系統(tǒng)開發(fā)過程的成熟度。CMM包括了五個(gè)成熟度等級(jí):初始級(jí)、可重復(fù)級(jí)、已定義級(jí)、已管理級(jí)、優(yōu)化級(jí)。期中,每個(gè)等級(jí)都是下一個(gè)等級(jí)的必須條件。
在軟件開發(fā)過程中需求分析階段是至關(guān)重要的一個(gè)階段,需求分析階段可能被稱為定義階段或者邏輯設(shè)計(jì)階段。需求分析階段的第一個(gè)任務(wù)是確定需求,在這個(gè)階段至少將目標(biāo)轉(zhuǎn)換成為滿足其需要的功能需求和非功能需求的框架。在這個(gè)階段需要交付的成果是功能需求和非功能需求的草稿。在初步定義完了功能需求和非功能需求后,得排列需求的優(yōu)先次序。如果一個(gè)項(xiàng)目落后于進(jìn)度或者超出預(yù)算,知道哪個(gè)需求比其他需求更重要可能是很有用的。在排列需求的優(yōu)先次序中可以使用到時(shí)間盒的技術(shù)。需求分析并不會(huì)真正的技術(shù),因?yàn)槠髽I(yè)需要具有快速適應(yīng)不斷變化的需求和機(jī)會(huì)的能力。信息系統(tǒng)不能比企業(yè)自身的響應(yīng)技術(shù)還慢。
在學(xué)習(xí)本書第二部分的時(shí)候,我了解到了需求分析在整個(gè)項(xiàng)目開發(fā)中的作用以及成為整個(gè)項(xiàng)目主導(dǎo)的因素。只要好的需求才能設(shè)計(jì)開發(fā)出好的軟件項(xiàng)目。在項(xiàng)目開發(fā)過程中,我們還可以利用圖表的形式來簡(jiǎn)化方便人員的開發(fā)設(shè)計(jì)。期中有五種圖表是系統(tǒng)分析師常用的:類圖、用例圖、協(xié)作圖、順序圖、狀態(tài)圖。期中用例圖是用例建模的產(chǎn)物,它以圖形化的方式將系統(tǒng)描述成用、參與者(用戶)及其之間的關(guān)系。簡(jiǎn)單的說就是用直立的小人來表示參與者(用戶),用圓圈來表示用例,他們之間以箭頭的形式來連接。關(guān)系包括了:關(guān)聯(lián)關(guān)系、擴(kuò)展關(guān)系、使用關(guān)系、依賴關(guān)系、繼承關(guān)系。但是書上沒講到《include》關(guān)系,跟老師的講解有點(diǎn)出路。老師在講義上通過畫圖的方式很好的解釋了《include》和《extend》的關(guān)系。
數(shù)據(jù)建模這一章節(jié)中,我了解了數(shù)據(jù)建模的含義,它是一種為數(shù)據(jù)庫(kù)定義業(yè)務(wù)需求的技術(shù)。數(shù)據(jù)建模中比較重要的概念有實(shí)體和屬性之間的關(guān)系,關(guān)系是連接實(shí)體的一個(gè)時(shí)間,或者僅僅是存在于實(shí)體之間的邏輯關(guān)系。關(guān)系有很多種類,多對(duì)多、一對(duì)多、一對(duì)
一、等等。這些關(guān)系的圖形化符號(hào)記起來很不容易,但是我自己想到了一個(gè)比較容易記憶的簡(jiǎn)單的方法。一個(gè)就用 “|”表示,零個(gè)就用“0”表示,多個(gè)就用“<”表示,然后根據(jù)相應(yīng)的說明來選擇。比如零個(gè)或一個(gè)(0|),一個(gè)或多個(gè)(|<)。過程建模是一種組織和記錄數(shù)據(jù)的結(jié)構(gòu)和流向的技術(shù),它記錄系統(tǒng)的“過程”和有系統(tǒng)的“過程”實(shí)現(xiàn)的邏輯、策略和程序。期中也介紹到了數(shù)據(jù)流圖(DFD),數(shù)據(jù)流圖是一種描述通過系統(tǒng)的數(shù)據(jù)流以及系統(tǒng)實(shí)施的工作或處理過程的工具。我覺得數(shù)據(jù)流圖DFD的最大的優(yōu)點(diǎn)就是容易閱讀,因?yàn)閿?shù)據(jù)流圖僅有三種符號(hào)和一種連接:圓角矩形表示要完成的過程或者工作,正方形表示外部代理(系統(tǒng)的邊界),開放的方框表示數(shù)據(jù)存儲(chǔ)(可以是文件或者數(shù)據(jù)庫(kù)),箭頭表示數(shù)據(jù)流(可以是輸入和輸出,或者是表示到過程和來自過程)。統(tǒng)一建模語(yǔ)言UML的目的就是對(duì)面向?qū)ο笙到y(tǒng)進(jìn)行可視化、評(píng)述、和文檔化。它適用于系統(tǒng)開發(fā)從需求規(guī)格描述道系統(tǒng)完成后測(cè)試的不同階段(需求分析階段、分析階段、設(shè)計(jì)階段、編程階段、測(cè)試階段)。UML2.0的模型主要圖包括了:用例圖、活動(dòng)圖、類圖、對(duì)象圖、狀態(tài)機(jī)圖、組合結(jié)構(gòu)圖、交互圖、定時(shí)圖、組件圖、部署圖和包圖。在理解這章的過程中,我感覺比較輕松,但是把一些關(guān)系,事件,實(shí)體等等用圖形化的形式表示出來還是非常難的。用UML設(shè)計(jì)面向?qū)ο笙到y(tǒng)時(shí)候,我們得準(zhǔn)確的找到實(shí)體類、接口類、控制類、持續(xù)類、系統(tǒng)類和設(shè)計(jì)關(guān)系。在面向?qū)ο笤O(shè)計(jì)的過程中,主要包括了一下活動(dòng):對(duì)用例模型加以精煉以反映實(shí)現(xiàn)環(huán)境;建模支持用例情景的對(duì)象交互、行為和狀態(tài);修改對(duì)象模型以反映實(shí)現(xiàn)環(huán)境。
前面說到需求分析是整個(gè)軟件項(xiàng)目開發(fā)中最重要的一環(huán),其實(shí)我覺得可行性分析也是跟需求分析一樣的重要。因?yàn)樾畔⑹且粋€(gè)必須經(jīng)過檢驗(yàn)的重要資本投入,就像市場(chǎng)要檢驗(yàn)一個(gè)新產(chǎn)品,系統(tǒng)分析員應(yīng)該考慮投資能夠收回嗎?是否有其他投資能夠帶來比預(yù)期更高的回報(bào)。要說他們的區(qū)別,我個(gè)人覺得是:可行性分析是要決定“做還是不做”。需求分析是要決定“做什么,不做什么”??尚行苑治鰣?bào)告有六個(gè)準(zhǔn)則:運(yùn)行可行性、文化可行性、技術(shù)可行性、進(jìn)度可行性、經(jīng)濟(jì)可行性。只有進(jìn)行了可行性分析報(bào)告,才能夠確定企業(yè)是否要 做這個(gè)項(xiàng)目。如果說在可行性報(bào)告中顯示沒有成功的可能,那么就沒有必要再做需求分析了,整個(gè)項(xiàng)目就不會(huì)做下去了。進(jìn)行可行性分析報(bào)告可以避免項(xiàng)目中途告終的結(jié)果,在系統(tǒng)開發(fā)過程中舉足輕重。
數(shù)據(jù)庫(kù)開發(fā)與設(shè)計(jì)這章,感覺書上講解的沒有老師講的詳細(xì)。書上并沒有提到范式,但是在課堂上我了解到數(shù)據(jù)庫(kù)設(shè)計(jì)的范式。有第一范式、第二范式、第三范式、BC范式等。等級(jí)越高,數(shù)據(jù)冗余越少,對(duì)系統(tǒng)調(diào)用數(shù)據(jù)庫(kù)更方便。數(shù)據(jù)庫(kù)的核心是DBMS,DBMS的核心是數(shù)據(jù)庫(kù)引擎,引擎響應(yīng)專門的命令以創(chuàng)建數(shù)據(jù)庫(kù)結(jié)構(gòu),然后創(chuàng)建、讀取、修改和刪除數(shù)據(jù)庫(kù)中的記錄。DBMS使用數(shù)據(jù)定義語(yǔ)言(DDL)創(chuàng)建記錄類型、字段和結(jié)構(gòu)化關(guān)系,還定義了數(shù)據(jù)庫(kù)視圖;DBMS還是用數(shù)據(jù)處理語(yǔ)言(DML)用來創(chuàng)建、讀取、修改和刪除數(shù)據(jù)庫(kù)中的記錄。但是并非所有數(shù)據(jù)庫(kù)的DBMS都被要求使用DDL和DML。看完這章,總結(jié)了一下建立關(guān)系數(shù)據(jù)庫(kù)模式的步驟,首先要為每個(gè)實(shí)體類型建立一張表,然后為每張表選擇一個(gè)主鍵,同時(shí)增加外鍵來表示一對(duì)多的關(guān)系,接著還可以建立幾個(gè)新表來表示多對(duì)多的關(guān)系,然后還得定義參照完整性約束,評(píng)價(jià)模式質(zhì)量,并且進(jìn)行必要的改進(jìn),最后為每個(gè)字段選擇適當(dāng)?shù)臄?shù)據(jù)類型和取值約束。數(shù)據(jù)庫(kù)在系統(tǒng)開發(fā)的過程中是必不可少的,幾乎所有框架類型都得用到數(shù)據(jù)庫(kù),它也是MVC框架的底層核心。
對(duì)于本書的還有一個(gè)比較映像深刻的就是UI(user interface),用戶界面設(shè)計(jì)。一個(gè)良好的用戶界面應(yīng)該為用戶提供友好的使用方式,通過用戶界面用戶可以同應(yīng)用程序打交道,處理輸入并且獲得輸出。Galitz曾經(jīng)提出過用戶界面設(shè)計(jì)的原則:理解你的用戶及任務(wù)、讓用戶參與界面設(shè)計(jì)、在實(shí)際用戶中測(cè)試系統(tǒng)、進(jìn)行迭代設(shè)計(jì)。記得以前大二的時(shí)候?qū)W習(xí)JAVA的時(shí)候,我曾經(jīng)開發(fā)過基于圖形用戶界面(GUI)的聊天軟件,不過當(dāng)時(shí)的界面設(shè)計(jì)完全設(shè)計(jì)的是隨心所欲,并沒有理論作為指導(dǎo)。在學(xué)習(xí)VB課程的時(shí)候?qū)W過UAR,簡(jiǎn)單的了解了一些關(guān)于界面友好化設(shè)計(jì)的原則。這本書也給出了用戶界面設(shè)計(jì)過程的幾個(gè)步驟:1.以圖表形式描述用戶界面對(duì)話;2.原型化對(duì)話和用戶界面;3.獲得用戶反饋;4.如果需要,回到1步或者2步。
最后總結(jié)下,雖然我沒用把這本書的每一個(gè)地方都認(rèn)真精讀,有些地方略讀的,但是看完整本書后我收獲很大。讀完《系統(tǒng)分析與設(shè)計(jì)方法》這本書再加上老師在課堂上的一些講解以及以前學(xué)習(xí)事件過程中的收獲,我對(duì)于系統(tǒng)分析與設(shè)計(jì)有了進(jìn)一步的理解,能高屋建瓴的看待系統(tǒng)分析與設(shè)計(jì)整個(gè)過程的步驟以及增加了一些開發(fā)設(shè)計(jì)中的重要事件的理論知識(shí)。
對(duì)于系統(tǒng)分析的心得