第一篇:面向?qū)ο笙到y(tǒng)分析與設計試卷與答案1
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
面向?qū)ο蠓治雠c設計試題B卷
一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內(nèi)。每小題 1 分,共 20 分)3.下列不屬于面向?qū)ο蠹夹g的基本特征的是()。
A.封裝性
B.模塊性
C.多態(tài)性
D.繼承性
4.面向?qū)ο蟪绦蛟O計將描述事物的數(shù)據(jù)與()封裝在一起,作為一個相互依存、不可分割的整體來處理。
A.信息
B.數(shù)據(jù)隱藏
C.對數(shù)據(jù)的操作
D.數(shù)據(jù)抽象
5.關于面向?qū)ο蠓椒ǖ膬?yōu)點,下列不正確的敘述是()。
A.與人類習慣的思維方法比較一致
B.可重用性好
C.以數(shù)據(jù)操作為中心
D.可維護性好 8.下列不屬于類的成員函數(shù)的是()。
A.構(gòu)造函數(shù)
B.析構(gòu)函數(shù)
C.友元函數(shù)
D.拷貝構(gòu)造函數(shù)
9.繼承機制的作用是()。
A.信息隱藏
B.數(shù)據(jù)封裝
C.派生新類
D.數(shù)據(jù)抽象
14.()是從用戶使用系統(tǒng)的角度描述系統(tǒng)功能的圖形表達方法。
A.類圖
B.對象圖
C.序列圖
D.用例圖
15.()是表達系統(tǒng)類及其相互聯(lián)系的圖示,它是面向?qū)ο笤O計的核心,建立狀態(tài)圖、協(xié)作圖和其他圖的基礎。
A.對象圖
B.組件圖
C.類圖
D.配置圖
16.()描述了一組交互對象間的動態(tài)協(xié)作關系,它表示完成某項行為的對象和這些對象之間傳遞消息的時間順序。
A.對象圖
B.協(xié)作圖
C.狀態(tài)圖
D.序列圖
17.()就是用于表示構(gòu)成分布式系統(tǒng)的節(jié)點集和節(jié)點之間的聯(lián)系的圖示,它可以表示系統(tǒng)中軟件和硬件的物理架構(gòu)。
A.組件圖
B.協(xié)作圖
C.狀態(tài)圖
D.配置圖
18.在用UML進行數(shù)據(jù)庫的分析與設計過程中,()就是進行數(shù)據(jù)庫的需求分析,使用用例圖、類圖、順序圖、活動圖等建立業(yè)務模型。
A.邏輯數(shù)據(jù)模型設計
B 業(yè)務Use Case模型設計
C.物理數(shù)據(jù)模型設計
D.物理實現(xiàn)設計
19.使用UML進行關系數(shù)據(jù)庫的()時,需要設計出表達持久數(shù)據(jù)的實體類及其聯(lián)系,并把它們映射成為關系數(shù)據(jù)庫表(Table)、視圖(View)等。
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品” 請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
A.業(yè)務Use Case模型設計
B.邏輯數(shù)據(jù)模型設計 C.物理數(shù)據(jù)模型設計
C.物理實現(xiàn)設計 20.UML的動態(tài)建模表示包含()種圖。
A.9
B.5
C.4
D.2
二、填空題(每空 1 分,共 20 分)1.面向?qū)ο箝_發(fā)方法一改過去傳統(tǒng)的以_______________為基礎的______________的結(jié)構(gòu)化分析與設計方法,它模擬人們理解和處理客觀世界的方式來分析問題,把系統(tǒng)視為一系列_______的集合,其______________又將分析的結(jié)果映射到某種面向?qū)ο髮崿F(xiàn)工具的結(jié)構(gòu)上,使映射過程有著比較直接的對應關系,使分析者、設計者和編程者都可使用相同的______,從而使面向?qū)ο蟮能浖_發(fā)能比較自然地模擬客觀世界的活動,使問題描述空間與____________在結(jié)構(gòu)上盡可能一致。因此,采用面向?qū)ο蠓椒梢愿行У亻_發(fā)大型軟件系統(tǒng)。面向?qū)ο蠓椒ǖ腳_______、________、_________等機制不僅支持軟件復用,而且使軟件維護工作可靠有效,可實現(xiàn)軟件系統(tǒng)的柔性制造,更好地克服____________。因此,它已成為成熟的廣為采用的軟件開發(fā)方法。
2.對象是客觀實體的抽象表示,是由__________________________和________________________兩部分組成。而______是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創(chuàng)建對象的樣板,而按照這種樣板所創(chuàng)建的一個個具體對象就是類的___________。通過________關系又可形成一種類層次結(jié)構(gòu)。
3.UML中用于描述系統(tǒng)的靜態(tài)建模的視圖稱為靜態(tài)視圖,包括________、_________、_________、__________和__________。
四.簡答題(每空4分,共 20 分)1.簡述面向?qū)ο筌浖_發(fā)方法的優(yōu)點。2.簡述面向?qū)ο蠹夹g的三大機制。3.簡述OOA模型的層次結(jié)構(gòu)。
4.簡述OOD模型的總體結(jié)構(gòu),并畫圖表示。
5.應用UML進行系統(tǒng)分析和設計所需建立視圖有那幾種?
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品” 請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
五.試用UML對教學管理系統(tǒng)及相關的數(shù)據(jù)庫系統(tǒng)進行分析和設計。學生選課系統(tǒng)一般包括(1)選課管理功能;(2)成績管理功能。試完成下列工作:(1)建立系統(tǒng)靜態(tài)結(jié)構(gòu)模型—畫出系統(tǒng)用例圖和類圖;(10分)(2)建立系統(tǒng)動態(tài)結(jié)構(gòu)模型—畫出系統(tǒng)序列圖和協(xié)作圖;(10分)(3)建立關系數(shù)據(jù)庫邏輯模型。(10分)
面向?qū)ο蠓治雠c設計試題參考答案
一、單項選擇題(每小題 1 分,共 20 分)
1.D
2.C
3.B
4.C
5.C 6.D
7.D
8.C
9.C
10.D 11.B 12.B 13.B
14.D
15.C 16.D 17.D 18.B
19.B
20.C
二、填空題(每空 1 分,共 20 分)
1.功能分析, 面向過程, 對象,面向?qū)ο蟮脑O計, 概念,解空間,封裝, 繼承, 多態(tài), 軟件危機 2.描述對象屬性的數(shù)據(jù),四.簡答題
1.簡述面向?qū)ο蠹夹g發(fā)展的動因。
答:為了超越程序復雜性障礙,克服軟件危機,人們提出了面向?qū)ο筌浖_發(fā)方法。面向?qū)ο箝_發(fā)方法一改過去傳統(tǒng)的以功能分析為基礎的面向過程的結(jié)構(gòu)化分析與設計方法,面向?qū)ο箝_發(fā)方法模擬人們理解和處理客觀世界的方式來分析問題,把系統(tǒng)視為一系列對象的集合,其面向?qū)ο蟮脑O計又將分析的結(jié)果映射到某種面向?qū)ο髮崿F(xiàn)工具的結(jié)構(gòu)上,使映射過程有著比較直接的對應關系,使分析者、設計者和編程者都可使用相同的概念,從而使面向?qū)ο蟮能浖_發(fā)能比較自然地模擬客觀世界的活動,使問題描述空間與解空間在結(jié)構(gòu)上盡可能一致。因此,采用面向?qū)ο蠓椒梢愿行У亻_發(fā)大型軟件系統(tǒng)。面向?qū)ο蠓椒ǖ姆庋b、繼承、多態(tài)等機制不僅支持軟件復用,而且使軟件維護工作可靠有效,可實現(xiàn)軟件系統(tǒng)的柔性制造,更好地克服軟件危機。因此,它已成為成熟的廣為采用的軟件開發(fā)方法。請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
2.簡述面向?qū)ο蠹夹g的三大機制。答:(1)封裝性(encapsulation)
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品” , 類,實例,繼承
3.用例圖、類圖、對象圖、包圖、構(gòu)件圖、配置圖 請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
所謂封裝就是把對象的屬性和行為結(jié)合成一個獨立的單位,使外界不能直接訪問或修改這些數(shù)據(jù)和代碼,外界只能通過對象提供的接口函數(shù)來改變或獲取對象的屬性數(shù)據(jù),這就實現(xiàn)了消息隱蔽。(2)繼承性
如果在一個已定義的類上,增加一些特殊屬性或操作,可以形成一個新的類,這個類不僅繼承了前一個類的全部特征,而且具有新的特性,因此可看作前一個類的特例,是對前一個類的繼承。前一個類稱為父類,新產(chǎn)生的類叫做子類。通過繼承關系可形成一種類層次結(jié)構(gòu),叫做繼承結(jié)構(gòu)。(3)多態(tài)性
在類層次結(jié)構(gòu)的不同類中,可用相同的函數(shù)名實現(xiàn)功能不同的函數(shù)。3.簡述OOA模型的層次結(jié)構(gòu)。
答:OOA模型采用五層次結(jié)構(gòu),它們分別是:(1)對象-類層
劃分待開發(fā)系統(tǒng)及其環(huán)境信息的基本構(gòu)造單位,標出反映問題域的對象和類,并用符號進行規(guī)范的描述,用信息提供者熟悉的術語為對象和類命名。(2)屬性層
定義對象和某些結(jié)構(gòu)中的數(shù)據(jù)單元,繼承結(jié)構(gòu)中所有類的公共屬性可放于通用類中。標識對象類必需的屬性并放在合適的繼承層次上,屬性的特殊限制和實例連接關系也應標識出來。(3)服務層
表示對象的服務或行為,即是要定義類上的操作。(4)結(jié)構(gòu)層
標識現(xiàn)實世界中對象之間的關系。當一個對象是另一個對象的一部分時,用“整體-部分”關系表示;當一個類屬于另一個類時,用類之間繼承關系表示。(5)主題層
可將相關類或?qū)ο髣澐譃橐粋€主題。4.簡述OOD模型的總體結(jié)構(gòu),并畫圖表示。OOD體系結(jié)構(gòu)的各個部分內(nèi)容:(1)問題論域部分,在OOA模型的基礎上,細化分析結(jié)果,設計一組構(gòu)成底層應用模型的類和對象。
(2)人機交互部分:設計用戶界面模型,該用戶界面模型中的類和對象提供實現(xiàn)人機交互操作的接口函數(shù)。用戶界面設計包括 菜單設計、窗口設計、輸入/輸出界面設計等等。
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品” 請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
(3)任務管理部分:建立一些類,用以負責處理操作系統(tǒng)級的并發(fā)問題、中斷、調(diào)度以及其它與特定平臺有關的問題。
(4)數(shù)據(jù)管理部分:提供數(shù)據(jù)管理系統(tǒng)中存儲和檢索對象的基本結(jié)構(gòu),包括對永久性數(shù)據(jù)的訪問和管理。數(shù)據(jù)管理設計包括:
— 數(shù)據(jù)存放設計:數(shù)據(jù)存放設計選擇數(shù)據(jù)存放的方式(文件存放、關系數(shù)據(jù)庫表格存放或面向?qū)ο蟮臄?shù)據(jù)庫存放)。
— 設計相應的操作。為每個需要存儲的對象和類增加用于存儲管理的屬性和操作,在類和對象的定義中加以描述。
class & object layer(類及對象層)attribute layer(類及對象層)service layer(服務層)問題論域部分人機交互部分任務管理部分數(shù)據(jù)管理部分類邊界實例邊界實例連接屬性消息服務struct layer(結(jié)構(gòu)層)subject layer(主題層)主題圖1.5 OOD模型的總體結(jié)構(gòu)5.(1)系統(tǒng)用例圖如下
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品” 請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
查詢課程信息老師老師查詢學生成績選課注冊學生學生查詢課程成績管理老師信息學生成績管理管理學生信息管理員管理課程信息管理開設課程管理員成績統(tǒng)計(b)成績管理的用例圖(a)選課管理的用例圖
對象類圖如下:
教師編號姓名地址電話1..*0..*課程課程名描述學時加入課程()1..*0..*學生編號姓名地址電話開設課程課程名授課日期授課時間地點指定老師()學生滿否()選修課程學生名課程名學期增加記錄()選課統(tǒng)計()(a)選課對象類圖開設課程課程名授課日期授課時間地點指定老師()學生滿否()學生成績登記學生名學期課程名成績加入成績()打?。ǎ╞)成績管理對象類圖成績統(tǒng)計學期課程名成績按課程統(tǒng)計()按學生統(tǒng)計()打?。ǎ?/p>
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品” 請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
(2)把需要持久存儲的數(shù)據(jù)實體類及其聯(lián)系,映射成為如下關系數(shù)據(jù)庫表:
學生(學生號、姓名、出生日期、性別、籍貫、地址、電話、入學時間、專業(yè)、班級備注)教師(教師號、姓名、出生日期、性別、籍貫、地址、電話、職稱、專長、備注)課程(課程號、課程名、描述、學分、學時、性質(zhì)、備注)
開設課程(課程號、學期、授課日期、授課時間、地點、選修人數(shù)、備注)
請大家?guī)兔Π堰@句話設為QQ簽名,“淘熱門 http://004km.cn , 精選淘寶熱門商品”
第二篇:電子商務系統(tǒng)分析與設計試卷
A、網(wǎng)站的主體B、業(yè)務功能C、網(wǎng)站擁有者的職能D、電子商務模式
7、有關網(wǎng)站設計說法正確的是()。
1、電子商務系統(tǒng)發(fā)展過程分為電子商務系統(tǒng)醞釀階段、電子商務系統(tǒng)的雛形階段以
A、網(wǎng)站主題應該廣泛B、網(wǎng)站欄目包含若干版塊及和四階段。
C、超鏈接字串的長度要適中D、為了突出網(wǎng)站色彩盡量用多種鮮艷的顏色
2、是建設電子商務系統(tǒng)的
第三篇:面向?qū)ο蟮脑O計與分析(網(wǎng)上商城的建模設計)
第4章江西師范大學“網(wǎng)上商城”建模實例
本文所要進行建模分析的系統(tǒng)是學校小型電子商務系統(tǒng),以欲構(gòu)建的江西師范大學的便利店和生活超市“網(wǎng)上商城”為例,是滿足校園客戶(主要在校學生)網(wǎng)購要求的綜合性的應用系統(tǒng),本文以Rational rose 2003為建模工具,并應用第三章提出的基于UML的電子商務系統(tǒng)建模過程,完成該系統(tǒng)的詳細分析和設計。對系統(tǒng)進行需求分析,建立系統(tǒng)需求模型、靜態(tài)結(jié)構(gòu)視圖、動態(tài)結(jié)構(gòu)視圖、數(shù)據(jù)庫模型、物理模型。
4.1系統(tǒng)的需求分析 4.1.1系統(tǒng)的設計背景
江西師范大學瑤湖校區(qū)江西師范大學新校區(qū),地處南昌市昌東鎮(zhèn),在校學生3萬余人,由于學校占地面積很大,離市區(qū)比較遠,周圍設施還不是很齊全,該校區(qū)為解決師生日常生活需要,建設了商業(yè)街并且每個宿舍區(qū)都有便利超市,這些店是一個小型的生活用品采購區(qū),在校學生平時的大部分消費都是在這些地方,包便利店和小型超市等生活服務的實體商店,滿足了師生不出校門就能買到自己想要的東西。近些年,隨著高校的擴招,該校區(qū)學生和老師的數(shù)量也不斷增加,新的問題也隨之而來,高校學生由于社會發(fā)展帶來的的巨大壓力,生活節(jié)奏也日益加快,空閑時間也越來越少。所以如果他們每次生活消費都要到實體店購買,就給他們的生活帶來不便,因而如果能夠網(wǎng)上購物就解決了這個矛盾。另外,據(jù)數(shù)據(jù)顯示,該校學生80%是網(wǎng)民,該群體的素質(zhì)較高,接受新事物速度快,而且他們的消費興趣和傾向也有高度的相似性。該校區(qū)學生居住地也比較集中,大都住在學校統(tǒng)一安排的公寓或者學校周圍的小區(qū),使物流配送更加方便和及時。目前學校的實體商店很多,但是大多數(shù)商店還沒有自己的電子商務系統(tǒng),所以如果通過一個統(tǒng)一的網(wǎng)上購物平臺,商店將這些商品都發(fā)布在網(wǎng)上商城上,師生就可以足不出戶選購商品,非常方便。只要授予他們可以在平臺上銷售自己的商品,提高了商店的知名度,也提高了他們的服務能力和影響力。該網(wǎng)上商城具有一般網(wǎng)上購物系統(tǒng)的功能: 1.師生可以通過該網(wǎng)上商城注冊為商城用戶,瀏覽商品訂購商品放入購物車;客戶可以通過該商城發(fā)布評論信息;客戶可以查看自己訂單;客戶可以支付商品貨款。
2.商戶可以通過該商城發(fā)布自己的商品信息、供師生購買;可以通過該商城管理自己的商品信息和員工信息;可以進行訂單處理。3.系統(tǒng)管理員對商戶申請信息進行審核;對評論信息管理:對系統(tǒng)日常的維護和數(shù)據(jù)備份;對用戶信息管理。
除了以上三個一般購物系統(tǒng)的功能商城的系統(tǒng)管理員可以通過對歷史訂單信息進行數(shù)據(jù)挖掘,找出顧客購買商品間的關聯(lián)關系,建議商戶對其營銷策略進行調(diào)整或者綁定銷售一些商品,以提高商戶的銷售利潤,達到在線交易和實體店雙重贏利。該功能模塊的設計將在第五章詳細說明。4.1.2系統(tǒng)的模塊設計
根據(jù)以上背景,本文欲構(gòu)建一個具有上述功能的江西師范大學“網(wǎng)上商城”。該商城可以滿足師生網(wǎng)上購物的要求,注冊該商城用戶都可以直接登錄到該商城。該商城為校園的客戶提供了一個統(tǒng)一的網(wǎng)上交易平臺,該網(wǎng)上商城的業(yè)務流程圖,如圖4.1所示。
通過以上背景分析和業(yè)務流程的設計,根據(jù)一般網(wǎng)上購物系統(tǒng)的功能,并結(jié)合該“網(wǎng)上商城”的特殊功能需求,根據(jù)商城所涉及到的主要參與者將該商城主要功能描述如下: 1,商城維護:管理員可以對商城日常維護和數(shù)據(jù)備份。2.商戶信息管理:管理員對申請加盟的商戶等級管理和商戶信息修改,添加等操作。
3.商城用戶信息管理:對商城注冊用戶信息的管理,以及其應用權(quán)限
4.評論管理:管理員可以對評論信息進行處理,對于不符合要求的評論可以刪除。
5.收集數(shù)據(jù):系統(tǒng)管理員可以根據(jù)數(shù)據(jù)庫中一段時間的訂單歷史記錄查詢分析,收集到分析數(shù)據(jù)。
6.訂單分析:管理員可以對收集到的數(shù)據(jù)進行分析,得出商品之間的關聯(lián)性。建議商戶調(diào)整銷售策略,從而提高商店利潤。
7.商城注冊:非家園網(wǎng)或非商城用戶的客戶可以注冊為商城用戶。8.修改個人資料:注冊用戶可以修改自己的注冊資料。包括地址,電話等基本信息。
9.商城登錄:系統(tǒng)管理員、用戶、商戶都可以登錄商城相應的模塊在相應權(quán)限內(nèi)操作。
IO.查看商品信息:進入商城的師生都可以瀏覽商品信息,該商品信息包括商品的基本信息和商品的庫存。
11.購物:如果商品有庫存則客戶可以購買,如果缺貨則不能購買,客戶將商品放入購物車,進行購物??蛻艨梢詫徫镘嚴锏纳唐冯S時修改,刪除,添加和清空。
12.下訂單:客戶將商品加入購物車后,可以填寫訂單,對于訂單,在未處理之前,客戶也可以隨時登錄系統(tǒng)修改并提交。
13.支付:訂單提交以后,客戶可選擇支付方式,如選擇貨到付款則訂單完成,如選擇網(wǎng)上支付,則客戶要登錄網(wǎng)上銀行支付,支付完成則該訂單完成。
14.訂單查看:客戶可以隨時登錄系統(tǒng)查看自己的歷史訂單信息,可以刪除歷史訂單,可以查看訂單狀態(tài),訂單在未處理之前都可以修改然后再提交,也可以對取消未處理的訂單。
15.評論:收到商品以后客戶對商品和商戶的服務是否滿意可以對此訂單進行評論。
16.申請加盟商城:商戶申請加盟商城,資格審核通過后可以在商城建立自己的網(wǎng)上商店,擁有該商店的管理權(quán)限,可以進行網(wǎng)上交易。17.商品信息維護:商戶可以隨時添加、修改、刪除商品的信息。18.配送員信息管理:商戶可以對商店里的配送員信息進行添加、修改、刪除,以更好的管理商店的配送工作。
19.訂單處理:客戶提交訂單以后,商戶接收訂單并與客戶確認訂單以后對訂單進行處理,根據(jù)訂單所購買的商品,商戶查詢庫存,確認庫存中有該商品,對訂單進行審批,審批完了后則打印配送訂單,安排送貨。
20.派遣配送員:商戶點擊相關功能,將輸出配送員編號,商戶把送貨單和商品交予該配送員負責,配送員把商品送到客戶指定的地點,如果無人收貨,則在訂單回執(zhí)中填寫“無人接貨”,如果收貨成功,則填寫“收貨成功”,如收貨人推遲收貨則填寫“推遲收貨”。并將訂單回執(zhí)交予商戶。
21.庫存管理:商戶可以對商品庫存進行定期清點,并修改商品信息中的庫存信息。
22.配送訂單管理:對已經(jīng)處理的訂單,商戶打印出配送訂單,并安排配送員配送,對配送訂單的完成情況進行管理。
23.查看商品銷售記錄:商戶可以對本商店的商品信息隨時查看。24.查詢分析結(jié)果:商戶可以登錄商城查詢商品的關聯(lián)分析結(jié)果,通過結(jié)果設置相應的銷售捆綁包或交叉銷售。
25.設置銷售捆綁包:對分析到的關聯(lián)商品,通過后臺輸入設置到捆綁包中。
滿足上述需求的系統(tǒng)主要包括以下幾個模塊: 系統(tǒng)管理模塊:該模塊是系統(tǒng)提供給系統(tǒng)管理員的接口模塊。主要包括對校園商戶的加盟審核,對商店申請信息的管理,根據(jù)商戶等級和信譽來決定刪除和添加商戶,另外對網(wǎng)站用戶信息的管理。該模塊可以對系統(tǒng)日常維護和數(shù)據(jù)備份,并且通過對訂單信息進行數(shù)據(jù)分析,以幫助商戶制定營銷策略,贏得更大的利潤。
用戶接口模塊:該模塊為想購買該網(wǎng)站商品的學生提供的了入口,所有校園的師生都可以通過瀏覽器瀏覽該網(wǎng)站商品,可以注冊為該系統(tǒng)用戶并登錄該系統(tǒng)訂購自己喜愛的商品。
商戶操作模塊:該模塊是“網(wǎng)上商城”的核心模塊。主要包括接受客戶完成的訂單需求,指派特定的配送員,配送員根據(jù)訂單所需提貨,配送員送貨上門,客戶簽收商品并生成回執(zhí)單,商戶可以查看最近一段時間某商品的銷售記錄,根據(jù)查看的商品訂單分析結(jié)果制定相應的捆綁銷售或者交叉銷售策略。
4.2需求建模
該系統(tǒng)需求建模描述系統(tǒng)用戶使用一個系統(tǒng)的方式,描述系統(tǒng)應該具備什么功能,是系統(tǒng)用戶或者另一個系統(tǒng)與系統(tǒng)之間的一次交互過程,是系統(tǒng)分析和設一計的第一步,以系統(tǒng)全局的功能作為參考,把系統(tǒng)所涉及的參與者和他們從外部觀察到的系統(tǒng)的功能描述出來,而并不描述這些功能在系統(tǒng)功能的實現(xiàn)形式。這個過程使用UML建立系統(tǒng)的用例圖,分離出系統(tǒng)執(zhí)行者和用例,以及用例之間的關系。4.2.1系統(tǒng)參與者
參與者是系統(tǒng)外部的一個實體,可以是系統(tǒng)用戶、與所建造的系統(tǒng)交互的其他系統(tǒng)或者是一些可以運行的進程。第一,在每一個系統(tǒng)中,幾乎都存在著最常用的參與者一真實的人(用戶);第二,需要建立聯(lián)系的其他外部應用程序,即其他系統(tǒng);第三,一些可運行的進程,如時一間;通過上面對該系統(tǒng)的功能分析和系統(tǒng)功能模塊的設計,系統(tǒng)參與者主要有:系統(tǒng)管理員、客戶、商戶和支付系統(tǒng)。4.2.2識別用例
確定用例最常用的方法是從分析系統(tǒng)參與者開始,把每個系統(tǒng)參與者如何使用系統(tǒng)的行為都考慮進來。根據(jù)上一節(jié)系統(tǒng)的需求分析功能模塊,可以確定系統(tǒng)參與者有系統(tǒng)管理員、客戶、商戶和支付系統(tǒng)。根據(jù)上一小節(jié)的功能模塊分析,得出系統(tǒng)的頂層用例圖,如圖4.2 0
下面分別對三個用例細化,系統(tǒng)管理所涉及到的用例有:商城登錄,商戶信息管理,用戶信自、管理,評論管理,商城日常維護和訂單分析。涉及到的參與者是系統(tǒng)管理員,系統(tǒng)管理的用例圖如4.3所示。
用戶接口用例細化有:商城注冊,商城登錄,查看商品信息,修改個人資料,購物,下訂單,支付,評論,訂單查看。用戶接口的用例圖如圖4.4所示。
其中“購物”用例細化的用例有:清空購物車,修改購物車商品,添加商品到購物車,查看購物車信息,刪除購物車中的商品。細化后的用例圖如圖4.5
“訂單查看”用例細化的用例有:修改訂單,提交訂單.,刪除訂單,查看歷史訂單,訂單狀態(tài)查詢,取消訂單。細化后用例圖如圖4.6所示。
商戶操作的細化用例有:申請加盟商城,商城登錄,商品信息維護,配送信息管理,訂單處理,配送訂單管理,派遣配送員,查看商品銷售記錄,庫存管理,查看訂單分析結(jié)果,設置商品銷售捆綁包。商戶操作用例細化圖,如圖4.7所示。
商品信息維護的細化的用例有:增加商品信息,刪除商品信息,修改商品信息。細化后的用例圖如圖4.8所示。
訂單處理的細化用例有:確認訂單,接收發(fā)貨,查詢商品庫存。如圖4.9
支付系統(tǒng)用例有:支付,網(wǎng)上支付,貨到支付。支付系統(tǒng)的用例圖,如圖4.10所示。
根據(jù)以上對系統(tǒng)參與者的用例圖分析與建模,得出系統(tǒng)的完整的用例圖,如圖4.11所示。
4.3靜態(tài)結(jié)構(gòu)建模
靜態(tài)結(jié)構(gòu)模型是對有關系統(tǒng)實現(xiàn)內(nèi)部和應用領域的概念進行建模,本文通過分析上述需求建模中的用例和問題域,抽取相關的類,并將這些類之間的關系表示出來,以及類的內(nèi)部結(jié)構(gòu),最后完成類圖,反應了系統(tǒng)的一種靜態(tài)關系。(1)抽取系統(tǒng)中的類
系統(tǒng)中存在三種類,一種是系統(tǒng)與外界的交界處,包括各種窗體和接口(與報表、打印機和掃描儀等硬件的接口或者與其他系統(tǒng)的接口);另一種是負責協(xié)調(diào)其他類工作的控制類,是控制使用事件的順序的類;第三種是保存放入永久存儲體的數(shù)據(jù)信息類,即實體類。本文將以“下訂單”舉例說明分析類的整個流程。
下訂單用例的主要功能是:客戶登錄商品信息查看頁面,系統(tǒng)驗證客戶注冊信息,系統(tǒng)打開下訂單頁面,填寫訂單并提交訂單信息,根據(jù)以上描述,該用例涉及到的類如下: 邊界類:商品信息查看頁面,填寫訂單頁面。
控制類:下訂單。
實體類:客戶信息類,商品詳細信息類,訂單信息類。
據(jù)以上方法分析系統(tǒng)其它用例并經(jīng)過整理合并,得出網(wǎng)上商城的類如下: 1.邊界類:用戶注冊界面,用戶登錄界面,商品詳細信息界面,商品查看界面,下訂單界面,評論界面,支付界面,個人資料修改界面,訂單查看界面,商品信息維護界面,查看訂單分析結(jié)果界面,派遣配送員界面,設置商品銷售捆綁包界面,訂單處理界面,配送訂單管理界面,配送員信息管理界面,庫存管理界面,查看商品銷售記錄界面,商戶信息管理界面,用戶信息管理界面,商城維護界面,審核界面,評論管理界面,收集數(shù)據(jù)界面,訂單分析界面。
2.控制類:用戶注冊,用戶登錄,瀏覽商品,下訂單,評論,支付,個人資料修改,訂單查看,商品管理,配送員管理,查看訂單分析結(jié)果,派遣配送員,設置商品銷售捆綁包,訂單處理,配送訂單管理,庫存管理,查看商品銷售記錄,用戶管理,商戶管理,商城維護審核,評論管理,收集數(shù)據(jù),訂單分析。
3.實體類:用戶信息類,商品信息,訂單信息,配送員信息類,購物車信息類,配送訂單信息類,商戶信息類,商品銷售記錄信息類,評論信息類。管理員和客戶都屬于系統(tǒng)的非商業(yè)用戶,所以將它們統(tǒng)稱為用戶信息類。電子商務配送系統(tǒng)在Internet中使用,所以為了安全起見,在分析實體類中,將經(jīng)常使用的類所涉及操作和基本信息分別設計一個類。例如,客戶信息類,客戶涉及到的信息設計到客戶信息類中,而客戶所涉及到的方法操作則歸為客戶信息操作類。這樣體現(xiàn)了而向?qū)ο蟮姆庋b性和安全性,能更好的滿足系統(tǒng)運作要求。
(2)生成類圖
通過上述類的分析,要生成類圖還需要弄清楚類與類之間的關系,并且要確定類的屬性和方法。上文分析了與“下訂單”用例相關的類,下面接著討論類的屬性和方法,并生成相關類圖。
邊界類:商品詳細信息界面(GoodsDetailslnterface)填寫訂單頁面(OrdersInterface),主要是打開新的界面。
控制類:下訂單C Order)。協(xié)作類之間的工作,起到“中介”的作用。
實體類:用戶信息類(ClientInformations),商品信息類(GoodsInformations)訂單信息類(OrderInformations),用戶信息操作類(ClientOP),商品信息操作類(GoodsOP),訂單信息操作類(OrderOP)。ClientInfornlations類的重要屬性有:用戶ID號,用戶名,注冊日期,登錄密碼,電子郵件;ClientOP類的主要操作有:系統(tǒng)注冊,系統(tǒng)登錄,查看商品,訂購商品,支付;GoodsInformations類主要屬性有:商品ID號,商品名稱,商品描述,商品價格,商品庫存,商品類別;GoodsOP類的主要操作有:獲取商品ID號、商品名稱和價格;OrderInformations類主要屬性有:訂單ID號,商品ID號,商戶ID號,用戶ID號,客戶姓名,訂購日期,訂購者地址,商品數(shù)量,商品價格;OrderOP類涉及的操作有:搜索訂單,查看訂單,處理訂單,添加訂單,刪除訂單。
根據(jù)以上分析,下訂單的類圖如圖4.12。實線箭頭表示的是關聯(lián)關系,虛線箭頭表示的是依賴關系。
由于電子商務配送系統(tǒng)涉及到類圖比較龐大,而分析類圖的過程可以通過上述方法一一得出用例的類圖,本文只對系統(tǒng)中的實體類圖進行建模。運用上文方法分析實體類所涉及到的信息類,實體類圖4.13a
4.4動態(tài)結(jié)構(gòu)建模
用例圖和類圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),接下來建立系統(tǒng)的動態(tài)行為模型,動態(tài)行為模型主要是建立系統(tǒng)的順序圖和活動圖,川頁序圖主要來表示對一象之間的關系和對象之間傳送消息的時間順序?;顒訄D則是描述活動的順序的一種流程圖,是從一個活動到另一個活動的控制流。
(1)順序圖
該商城系統(tǒng)涉及到的順序圖有很多,比如用戶登錄順序圖,下訂單順序圖,刪除訂單順序圖,增加訂單順序圖,訂單處理順序圖。本文將通過“系統(tǒng)登錄”順序圖和“下訂單”順序圖建模為例來說明系統(tǒng)動態(tài)結(jié)構(gòu)建模。
“商城登錄”用例涉及到參與者是用戶,包括管理員和其他用戶,這里以客戶登錄系統(tǒng)為例,涉及到的對象有“登錄界面”,“服務器”和“數(shù)據(jù)中心”,根據(jù)ROSE中的順序圖的建模方法,本文得到“商城登錄”用例的順序圖如圖4.14。
根據(jù)上文分析的“下訂單”用例類圖,“下訂單”用例的順序圖參與者是客戶,所涉及到的對象有“登錄界面(login)”“商品信息查看界面(GoodsDetailsInterface)"“下訂單界面(OrdersInterface“
“訂單信息操作(OrderOP)”,用ROSE建模得出的“下訂單”順序圖如圖4.15所示。
(2)活動圖
活動圖表示一個事件正在運行的狀態(tài),事件是系統(tǒng)中某個對象的一個操作,主要表現(xiàn)一個活動到另一個活動控制流,是系統(tǒng)內(nèi)部的驅(qū)動流程。一個系統(tǒng)涉及到的活動圖很多,本文提到的系統(tǒng)活動圖有:客戶下訂單的活動圖,商城用戶登錄活動圖,派遣配送員的活動圖等,本文將以“下訂單”活動圖為例。根據(jù)活動圖的組成元素,“下訂單”包括很多活動狀態(tài),比如:查看商品,提交訂單,訂單處理等一系列狀態(tài),“下訂單”就是從一個活動狀態(tài)轉(zhuǎn)換為另一個活動狀態(tài),直至完成該動作,活動圖中涉及兩個對象,客戶和商戶,根據(jù)以上描述,在ROSE中建模的“下訂單”活動圖如圖4.16所示。
4.5數(shù)據(jù)庫建模
在以上小節(jié)本文成功建立了江西師范大學網(wǎng)上商城的業(yè)務流程圖、需求模型、靜態(tài)模型和動態(tài)模型,接下來就要介紹如何通過已建立L1ML靜態(tài)結(jié)構(gòu)模型中的類圖轉(zhuǎn)換為數(shù)據(jù)庫模型。在類圖轉(zhuǎn)換為數(shù)據(jù)庫模型,控制類和邊界類不需要轉(zhuǎn)換為系統(tǒng)數(shù)據(jù)庫模型,這些類是為了實現(xiàn)用例的流程而產(chǎn)生的類,所以只有那些持久存儲信息的實體類需要轉(zhuǎn)換為數(shù)據(jù)庫模型。轉(zhuǎn)換過程由于篇幅問題不再一一敘述,如圖4.17系統(tǒng)實體類圖轉(zhuǎn)換的數(shù)據(jù)庫模型圖。
系統(tǒng)的數(shù)據(jù)庫模型圖建立之后,將模型圖映射為數(shù)據(jù)表,此處數(shù)據(jù)庫模型中的屬性映射為數(shù)據(jù)表的列,系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)表如下表所示。4.6物理建模
完成系統(tǒng)的邏輯設計后,下一步要定義設計的物理實現(xiàn),為了將邏輯設計圖轉(zhuǎn)化成實際的事物,面向?qū)σ幌笙到y(tǒng)的物理建模有兩種圖:組件圖和配置圖。組件圖是系統(tǒng)實現(xiàn)視圖的圖形表示,描述了系統(tǒng)的各種組件和組件之間的依賴關系。配置圖是系統(tǒng)執(zhí)行過程中資源元素的配置情況以及軟件到這些資源元素的映射,描述了系統(tǒng)中硬件和軟件的物理結(jié)構(gòu)。(1)組件圖
組件是表示將類、接口等打包而形成的物理模塊。組件圖是用來描述代碼的物理模塊之間的關系,顯示了代碼的結(jié)構(gòu)。組件圖能夠幫助客戶和系統(tǒng)開發(fā)人員理解最終的系統(tǒng)結(jié)構(gòu)。根據(jù)上文對江西師范大學“網(wǎng)上商城”的邏輯視圖的分析,在ROSE中得到系統(tǒng)的組件圖,圖4.18所示,組件圖中只有用虛線表示的依賴關系。
2.配置圖
配置圖用來表示系統(tǒng)的運行結(jié)構(gòu)或者系統(tǒng)軟件和硬件組織之間的關系,由節(jié)點和節(jié)點之間的聯(lián)系構(gòu)成,配置建模就是將軟件系統(tǒng)在互聯(lián)網(wǎng)上的運作方式模式化,南昌大學“網(wǎng)上商城”是一個基于其數(shù)據(jù)庫和校園網(wǎng)的應用系統(tǒng),根據(jù)第三章中電子商務系統(tǒng)多層B/S體系結(jié)構(gòu),“網(wǎng)上商城”的系統(tǒng)配置圖如圖4.19。
4.7小結(jié)
電子商務系統(tǒng)是一個結(jié)構(gòu)復雜、規(guī)模龐大的系統(tǒng),根據(jù)本文提出的基于UML的系統(tǒng)建模過程,本章以江西師范大學“網(wǎng)上商城”為實例,對其進行了系統(tǒng)的需求分析,建立了系統(tǒng)的需求模型、系統(tǒng)的靜態(tài)結(jié)構(gòu)模型、系統(tǒng)的動態(tài)結(jié)構(gòu)模型、系統(tǒng)的數(shù)據(jù)庫模型、系統(tǒng)的物理模型。確立了系統(tǒng)的功能模塊,分別建立了業(yè)務流程圖、用例圖、類圖、順序圖和活動圖、數(shù)據(jù)庫模型和數(shù)據(jù)表、組件圖和配置圖。
第5章基于數(shù)據(jù)挖掘的商品訂單分析
電子商務的迅速發(fā)展使其規(guī)模越來越復雜,客戶獲得有效商品信息的難度也在增加,因此如何增加商品信息的針對性,提高網(wǎng)站的可用性成為了現(xiàn)今電子商務研究的熱點。國內(nèi)對該熱點的研究很少,但是也有了一些研究成果,比如王兆紅((2005)利用關聯(lián)規(guī)則提出了商品的最佳打包組合:金偉健,金文進(2010)從理論上提出了基于關聯(lián)規(guī)則的商品推薦模型;章杰鑫,張烈平(2009)提出了時序關聯(lián)規(guī)則挖掘算法,并通過模擬超市數(shù)據(jù)預測了顧客在時間單位內(nèi)的商品關聯(lián)規(guī)則,使企業(yè)更好的了解客戶需求。本文應用數(shù)據(jù)挖掘的關聯(lián)規(guī)則對商城的“訂單分析”功能進行了分析和設計。首先對商城歷史訂單進行數(shù)據(jù)預處理,然后應用關聯(lián)規(guī)則挖掘客戶購買商品的關聯(lián)關系,這樣商戶可以掌握客戶的購物興趣,設置相應的捆綁或交叉銷售,使商戶在降低成本的同時為廣大師生提供更好的生活服務,增加現(xiàn)有客戶的滿意度。5.1數(shù)據(jù)挖掘技術 5.1.1數(shù)據(jù)挖掘的概念
1997年SAS研究所將數(shù)據(jù)挖掘定義為將大量相關數(shù)據(jù)進行探索,最后建立相關模型的方法;1999年Bhavani將數(shù)據(jù)挖掘定義為一個過程,即利用數(shù)學,統(tǒng)計和模式識別技術,在大量的數(shù)據(jù)中發(fā)現(xiàn)新的趨勢、新關系和模式的過程;最后一種是最具有影響力且至今被廣泛采用的Usama M.Fayyad等給出的,即數(shù)據(jù)挖掘(Data Mining)是從大量的、有噪聲、模糊的、不完全的、隨機的數(shù)據(jù)中挖掘出隱含的、未知的、用戶可能感興趣的但又有潛在價值的知識和信息的過程。5.1.2數(shù)據(jù)挖掘的功能一可以挖掘什么類型的模式
數(shù)據(jù)挖掘的目標從大量的數(shù)據(jù)中發(fā)現(xiàn)隱含的、有意義的知識并對現(xiàn)有數(shù)據(jù)記錄進行分析,預測未來趨勢和行為,做出基于知識的決策,主要有以下功能。
1.描述功能:將數(shù)據(jù)庫中的對象通過數(shù)據(jù)分類、聚類分析、數(shù)據(jù)匯總與歸納、概括等過程最終獲得數(shù)據(jù)簡明、準確的描述。
第四篇:面向?qū)ο髨D書管理信息系統(tǒng)設計與實現(xiàn)
演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案
面向?qū)ο髨D書管理信息系統(tǒng)設計與實現(xiàn)
#include
const int Maxbor=5;//每位讀者最多借五本書 //讀者類,實現(xiàn)對讀者的信息的描述 class Reader { private: int tag;//刪除標記 1:已刪 0:未刪 int no;//讀者編號 char name[10];//讀者姓名 int borbook[Maxbor];//所借圖書 public: Reader(){} char *getname(){return name;} //獲取姓名 int gettag(){return tag;} //獲取刪除標記
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案
int getno(){return no;} //獲取讀者編號 void setname(char na[])//設置姓名 { strcpy(name,na);} void delbook(){ tag=1;}//設置刪除標記 1:已刪 0:未刪 void addreader(int n,char *na)//增加讀者 { tag=0;no=n;strcpy(name,na);for(int i=0;i 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 } } } int retbook(int bookid)//還書操作 { for(int i=0;i 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 } };//讀者類庫,實現(xiàn)建立讀者的個人資料 class RDatabase { private: int top;//讀者記錄指針 Reader read[Maxr];//讀者記錄 public: RDatabase()//構(gòu)造函數(shù),將reader.txt讀到read[]中 { Reader s;top=-1;fstream file(“reader.txt”,ios::in);//打開一個輸入文件 while(1){ file.read((char *)&s,sizeof(s));if(!file)break;top++;read[top]=s;} file.close();//關閉 reader.txt 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 } void clear()//刪除所有讀者信息 { top=-1;} int addreader(int n,char *na)//添加讀者時先查找是否存在 { Reader *p=query(n);if(p==NULL){ top++;read[top].addreader(n,na);return 1;} return 0;} Reader *query(int readerid)//按編號查找 { for(int i=0;i<=top;i++)if(read[i].getno()==readerid && read[i].gettag()==0){ 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 return &read[i];} return NULL;} void disp()//輸出所有讀者信息 { for(int i=0;i<=top;i++)read[i].disp();} void readerdata();//讀者庫維護 ~RDatabase()//析構(gòu)函數(shù),將read[]寫到reader.txt文件中 { fstream file(“reader.txt”,ios::out);for(int i=0;i<=top;i++)if(read[i].gettag()==0)file.write((char *)&read[i],sizeof(read[i]));file.close();} };void RDatabase::readerdata(){ char choice; 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 char rname[20];int readerid;Reader *r;while(choice!='0'){ cout <<“nnttt讀 者 維 護nnntt 1 新 增nntt 2 更 改nntt 3 刪 除nntt 4 查 找nntt 5 顯 示nntt 6 全 刪nntt 0 退 出”< 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 if(r==NULL){ cout << “ 該讀者不存在 ”< 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 cin >> readerid;r=query(readerid);if(r==NULL){ cout <<“該讀者不存在”<< endl;break;} r->disp();break;case '5': disp();break;case '6': clear();break;default:cout<<“輸入錯誤,請從新輸入:”;break;} } } //圖書類,實現(xiàn)對圖書的描述,圖書的編號,書名,借出,還入等class Book { 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 private: int tag;//刪除標記 1:已刪 0:未刪 int no;//圖書編號 char name[20];//書名 int onshelf;//是否再架 1:再架 2:已借 public: Book(){} char *getname(){ return name;}//獲取姓名int getno(){ return no;}//獲取圖書編號 int gettag(){ return tag;}//獲取刪除標記 void setname(char na[])//設置書名 { strcpy(name,na);} void delbook(){ tag=1;}//刪除圖書 void addbook(int n,char *na)//增加圖書 { tag=0;no=n;strcpy(name,na);onshelf=1;} 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 int borrowbook()//借書操作 { if(onshelf==1){ onshelf=0;return 1;} return 0;} void retbook()//還書操作 { onshelf=1;} void disp()//輸出圖書 { cout << setw(6)<< no << setw(18)<< name << setw(10)<<(onshelf==1? “在架”:“已借”)< 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 private: int top;//圖書記錄指針 Book book[Maxb];//圖書記錄 public: BDatabase()//構(gòu)造函數(shù),將book.txt讀到book[]中 { Book b;top=-1;fstream file(“book.txt”,ios::in);while(1){ file.read((char *)&b,sizeof(b));if(!file)break;top++;book[top]=b;} file.close();} void clear()//全刪 { top=-1;} 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 int addbook(int n,char *na)//增加圖書 { Book *p=query(n);if(NULL==p){ top++;book[top].addbook(n,na);return 1;} return 0;} Book *query(int bookid)//查找圖書 { for(int i=0;i<=top;i++)if(book[i].getno()==bookid &&book[i].gettag()==0){ return &book[i];} return NULL;} void bookdata();//圖書庫維護 void disp() 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 { for(int i=0;i<=top;i++)if(book[i].gettag()==0)book[i].disp();} ~BDatabase()//析構(gòu)函數(shù),將book[]寫到book.txt文件中 { fstream file(“book.txt”,ios::out);for(int i=0;i<=top;i++)if(book[i].gettag()==0)file.write((char *)&book[i],sizeof(book[i]));file.close();} };void BDatabase::bookdata(){ char choice;char bname[40];int bookid;Book *b;while(choice!='0'){ 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 cout <<“nnnttt圖 書 維 護 ”< 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 cout << “輸入新的書名:”< 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 break;} b->disp();break;case '5': disp();break;case '6': clear();break;default:cout<<“輸入錯誤,請從新輸入:”;} } } //main()函數(shù)的實現(xiàn),程序的主界面的引導 void main(){ char choice;int bookid,readerid;RDatabase ReaderDB;Reader *r;BDatabase BookDB; 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 Book *b;while(choice!='0'){ cout < 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 { cout <<“ 不存在該圖書,不能借書”<< endl;break;} if(b->borrowbook()==0){ cout << “ 該圖書已借出,不能借書”<< endl;break;} r->borrowbook(b->getno());break;case '2': cout<<“還書n 讀者編號:”;cin >>readerid;cout << “ 圖書編號:”;cin >>bookid;r=ReaderDB.query(readerid);if(r==NULL){ cout <<“ 不存在該讀者,不能還書” << endl;break;} 精心收集 精心編輯 精致閱讀 如需請下載! 演講稿 工作總結(jié) 調(diào)研報告 講話稿 事跡材料 心得體會 策劃方案 b=BookDB.query(bookid);if(b==NULL){ cout <<“ 不存在該圖書,不能還書” < 精心收集 精心編輯 精致閱讀 如需請下載! 第1章 軟件工程基礎知識 1.1軟件工程知識體系 ? 軟件需求(Software Requirements)? 軟件設計(Software Design) ? 軟件構(gòu)造(Software Construction)? 軟件測試(Software Testing)? 軟件維護(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ì)量子特性和度量 ? 功能性:適宜性、準確性、互用性、依從性、安全性 ? 可靠性:成熟性、容錯性、可恢復性 ? 可用性:可理解性、易學性、可操作性 ? 效率:時間特性、資源特性 ? 可維護性:可分析性、可修改性、穩(wěn)定性、可測試性 ? 可移植性:適應性、易安裝性、一致性、可替換性 ? 1.3.2 軟件質(zhì)量管理 ? 質(zhì)量需求分析 ? 質(zhì)量計劃 ? 質(zhì)量保證 ? 質(zhì)量控制 ? 質(zhì)量改進 ? 軟件質(zhì)量管理體系 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.4軟件配置管理 ? 1.4.1 軟件配置項與基線 計算機軟件配置項(CSCI)基線(baseline) 功能基線(functional baseline)指派基線(allocated baseline)產(chǎn)品基線(product baseline) ? 1.4.2 軟件配置管理過程 對象標識 版本控制 變化控制 配置審計 配置報告 1.5軟件過程管理 ? 1.5.1 軟件能力成熟度模型(CMM) CMM的5個等級:初始級、可重復級、已定義級、已管理級、優(yōu)化級 CMM的關鍵過程域(KPA):需求管理、軟件項目計劃、軟件項目跟蹤和監(jiān)控、軟件子合同管理、軟件質(zhì)量保證、軟件配置管理、組織級過程焦點、組織級過程定義、培訓大綱、集成軟件管理、軟件產(chǎn)品工程、組間協(xié)調(diào)、同行評審、定量過程管理、軟件質(zhì)量管理、缺陷預防、技術變更管理、過程變更管理 ? 1.5.2 軟件過程與軟件能力成熟度評估 第一步,建立評估組 第二步,填寫提問單 第三步,響應分析 第四步,現(xiàn)場考察 第五步,提出調(diào)查發(fā)現(xiàn)清單 第六步,制作關鍵過程域(KPA)剖面圖 ? 1.5.3 軟件過程改進 第一步,比較“目標狀態(tài)”與“目前狀態(tài)”,找出所有差距 第二步,確定改進目標 第三步,制定改進計劃 第四步,執(zhí)行改進計劃 第五步,總結(jié)本輪改進經(jīng)驗,開始下一輪改進 1.6 小節(jié) 軟件工程學是研究如何有效地組織和管理軟件開發(fā)的工程學科。 軟件產(chǎn)品所要經(jīng)歷的計劃、分析、設計、編程、測試、維護直至被淘汰這樣一個全過程被稱為軟件生存周期。用不同的方式將軟件生命周期中的所有開發(fā)活動組織起來,可以形成不同的軟件開發(fā)模型。 軟件質(zhì)量就是軟件與明確地和隱含地定義的需求相一致的程度。軟件質(zhì)量管理是指軟件開發(fā)機構(gòu)為保證軟件項目滿足客戶需求所要實施的質(zhì)量活動。軟件配置管理是在軟件的整個生命期內(nèi)管理變化的一組活動,目標是使變化更正確且更容易被適應。 軟件過程是指人們用于開發(fā)和維護軟件及其相關產(chǎn)品的一系列活動,包括軟件工程過程和軟件管理過程。軟件過程管理的目的就是提升軟件組織的提高軟件開發(fā)能力。 ? 1.? 1.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第2章 項目管理基礎知識 2.1項目與項目管理 ? 2.1.1 項目 項目是在特定條件下、具有特定目標的一次性任務,是在一定時間內(nèi)、滿足一系列特定目標的多項相關工作的總和。項目的臨時性 項目的獨特性 項目的漸進性 2.1.2 項目管理 項目管理就是將各種知識、技能、工具和技術應用于項目之中,以達到項目的要求。項目范圍 項目時間 項目成本 項目質(zhì)量 2.2項目管理過程與過程組 ? 2.2.1 過程與過程組 過程就是一組為了完成一系列事先指定的產(chǎn)品、服務或成果而需執(zhí)行的互相聯(lián)系的行動和活動。軟件項目管理過程可歸納為五個過程組。啟動過程組(initiating process group)規(guī)劃過程組(planning process group)實施過程組(executing process group) 監(jiān)控過程組(monitoring and controlling process group)收尾過程組(closing process group) ? 2.2.2 項目管理過程的交互作用 項目管理過程并不是互不相干的一次性事件 項目管理過程組之間是一種前后銜接、承前啟后的關系 項目管理過程組之間有時又是一種時間交錯、空間并行的關系 項目管理過程組之間還是一種信息收集、存儲、處理和傳遞的關系 某些過程組的關聯(lián)具有重復迭代性 規(guī)劃過程組、執(zhí)行過程組和監(jiān)控過程組之間形成一種閉環(huán)的關系 過程組的交互作用往往還會跨越項目階段 項目階段和過程之間有相互聯(lián)系 ? 2.2.3 項目管理過程的裁剪 不同類型的軟件項目應選用不同的項目管理過程 不同階段的軟件項目應選用不同的項目管理過程 不同軟件項目的管理過程會有不同的具體過程 不同軟件項目的管理過程會有不同的具體過程順序 不同軟件項目的管理過程會有不同的條件與約束 不同軟件項目的管理過程會有不同的簡化程度 不同軟件項目的管理過程需要不同的集成程度 項目變更會使項目管理過程隨之變化 2.3項目管理知識體系 項目綜合管理 項目范圍管理 ? ? ? ? ? ? ? ? ? ? 項目時間管理 項目成本管理 項目質(zhì)量管理 項目人力資源管理 項目溝通管理 項目風險管理 項目采購管理 2.4小節(jié) 項目管理就是將項目管理知識、技能、工具和技術應用于項目活動之中,可以將軟件項目管理活動視做一系列相互聯(lián)系的過程。 項目管理過程可歸納為5個過程組:啟動過程組、規(guī)劃過程組、實施過程組、監(jiān)控過程組與收尾過程組。 項目管理包括9個知識領域:項目綜合管理、項目范圍管理、項目時間管理、項目成本管理、項目質(zhì)量管理、項目人力資源管理、項目溝通管理、項目風險管理與項目采購管理。 第3章 軟件開發(fā)技術 3.1軟件開發(fā)平臺 ? 3.1.1 Microsoft.NET平臺 Microsoft.NET Framework:.NET CLR(通用語言運行環(huán)境);.NET BCL(基礎類庫);ASP.NET;ADO.NET。 Microsoft Visual Studio.NET:ADO.NET組件;XML數(shù)據(jù)組件;Windows表單組件;ASP.NET應用服務;ASP.NET Web表單;Web服務支持。 ? 3.1.2 J2EE平臺 組件-容器:搭建體系架構(gòu)平臺標準服務 多層應用模型 3.1.3 Microsoft.NET與J2EE的異同 類似的平臺基礎構(gòu)造 相同的三層/多層體系 不同的移植、性能和擴展 在Web支持方面的比較 第三方廠商的支持 潛在的市場 3.2中間件技術 ? 3.2.1 中間件簡介 終端仿真/屏幕轉(zhuǎn)換中間件 數(shù)據(jù)訪問中間件 遠程過程調(diào)用中間件 消息中間件 交易中間件 對象中間件 Web服務器中間件 安全中間件 ? 3.2.2 消息代理中間件 ? ? ? ? ? ? ? 1.? ? 1.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 構(gòu)件化的結(jié)構(gòu) 可恢復性、易于管理、靈活性 具有數(shù)據(jù)轉(zhuǎn)換設施??煽扛咝У耐ㄐ?多樣的管理能力 豐富的應用開發(fā)環(huán)境 ? 3.2.3 面向數(shù)據(jù)庫的中間件 ODBC JDBC 數(shù)據(jù)庫網(wǎng)關 3.3構(gòu)件技術 ? 3.3.1 構(gòu)件庫 構(gòu)件的存儲 構(gòu)件的分類與檢索機制 構(gòu)件庫的編目 構(gòu)件庫的管理和維護 ? 3.3.2 構(gòu)件模型 3C模型 刻面(Facet)模型 青鳥模型 ? 3.3.3 構(gòu)件的屬性與特點 構(gòu)件是可獨立配置的單元,構(gòu)件必須自包容。 構(gòu)件強調(diào)與環(huán)境和其他構(gòu)件的分離,因此構(gòu)件的實現(xiàn)是嚴格封裝的,外界沒機會或沒必要知道構(gòu)件內(nèi)部的實現(xiàn)細節(jié)。 構(gòu)件可以在適當?shù)沫h(huán)境中被復合使用,因此構(gòu)件需要提供清楚的接口規(guī)范,可以與環(huán)境交互。 構(gòu)件沒有個體特有的屬性,最多僅有特定構(gòu)件的一份副本。 ? 3.3.4 構(gòu)件與中間件 中間件,本質(zhì)上是對分布式應用的抽象,中間件與系統(tǒng)架構(gòu)實際上是從兩種不同的角度看待軟件的中間層次。 中間件促進了構(gòu)件化軟件,基于中間件開發(fā)的應用系統(tǒng)是構(gòu)件化的,中間件提供了構(gòu)件的體系結(jié)構(gòu),極大提高了構(gòu)件化軟件開發(fā)的效率和質(zhì)量。構(gòu)件化的軟件設計思想在中間件發(fā)展中起到了重要的作用。 3.4小節(jié) Microsoft.NET平臺和J2EE平臺是目前最常用的兩大軟件開發(fā)平臺。作為彼此競爭的應用平臺,Microsoft.NET平臺和J2EE平臺在目標和體系結(jié)構(gòu)上極其相似,但在實現(xiàn)上又完全不同。二者總的關系是:異中有同,同中有異。中間件是處于操作系統(tǒng)和應用程序之間的軟件。中間件保持了平臺的透明性,抽象了典型的應用模式。應用軟件開發(fā)者可以基于標準的中間件進行再開發(fā),而不必再考慮操作系統(tǒng)的問題。 構(gòu)件是可復用的軟件成份,可被用來構(gòu)造其他軟件。中間件促進了構(gòu)件化軟件,應用系統(tǒng)在中間件提供的環(huán)境中可以更好地集中于業(yè)務邏輯上,并以構(gòu)件的形式存在。構(gòu)件思想也反過來推動了中間件的發(fā)展。 第4章 軟件項目規(guī)劃 4.1項目策劃 ? 1.? 1.從政策導向中尋找項目機會 從市場需求中尋找項目機會 從技術發(fā)展中尋找項目機會 從特定事件中尋找項目機會 4.2項目可行性分析 4.2.1 技術可行性分析 ? ? ? ? ? 1.? ? ? ? ? ? ? ? ? 項目的必要性分析 軟件組織水平與能力分析 項目技術來源分析 與項目相關的專利分析 項目負責人及技術骨干的資質(zhì)分析 項目總體技術方案分析 項目創(chuàng)新點分析 項目技術風險分析 項目技術成熟性分析 ? 4.2.2 項目投資及效益分析 項目投資預算分析 項目投資來源分析 市場需求與產(chǎn)品銷售額分析 產(chǎn)品成本、利潤與盈虧平衡點分析 投資回收期、投資收益率分析 社會效益分析 4.3項目論證、評估與立項 ? 4.3.1 項目論證與評估的基本概念 項目論證是指對擬實施項目技術上的先進性、成熟性、適用性,經(jīng)濟上的合理性、盈利性,實施上的可能性、風險性進行全面科學的綜合分析,為項目決策提供客觀依據(jù)的一種技術經(jīng)濟研究活動。 項目評估指在項目可行性研究的基礎上,項目投資者或項目主管部門或其委托的第三方權(quán)威機構(gòu)根據(jù)國家頒布的政策、法律、法規(guī)、標準和技術規(guī)范,對擬開發(fā)項目的市場需求、技術先進性和成熟性、預期經(jīng)濟效益和社會效益等進行評價、分析和論證,進而判斷其是否可行的過程。 項目論證與評估的內(nèi)容、程序和依據(jù)大同小異,只是側(cè)重點稍有不同,有時不加區(qū)分或合并進行。 ? 4.3.2 項目可行性報告的真實性評估 項目申請單位的資質(zhì)真實性評估 項目申請單位的財務真實性評估 項目申請單位的技術真實性評估 其他事項的真實性評估 ? 4.3.3 項目可行性報告的客觀性評估 技術創(chuàng)新點的客觀性評估 技術先進性與成熟性的客觀性評估 ? ? ? ? ? ? ? ? ? ? ? ? ? 信息安全措施的客觀性評估 采用標準、規(guī)范的先進性、合理性評估 項目風險及應對方案的客觀性評估 其他事項的客觀性評估 ? 4.3.4 評估報告 ? 項目概況 ? 評估目標 ? 評估依據(jù) ? 評估內(nèi)容 ? 評估機構(gòu)與評估專家 ? 評估過程 ? 詳細評估意見 ? 存在或遺漏的重大問題 ? 潛在的風險 ? 評估結(jié)論 ? 進一步的建議 ? 4.3.5 項目立項 項目立項的決定應當由項目團隊之外的、適當級別的、并為項目出資的項目發(fā)起人或投資人作出,通常以項目立項決定(通知)書、項目批文、項目許可證書和項目任務書等形式發(fā)布。 4.4項目開發(fā)計劃 ? 1.引言 ? 2.引用文件 ? 3.項目最終成果 ? 4.需求與約束 ? 5.系統(tǒng)開發(fā)總體計劃 ? 6.項目開發(fā)詳細計劃 ? 7.進度表與活動網(wǎng)絡圖 ? 8.項目組織與資源 ? 9.培訓 ? 10.項目估算 ? 11.風險管理 ? 12.支持條件 ? 13.注解 ? 14.附錄 4.5小節(jié) ? 軟件項目規(guī)劃的任務主要包括項目策劃、可行性研究、論證、評估、立項與項目開發(fā)計劃的制訂工作。 ? 項目策劃,也稱項目機會研究,其目的是選擇投資機會、鑒別投資方向。 ? 項目可行性分析的目的是確定以下問題:項目有無必要?能否完成?是否值得去做? ? 項目論證與評估的目的是審查項目可行性研究的可靠性、真實性和客觀性,為項目主管部門或投資機構(gòu)的立項決策提供科學依據(jù)。 ? 項目開發(fā)計劃是項目規(guī)劃階段的重要成果,編寫軟件項目開發(fā)計劃時可依據(jù)《GB/T 8567-2006 計算機軟件文檔編制規(guī)范》中的軟件開發(fā)計劃模版。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第5章 系統(tǒng)分析方法學 5.1系統(tǒng)需求分析與軟件需求 系統(tǒng)需求:系統(tǒng)總體功能和業(yè)務結(jié)構(gòu);硬件系統(tǒng)需求;軟件系統(tǒng)需求;硬件系統(tǒng)和軟件系統(tǒng)之間的接口需求。軟件需求:軟件能力需求;軟件外部接口需求;軟件內(nèi)部接口需求;軟件內(nèi)部數(shù)據(jù)需求;適應性需求;安全性需求;保密性和私密性需求;軟件環(huán)境需求;計算機資源需求;軟件質(zhì)量需求;設計和實現(xiàn)的約束;數(shù)據(jù)需求;操作需求;故障處理需求;算法需求;相關人員需求;相關培訓需求;相關后勤需求;包裝需求;其他需求。 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ù)字典是關于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。 數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。 5.3原型化方法 ? 5.3.1 原型化方法與結(jié)構(gòu)化方法的比較 結(jié)構(gòu)化方法的假設:所有的需求都能被預先定義;修改定義不完備的系統(tǒng)代價昂貴且實施困難;項目參加者之間能夠清晰進行準確的通信;靜態(tài)描述或圖形模型對應用系統(tǒng)的反映是充分的;結(jié)構(gòu)化方法的生命周期的各階段都是固有正確的。 原型化方法的假設:并非所有的需求在系統(tǒng)開發(fā)以前都能準確地說明;有快速的系統(tǒng)建造工具;項目參加者之間通常都存在通信上的障礙;需要實際的、可供用戶參與的系統(tǒng)模型;需求一旦確定,就可以遵從嚴格的方法;大量的反復是不可避免的、必要的,應該加以鼓勵。 ? 5.3.2 原型生命周期及其策略 原型生命周期劃分:選擇開發(fā)方法;識別基本需求;開發(fā)工作模型;模型驗證;修正和改進;判定原型完成;差別細部說明;嚴格說明細部;判定原型效果;整理原型和提供文檔。 原型化的策略:建立數(shù)據(jù)模型;利用組合工程;剪裁和粘貼;用系統(tǒng)舉例;字典驅(qū)動;文檔的自動化;小的原型化隊伍;交互式開發(fā)平臺;陳述性規(guī)格說明;終端用戶報表生成器;專業(yè)原型化人員;開發(fā)人員參加原型化。 5.4面向?qū)ο蟮姆治?/p> ? 5.4.1 面向?qū)ο蠓椒▽W概述 對象與封裝 類 繼承與多態(tài)性 消息通信 面向?qū)ο蠓椒▽W的優(yōu)點 ? 5.4.2 面向?qū)ο蟮姆治龇椒?/p> OMT方法簡介 建立對象模型 建立動態(tài)模型 建立功能模型 ? ? ? ? ? ? ? ? ? ? ? ? 1.? ? 1.? ? ? ? ? ? ? ? ? ? ? 5.5小節(jié) 系統(tǒng)分析涉及系統(tǒng)需求的獲取、分析、規(guī)格說明和確認。系統(tǒng)需求可分為以下幾個方面:系統(tǒng)總體功能和業(yè)務結(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ù)需求;適應性需求;安全性需求;保密性和私密性需求;操作需求;可使用性、可維護性、可移植性、可靠性和安全性需求;故障處理需求;系統(tǒng)環(huán)境需求;計算機資源需求;系統(tǒng)質(zhì)量需求;設計和構(gòu)造的約束;相關人員需求;相關培訓需求;相關后勤需求;包裝需求;其他需求;需求的優(yōu)先次序和關鍵程度 合格性規(guī)定 需求可追蹤性 非技術性需求 尚未解決的問題 注解 附錄 7.2接口需求規(guī)格說明 引言 引用文件 需求 合格性規(guī)定 需求可追蹤性 注解 附錄 7.3軟件需求規(guī)格說明 引言 引用文件 軟件需求:要求的狀態(tài)和方式;需求概述;需求規(guī)格;軟件能力需求;軟件外部接口需求;軟件內(nèi)部接口需求;軟件內(nèi)部數(shù)據(jù)需求;適應性需求;安全性需求;保密性和私密性需求;軟件環(huán)境需求;計算機資源需求;軟件質(zhì)量需求;設計和實現(xiàn)的約束;數(shù)據(jù)需求;操作需求;故障處理需求;算法需求;相關人員需求;相關培訓需求;相關后勤需求;包裝需求;其他需求;需求的優(yōu)先次序和關鍵程度 合格性規(guī)定 需求可追蹤性 尚未解決的問題 注解 附錄 7.4小節(jié) 根據(jù)《GB/T 8567-2006 計算機軟件文檔編制規(guī)范》(Specification for computer ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? software documentation),系統(tǒng)分析文檔主要包括系統(tǒng)/子系統(tǒng)需求規(guī)格說明(SSS)、接口需求規(guī)格說明(IRS)和軟件需求規(guī)格說明(SRS)。系統(tǒng)/子系統(tǒng)需求規(guī)格說明(SSS)為一個系統(tǒng)或子系統(tǒng)指定需求以及保證每個需求得到確認所使用的方法。 接口需求規(guī)格說明(IRS)描述為實現(xiàn)一個或多個系統(tǒng)、子系統(tǒng)、硬件配置項(HWCI)、計算機軟件配置項(CSCI)、用戶 軟件需求規(guī)格說明(SRS)描述對計算機軟件的需求以及確保每個需求得到確認所使用的方法。 第8章 系統(tǒng)設計基礎 8.1系統(tǒng)設計概述 ? 8.1.1 系統(tǒng)級設計決策 系統(tǒng)級設計決策,是指系統(tǒng)行為的設計決策(忽略其內(nèi)部實現(xiàn),從用戶角度出發(fā),描述系統(tǒng)將怎樣運轉(zhuǎn)以滿足需求)和其他對系統(tǒng)部件的選擇和設計產(chǎn)生影響的的決策。系統(tǒng)級設計決策內(nèi)容:有關系統(tǒng)接收的輸入和產(chǎn)生的輸出的設計決策;對每個輸入或條件進行響應的系統(tǒng)行為的設計決策;系統(tǒng)數(shù)據(jù)庫/數(shù)據(jù)文件如何呈現(xiàn)給用戶的設計決策;為滿足安全性、保密性和私密性需求所選用的方法;硬件或硬軟件系統(tǒng)的設計和構(gòu)造選擇;為了響應需求而作出的其他系統(tǒng)級設計決策。 ? 8.1.2 系統(tǒng)架構(gòu)設計 總體設計 系統(tǒng)部件設計 動態(tài)交互設計 接口設計 ? 8.1.3 運行設計 系統(tǒng)初始化——說明本系統(tǒng)的初始化過程。 運行控制——說明對系統(tǒng)施加不同的外界運行控制時所引起的各種不同的運行組件組合、每種運行所經(jīng)歷的內(nèi)部組件和支持軟件、每一種外界運行控制的方式方法和操作步驟、每種運行組件組合將占用各種資源的情況以及系統(tǒng)運行時的安全控制。運行結(jié)束——說明本系統(tǒng)運行的結(jié)束過程。 ? 8.1.4 系統(tǒng)出錯處理設計 出錯信息——包括出錯信息表、故障處理技術等。補救措施——說明故障出現(xiàn)后可能采取的補救措施。 ? 8.1.5 系統(tǒng)維護設計 檢測點的設計——說明在系統(tǒng)中專門安排用于系統(tǒng)檢查與維護的檢測點。 檢測專用組件的設計——說明在系統(tǒng)中專門安排用于系統(tǒng)檢查與維護的專用組件。 8.2軟件設計概述 ? 8.2.1 軟件級設計決策 軟件級設計決策是指軟件行為的設計決策(忽略其內(nèi)部實現(xiàn),從用戶角度出發(fā),描述軟件將怎樣運轉(zhuǎn)以滿足需求)和其他影響組成該軟件的軟件配置項的選擇與設計的決策。 軟件級設計決策內(nèi)容:有關軟件接收的輸入和產(chǎn)生的輸出的設計決策;對每個輸入或條件進行響應的軟件行為的設計決策;有關數(shù)據(jù)庫/數(shù)據(jù)文件如何呈現(xiàn)給用戶的設計決策;為滿足安全性、保密性和私密性需求所選用的方法;為響應需求而作出的其他軟件級設計決策。 ? 8.2.2 軟件架構(gòu)設計 ? ? ? ? ? ? ? ? ? ? ? 程序結(jié)構(gòu)設計 全局數(shù)據(jù)結(jié)構(gòu)設計 軟件配置項設計 動態(tài)交互設計 接口設計 ? 8.2.3 軟件詳細設計 軟件配置項設計決策 軟件配置項設計中的約束、限制或非常規(guī)特征 軟件配置項使用的編程語言考慮 軟件配置項使用的過程式命令選取 軟件配置項的局部數(shù)據(jù)與軟件配置項的輸入或輸出數(shù)據(jù)設計 軟件配置項的邏輯設計 8.3設計原則 ? 8.3.1 組件化 組件的可分解性 組件的可組裝性 組件的可理解性 組件的連續(xù)性 組件的保護性 ? 8.3.2 抽象 抽象就是抽出事物的本質(zhì)特性而暫時忽略其細節(jié),使得不同的事物可以當作相同的事務來處理。 軟件工程過程的每一步都是對軟件解法的抽象層次的一次精化。 軟件設計中的抽象機制主要包括類、模板、過程抽象、數(shù)據(jù)抽象和控制抽象。 ? 8.3.3 內(nèi)聚與耦合 內(nèi)聚是指一個組件內(nèi)各個元素彼此結(jié)合的緊密程度 內(nèi)聚種類(由低到高排列):偶然內(nèi)聚;邏輯內(nèi)聚;瞬時內(nèi)聚;過程內(nèi)聚;通信內(nèi)聚;順序內(nèi)聚;功能內(nèi)聚 耦合是指一個軟件結(jié)構(gòu)內(nèi)不同組件之間的互連程度 耦合種類(由高到低排列):內(nèi)容耦合;公共耦合;外部耦合;控制耦合;標記耦合;數(shù)據(jù)耦合;非直接耦合 組件的高內(nèi)聚、低耦合原則稱為組件獨立原則 ? 8.3.4 封裝與信息隱蔽 第一,組件是其全部屬性和全部服務緊密結(jié)合而形成的一個不可分割的整體。 第二,組件是一個不透明的黑盒子,表示組件狀態(tài)的數(shù)據(jù)和實現(xiàn)操作的代碼都被封裝在黑盒子里面。使用一個組件的時候,只需知道它向外界提供的接口形式,無須知道它的數(shù)據(jù)結(jié)構(gòu)細節(jié)和實現(xiàn)操作的算法。 ? 8.3.5 啟發(fā)式規(guī)則 深度、寬度、扇出與扇入 作用域和控制域 功能的可預測性 8.4設計視圖 ? 8.4.1 架構(gòu)視圖(靜態(tài)視圖) 架構(gòu)描述語言(ADL)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類圖與對象圖 組件圖 協(xié)作責任卡(CRC)部署圖 實體-聯(lián)系圖(E-R圖)接口描述語言(IDL)結(jié)構(gòu)圖 Jackson結(jié)構(gòu)圖 ? 8.4.2 行為視圖(動態(tài)視圖) 活動圖 協(xié)作圖 順序圖 數(shù)據(jù)流圖 決策表和決策圖 流程圖和結(jié)構(gòu)化流程圖 狀態(tài)圖 形式化描述語言 偽碼 8.5小節(jié) 系統(tǒng)設計是定義一個系統(tǒng)或軟件的架構(gòu)、組件、接口和其它特征的過程。包括系統(tǒng)級設計決策、系統(tǒng)架構(gòu)設計、運行設計、系統(tǒng)出錯處理設計和系統(tǒng)維護設計。 軟件設計主要包括軟件級設計決策、軟件架構(gòu)設計(概要設計)與詳細設計。軟件架構(gòu)設計的主要任務是程序結(jié)構(gòu)設計、全局數(shù)據(jù)結(jié)構(gòu)設計、軟件配置項設計、動態(tài)交互設計和接口設計。軟件詳細設計是指每一個軟件配置項的具體設計。 組件化、抽象、高內(nèi)聚與低耦和、封裝與信息隱蔽是軟件設計的基本原則。軟件設計視圖通??煞譃榧軜?gòu)視圖(靜態(tài)視圖)和行為視圖(動態(tài)視圖)兩類。第9章 系統(tǒng)設計方法 9.1結(jié)構(gòu)化設計 ? 9.1.1 結(jié)構(gòu)化設計方法概述 分析系統(tǒng)的總體需求,并將需求逐步分解為基本、具體的功能。確定每個功能應當記錄的數(shù)據(jù)。 列出系統(tǒng)中應提供的各項基本功能,并分析各項基本功能之間的耦合關系,根據(jù)高內(nèi)聚、低耦和的原則分配到系統(tǒng)中適當?shù)哪K中。 ? 9.1.2 系統(tǒng)結(jié)構(gòu)圖 模塊 調(diào)用 數(shù)據(jù) 控制 轉(zhuǎn)接符號 ? 9.1.3 系統(tǒng)結(jié)構(gòu)圖分類 變換流與事務流 變換型系統(tǒng)結(jié)構(gòu)圖 事務型系統(tǒng)結(jié)構(gòu)圖 ? ? ? ? ? ? ? ? ? ? ? ? 混合型系統(tǒng)結(jié)構(gòu)圖 9.2面向數(shù)據(jù)結(jié)構(gòu)的設計 ? 9.2.1 面向數(shù)據(jù)結(jié)構(gòu)的設計概述 分析并建立適合系統(tǒng)的數(shù)據(jù)結(jié)構(gòu); 根據(jù)數(shù)據(jù)結(jié)構(gòu)在相應的層次建立程序結(jié)構(gòu); 羅列出程序中用到的各種基本操作,并將這些基本操作分配到程序結(jié)構(gòu)中合適的模塊中。 ? 9.2.2 Jackson圖 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 重復結(jié)構(gòu) 改進的Jackson圖 ? 9.2.3 Jackson方法 分析并確定輸入和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并利用Jackson 找出輸入和輸出數(shù)據(jù)結(jié)構(gòu)中存在對應關系的數(shù)據(jù)單元。從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖導出描繪程序結(jié)構(gòu)的Jackson 列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們安排到程序結(jié)構(gòu)圖的適當位置。用偽代碼表示。 9.3面向?qū)ο蟮脑O計 ? 9.3.1 面向?qū)ο蟮脑O計概述 面向?qū)ο笤O計的基本思想是通過建立和客觀實際相對應的對象,并通過這些對象的組合來創(chuàng)建具體的應用。 面向?qū)ο笤O計具有基于抽象、信息隱藏、功能獨立和模塊性構(gòu)造系統(tǒng)的能力。 對于面向?qū)ο蟮南到y(tǒng),可以定義一個四個層次的設計金字塔:子系統(tǒng)層;類及對象層;消息層;責任層。 ? 9.3.2 面向?qū)ο笤O計技術 ? Coad/Yourdon方法 ? Booch方法 ? OMT方法 ? ? ? 9.3.3 面向?qū)ο笤O計過程 系統(tǒng)設計過程:將分析模型劃分為子系統(tǒng);子系統(tǒng)分配及與問題的并發(fā)性;任務管理;數(shù)據(jù)管理;資源管理;人機界面;子系統(tǒng)間通信 對象設計過程:對象描述;算法與數(shù)據(jù)結(jié)構(gòu)設計;接口設計與模塊化 9.4設計模式 ? 9.4.1 設計模式概述 設計模式就是將面向?qū)ο筌浖脑O計經(jīng)驗記錄下,可供設計者能夠復用的設計方案。設計模式極大提高了面向?qū)ο筌浖_發(fā)的效率,降低了軟件的復雜度。 在軟件設計中使用設計模式,將使用開發(fā)出來的軟件更容易理解、更容易維護、更容易擴展,使用設計模式同時也能夠提高開發(fā)團隊和個人的開發(fā)能力。 ? 9.4.2 設計模式基本組成 模式名稱:惟一標識一個設計模式。問題:描述應該在何時使用該模式。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 解決方案:描述設計的組成要素,以及它們之間的相互關系及各自的職責與相互之間協(xié)作的方式。 ? 效果:描述應用設計模式的效果,以及使用設計模式必須考慮的限制和約束因素。 ? 9.4.3 設計模式分類 ? 面向?qū)ο竽J?? 代碼模式 ? 框架應用模式 ? 創(chuàng)建型模式、結(jié)構(gòu)型模式與行為型模式 ? 類模式與對象模式 ? 9.4.4 如何使用設計模式 ? 針對接口編程,而不是針對實現(xiàn)編程 ? 優(yōu)先使用對象組合,而不是類繼承 ? 找出變化并封裝 9.5小節(jié) ? 系統(tǒng)設計是一系列迭代的過程,主要任務包括數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)、接口及過程細節(jié)的設計等,而設計方法是軟件設計活動中實現(xiàn)設計模型的方法。? 系統(tǒng)設計方法主要包括面向過程的結(jié)構(gòu)化設計方法、面向數(shù)據(jù)結(jié)構(gòu)的設計,以及面向?qū)ο蟮脑O計方法與設計模式。 第10章 數(shù)據(jù)庫設計 10.1數(shù)據(jù)建模 ? 10.1.1 數(shù)據(jù)模型分類 ? 概念數(shù)據(jù)模型 ? 結(jié)構(gòu)數(shù)據(jù)模型 ? 物理數(shù)據(jù)模型 ? 10.1.2 實體-聯(lián)系(E-R)模型 ? 實體 ? 屬性 ? 聯(lián)系 ? 實體型 ? 實體集 ? 鍵 ? 域 ? 10.1.3 數(shù)據(jù)模型 ? 層次數(shù)據(jù)模型(hierarchical model)? 網(wǎng)狀數(shù)據(jù)模型(network model)? 關系數(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ù)庫設計過程 ? 10.3.1 數(shù)據(jù)庫需求分析 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)邊界的確定 數(shù)據(jù)環(huán)境的確定 數(shù)據(jù)內(nèi)部關系 數(shù)據(jù)字典 數(shù)據(jù)性能需求 數(shù)據(jù)需求分析說明書 ? 10.3.2 數(shù)據(jù)庫概念設計 概念設計與概念模型 概念設計的主要方法 分解與抽象 局部概念模式 全局概念模式 ? 10.3.3 數(shù)據(jù)庫邏輯設計 初始模式的形成 子模式設計 應用程序概要設計 模式評審 修正模式 ? 10.3.4 數(shù)據(jù)庫物理設計 存儲記錄結(jié)構(gòu)設計 確定數(shù)據(jù)存放位置 存取方法設計 完整性和安全考慮 程序設計 10.4小節(jié) ? 數(shù)據(jù)庫系統(tǒng)普遍采取數(shù)據(jù)模型表示和處理客觀事物的數(shù)據(jù)特征與信息。數(shù)據(jù)模型主要由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成,從抽象層次上描述和模擬了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件。 ? 關系數(shù)據(jù)庫中的關系必須滿足一定的要求,即滿足不同的范式。目前關系數(shù)據(jù)庫中常用的范式包括:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。? 數(shù)據(jù)庫設計主要包括需求分析、概念設計、邏輯設計和物理設計等幾個階段。 第11章 用戶界面設計 11.1基本概念 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 11.1.1 界面設計目標 可用性目標:可行性、有效性、易學性、易記性、安全性、通用性 用戶體驗目標:令人滿意、令人愉快、引人入勝、富有啟發(fā)、激發(fā)創(chuàng)造?? 可用性目標主要從客觀角度來評價系統(tǒng)界面,而用戶體驗目標則是從用戶主觀感受的角度來評價系統(tǒng)界面。 ? 11.1.2 界面設計原則 可視性:將系統(tǒng)功能呈現(xiàn)得一目了然。 反饋性:返回與活動相關的信息,以便用戶能夠繼續(xù)這個活動。限制性:將用戶的行為限制在一定的范圍內(nèi)。 對應性:明確系統(tǒng)某個控制與其控制效果之間的對應關系。一致性:用相似的元素表現(xiàn)相似的操作或相似的任務。啟示性:界面元素應給予用戶某種提示。 ? 11.1.3 界面設計過程 標識出用戶的真實需要并建立需求模型 設計出候選方案 構(gòu)建或?qū)崿F(xiàn)設計的原型版本 對界面設計進行評估 11.2界面設計技術 ? 11.2.1 界面設計分析技術 GOMS模型及GOMS擊鍵層模型 Hick律 Fitts律 ? 11.2.2 界面設計方法 原型設計方法 以用戶為中心的設計方法 用戶界面設計的支持工具 11.3界面設計評估 ? 11.3.1 構(gòu)造性評估與總結(jié)性評估 構(gòu)造性評估:在設計過程中對所設計的系統(tǒng)或產(chǎn)品界面進行評估以確保其滿足用戶需求。 總結(jié)性評估:對已經(jīng)完成的產(chǎn)品或系統(tǒng)界面進行評估。 ? 11.3.2 評估范型 快速評估 可用性測試 實地研究 預測性評估 ? 11.3.3 評估方法與技術 觀察用戶 征求用戶意見 征求專家意見 用戶測試 用戶執(zhí)行情況的分析模型 ? 11.3.4 評估框架 明確(Determine) ? ? ? ? ? ? ? ? ? 發(fā)掘(Explore)選擇(Choose)標識(Identify)決定(Decide)評估(Evalute) 11.5小節(jié) 用戶界面體現(xiàn)了用戶利用系統(tǒng)完成任務的方式以及系統(tǒng)對用戶行為的響應方式,一個沒有良好的用戶界面設計的系統(tǒng)很可能會成為一個沒有用戶的系統(tǒng)。可用性目標與用戶體驗目標。 界面設計的量化模型:GOMS模型及其子模型-擊鍵層模型,Hick律和Fitts律。構(gòu)造性評估與總結(jié)性評估。 第12章 系統(tǒng)設計文檔 12.1系統(tǒng)/子系統(tǒng)(結(jié)構(gòu))設計說明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 引言 引用文件 系統(tǒng)級設計決策 系統(tǒng)體系結(jié)構(gòu)設計:總體設計;系統(tǒng)部件設計;動態(tài)交互設計;接口設計 運行設計 系統(tǒng)出錯處理設計 系統(tǒng)維護設計 尚未解決的問題 需求的可追蹤性 注解 附錄 12.2 接口設計說明 引言 引用文件 接口設計 需求的可追蹤性 注解 附錄 12.3 軟件(結(jié)構(gòu))設計說明 引言 引用文件 軟件級設計決策 軟件體系結(jié)構(gòu)設計:程序結(jié)構(gòu)設計;全局數(shù)據(jù)結(jié)構(gòu)設計;軟件配置項設計;動態(tài)交互設計;接口設計 軟件詳細設計 需求的可追蹤性 注解 附錄 12.4數(shù)據(jù)庫設計說明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 引言 引用文件 數(shù)據(jù)庫級設計決策 數(shù)據(jù)庫詳細設計 用于數(shù)據(jù)庫操縱或訪問的軟件配置項的詳細設計 需求的可追蹤性 注解 附錄 12.5 小節(jié) 根據(jù)《GB/T 8567-2006 計算機軟件文檔編制規(guī)范》,系統(tǒng)設計文檔主要包括系統(tǒng)/子系統(tǒng)設計(結(jié)構(gòu)設計)說明(SSDD)、接口設計說明(IDD)、軟件(結(jié)構(gòu))設計說明(SDD)和數(shù)據(jù)庫設計說明(DBDD)。 系統(tǒng)/子系統(tǒng)設計(結(jié)構(gòu)設計)說明(SSDD)描述了系統(tǒng)(或子系統(tǒng))的系統(tǒng)級(或子系統(tǒng)級)設計決策與體系結(jié)構(gòu)設計。 接口設計說明(IDD)描述了一個或多個系統(tǒng)、子系統(tǒng)、硬件配置項(HWCI)、計算機軟件配置項(CSCI)、用戶或其他系統(tǒng)部件的接口特性。 軟件(結(jié)構(gòu))設計說明(SDD)描述了計算機軟件系統(tǒng)的軟件級設計決策、軟件體系結(jié)構(gòu)設計(概要設計)與詳細設計。 數(shù)據(jù)庫(頂層)設計說明(DBDD)描述了數(shù)據(jù)庫的設計。系統(tǒng)設計文檔可以使用自然語言,可以使用形式化語言,也可以根據(jù)具體的系統(tǒng)設計方法使用各種圖形工具,還可以根據(jù)實際情況混合使用多種表現(xiàn)形式。第五篇:軟件系統(tǒng)分析與設計