System.out.print(i[x] + “、”);
} } } 對照范例寫出如下題目:
(1).創建GrandFather類,其中包括
a)屬性:姓名(name),年齡(age)
b)方法getGrandFather():顯示爺爺的信息
c)構造方法:給爺爺的姓名,年齡賦值(2).創建Father類,繼承Grandfather類 a)屬性:除了繼承爺爺的屬性以外,還要增加自己的屬性:“職業”(occupation)b)構造方法:顯式調用父類的構造方法,為Father類的姓名和年齡賦初始值。再為職業輸入初始值。
c)方法getFather(): 顯示父親的相關信息
(3).創建ClassMain()類,定義main()方法,構造GrandFather類的對象和Father類的對象,并分別顯示詳細信息。
3、面向對象多態性
范例:計算柱體的體積。柱體體積計算公式是:底部面積乘以高度 柱體底部分為 圓形和矩形 要求:通過抽象類和多態實現 package cn.jit.demo;abstract class Bottom { //父類抽象類 底部
public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圓形底
/** * 半徑
*/ private double radius;
@Override public double calculatorArea(){
return Math.PI * radius * radius;} public double getRadius(){
金陵科技學院實驗報告
return radius;} public void setRadius(double radius){
this.radius = radius;} public CircleBottom(double radius){
super();
this.radius = radius;} } class SquareBottom extends Bottom{ //矩形底
private double sideA;
private double sideB;public double getSideA(){
return sideA;} public void setSideA(double sideA){
this.sideA = sideA;} public double getSideB(){
return sideB;} public void setSideB(double sideB){
this.sideB = sideB;} @Override public double calculatorArea(){
return sideA * sideB;} public SquareBottom(double sideA, double sideB){
super();
this.sideA = sideA;
this.sideB = sideB;} } class ZhuTi { //柱體類,完成形狀的拼裝
/** * 底
*/ private Bottom bottom;/** * 高
*/
金陵科技學院實驗報告
private double height;/** * 計算體積
* @return */ public double calculatorVolumn(){
return bottom.calculatorArea()* height;} public ZhuTi(Bottom bottom, double height){
super();
this.bottom = bottom;
this.height = height;} public Bottom getBottom(){
return bottom;} public void setBottom(Bottom bottom){
this.bottom = bottom;} public double getHeight(){
return height;} public void setHeight(double height){
this.height = height;} public void changeBottom(Bottom bottom){
this.bottom = bottom;} } public class VolumnTest { //測試類
public static void main(String[] args){
Bottom bottom = new CircleBottom(1.0);
double height = 1.0;
ZhuTi zhuTi = new ZhuTi(bottom,height);
double result = zhuTi.calculatorVolumn();
System.out.println(“圓柱體的體積是:” + result);
bottom = new SquareBottom(1.0,1.0);
zhuTi.changeBottom(bottom);
result = zhuTi.calculatorVolumn();
System.out.println(“立方體的體積是:” + result);} } 范例:接口和多態的應用,例如:電腦上實現了USB接口,U盤,打印機等等也都實現了此標準。
金陵科技學院實驗報告
interface USB{ public void start();// 開始工作
public void stop();// 結束工作 } class Computer{ public static void plugin(USB usb){
usb.start();
usb.stop();} };class Flash implements USB{ public void start(){
System.out.println(“U盤開始工作。”);} public void stop(){
System.out.println(“U盤停止工作。”);} };class Print implements USB{ public void start(){
System.out.println(“打印機開始工作。”);} public void stop(){
System.out.println(“打印機停止工作。”);} };public class InterPolDemo02{ public static void main(String args[]){
Computer.plugin(new Flash());
Computer.plugin(new Print());} };對照范例,寫出以下程序:(1)樂器(Instrument)的標準為彈奏(play),而樂器類型分為:鋼琴(Piano)和小提琴(Violin),各種樂器的彈奏方法各不同。編寫代碼實現不同樂器的彈奏。(2)計算機模擬
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
金陵科技學院實驗報告
實驗項目名稱: 類集
實驗學時: 4 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學院實驗報告
實驗2 類集
一、實驗目的和要求(1)理解類集概念
(2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList類、HashSet類和TreeSet類(4)理解TreeMap、HashMap
二、實驗儀器和設備
奔騰以上個人計算機,windows操作系統。
配置好JDK環境,安裝集成開發環境(Eclipse)
三、實驗內容與過程
1、類集應用
范例:實現一個超市管理系統,要求可以添加貨物,刪除貨物和查詢貨物:
。代碼如下:
public interface Goods { public String getName();// 得到商品名稱
public int getCount();// 得到商品數量
public float getPrice();// 得到商品價格 }
public class Book implements Goods {
private String name;private int count;private float price;
public Book(){ }
public Book(String name, int count, float price){
this.name = name;
this.count = count;
this.price = price;}
public String getName(){
return name;}
public void setName(String name){
this.name = name;
金陵科技學院實驗報告
}
public int getCount(){
return count;}
public void setCount(int count){
this.count = count;}
public float getPrice(){
return price;}
public void setPrice(float price){
this.price = price;}
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(!(obj instanceof Book)){
return false;
}
Book b =(Book)obj;
if(b.name.equals(this.name)&& b.count == this.count
&& b.price == this.price){
return true;
} else {
return false;
} }
public int hashCode(){
return this.name.hashCode()+ new Integer(this.count).hashCode()
+ new Float(this.price).hashCode();}
public String toString(){
return “書名:” + this.name + “;書的價格:” + this.price + “;書的數量:”
+ this.count;}
金陵科技學院實驗報告
}
import java.util.ArrayList;import java.util.Iterator;import java.util.List;
public class SuperMarket { private List allGoods;
public SuperMarket(){
this.allGoods = new ArrayList();}
public void add(Goods goods){
this.allGoods.add(goods);}
public void remove(Goods goods){
this.allGoods.remove(goods);}
public List search(String keyWord){
List temp = new ArrayList();
Iterator iter = this.allGoods.iterator();
while(iter.hasNext()){
Goods g = iter.next();
if(g.getName().indexOf(keyWord)!=-1){
temp.add(g);
}
}
return temp;}
public List getAllGoods(){
return this.allGoods;} }
import java.util.Iterator;import java.util.List;
public class Test {
金陵科技學院實驗報告
public static void main(String[] args){
SuperMarket mak = new SuperMarket();
mak.add(new Book(“Java”, 2, 30.9f));
mak.add(new Book(“C++”, 3, 10.9f));
mak.add(new Book(“JSP”, 5, 80.9f));
print(mak.search(“J”));
mak.remove(new Book(“Java”, 2, 30.9f));
print(mak.search(“J”));}
public static void print(List all){
Iterator iter = all.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
} } } 對照范例寫出如下題目:
(1)寵物商店,要求可以添加、刪除和查找寵物(2)實現以下兩個關系
A、一個學校可以有多個學生,所有學生屬于一個學校
B、一門課程可以有多個學生選,一個學生可以選多門課程
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
金陵科技學院實驗報告
實驗項目名稱: Java IO操作
實驗學時: 6 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學院實驗報告
實驗3 Java IO操作
一、實驗目的和要求
(1)理解輸入輸出流概念(2)掌握文件輸入輸出流
(3)掌握鍵盤的輸入、顯示器的輸出(4)理解其他輸入輸出流
二、實驗儀器和設備
奔騰以上個人計算機,windows操作系統。
配置好JDK環境,安裝集成開發環境(Eclipse)
三、實驗內容與過程
1、編寫類模擬命令Copy
范例:實現文件的復制代碼。參考代碼如下:
File file1 = new File(“d:”+File.seperator +”demo.txt”);
// 找到第一個文件的File對象
File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目標文件路徑 InputStream input = new FileInputStream(file1);// 輸入流 OutputStream output = new FileOutputStream(file2);// 輸出流 int temp = 0;// 定義一個整數表示接收的內容
while((temp = input.read())!=-1){ // 表示還有內容可以繼續讀
output.write(temp);// 寫入數據 } input.close();// 關閉 output.close();// 關閉
2、通過鍵盤的輸入,實現簡單的選項操作。
*********XXXX管理系統***********
[1]添加
[2]刪除
[3]修改
[4]查詢
[5]退出
3、編寫一個簡單管理系統,實現真實的操作。
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
金陵科技學院實驗報告
實驗項目名稱: JDBC
實驗學時: 6 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學院實驗報告
實驗4 JDBC
一、實驗目的和要求(1)理解JDBC分類
(2)掌握JDBC數據庫連接步驟
(3)掌握JDBC連接MySQL數據庫代碼(4)理解JDBC連接其他數據庫方式
二、實驗儀器和設備
奔騰以上個人計算機,windows操作系統。
配置好JDK環境,安裝集成開發環境(Eclipse)
三、實驗內容與過程
1、安裝MySQL數據庫,配置好數據庫
創建一個數據庫表,按要求給出詳細的字段設計
pid name age birthday salary
主要操作:
2、創建Eclipse項目,配置驅動包
每個數據庫廠商都會提供對Java開發技術的支持,即都會提供對應的Java驅動,也就是一個jar包
主要操作:
3、項目中建立一個詳細例子,按照要求連接、操作、關閉數據庫
按照標準的步驟完成對MySQL數據庫的操作
主要代碼:(添加、修改、刪除和查詢)
金陵科技學院實驗報告
4、試著連接其他類型數據庫。
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
《UML程序設計》
實驗指導教程
適合專業:計算機類專業
浙江樹人大學信息科技學院 2016.02
課程與實驗綜述
第一部分實驗綜述
一.課程簡介及實踐要求:
《UML程序設計》是以介紹面向對象的統一建模語言UML為主,使學生了解面向對象技術的基本概念,掌握UML的分析和設計方法,同時掌握在Enterprise Architect環境下用UML進行分析和設計的技術。本課程在教學內容方面著重基本理論、基本知識和基本方法,在培養實踐能力方面著重設計構思和設計技能的基本訓練,熟練的上機操作能力和分析能力。
實驗實踐訓練是UML程序設計教學的重要技能環節。通過實驗,使學生加深理解、驗證、鞏固課堂教學內容,特別是通過設計和綜合實驗,發揮學生的想象力和創新能力。二.課程實驗目的要求:
通過UML的實驗,學生應該: 1.學會用UML進行面向對象的思想去分析和設計相關系統;2.學會用Rose建模工具進行軟件建模。三.課程實驗參考資料
1.(美)Joseph Schmuller著.UML基礎、案例與應用.人民郵電出版社,2004 2.(美)Hans-Erik Eriksson.UML 2工具箱.電子工業出版社,2004 3.吳際,金茂忠.UML面向對象分析.北京航空航天大學出版社,2002 4.趙從軍.UML設計及應用.機械工業出版社,2004 5.Grady Booch,James Rumbaugh,Ivar Jacobson.UML用戶指南.機械工業出版社,2001 6.吳建,鄭潮,汪杰.UML基礎與Rose建模案例.人民郵電出版社,2004 第二部分 實驗實踐指導
實驗一
構建用例圖
一、實驗目的
1.學會分析系統中的參與者和用例 2.掌握用例圖的繪制方法
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
1、分析ATM系統需求,按要求畫出用例圖;
2、建立一個學生管理信息系統的需求
3、建立設計一個學生管理信息系統的完整的用例圖
四、實驗步驟
(一)ATM系統的用例圖
1.分析
ATM自動取款機:客戶可以取錢,存錢,查詢余額,轉帳,修改密碼。通過分析可找出如下幾個參與者:(1)ATM(2)客戶
通過分析得到如下用例:
(1)存款
(2)取款(3)查詢余額
(4)轉帳(5)修改密碼
(6)打印收據
2.繪圖步驟:
下面介紹在Enterprise Architect中創建用例圖的過程:
Enterprise Architect主界面如下圖所示:
1、建立項目:
如下圖在文件菜單選擇新建項目:
如下圖
選擇文件夾,輸入項目名:
如圖,選擇所需要的選項:
2、建立用例圖
在合適的文件平夾下,右鍵
在UML Behavioral 下選擇Use Case,圖名處輸入用例名如ATM 如下圖,比雙擊ATM
在編輯界面下右鍵,如下圖
3、添加用例
選擇Use Case 依次添加存款、取款、查詢余額、轉帳、修改密碼、打印收據,如圖1.4所示。
4、添加Actor 在編輯界面下右鍵,選擇Actor,5、添加邊界(ATM取款系統)
如下圖
6、添加參與者和用例間的關聯關系,右鍵客戶,如上圖,選擇小箭頭,添加關聯,同理添加ATM的關聯
添加Common中的Note,內容為***制,如上圖
7、保存圖
完成用例圖后,保存該圖。
8、選擇所有的內容,拷貝,粘貼到實驗報告中,如下圖
uc ATMATM取款系統存款金智勇制取款查詢余額客戶ATM修改密碼打印收據轉帳
(二)建立設計一個學生管理信息系統的需求分析與完整的用例圖
(1)學生管理信息系統簡介
學生管理信息系統主要為學校的學生處設計:方便學校學生處與學院學生口管理員方便管理學生,學生成績由教務系統提供,教務系統提供相關的WEB service供學生管理信息系統調用。
? 通過分析可找出如下幾個參與者:
學生處管理員、學校領導(學校各種報表統計信息)、學院管理員、班主任(提供學生操行、查詢等)、學院領導(學院各種報表統計信息)、學生、后勤管理人員(衛生管理、保衛處異常情況處理)、財務人員、考勤管理員(由副班長提供考勤信息)等
? 通過分析得到如下一些大的用例:
學生基本信息管理、考勤管理、成績導入、學校各種報表信息(要求細化)、學院各種報表信息(要求細化)、個人成才規劃、新學期注冊,操行評定、學生任職信息系統、學生獎懲管理系統(要求細化,包括評優評獎等)、學生變動信息管理(培訓內容、助學貸款情況、學校還款情況、勤工助學情況,黨員管理),后勤衛生管理、保衛處的學生的異常情況處理、其它的具體由學生自己定。
2.建立設計一個學生管理信息系統的需求分析
分析學生管理信息系統,建立系統需求分析,并要求畫出系統功能框圖,如學生管理信息系統的功能模塊圖如下
系統模塊圖如后勤衛生查詢功能子系統模塊圖如下。
要求分析其它的子系統模塊
3.建立一個學生管理信息系統的完整的用例圖
完整的要求,就為每一類用戶分配一個用例模型,如一般學生查詢功能用例
要求分析其它參與者的用例模型
(4)建立用例的文字描述(要求學生寫出兩個)
1.“基本信息查詢”用例 用例編號:04010101(共有4層用例圖結構,每層用2位數字表示,采用8位編號。)用例名:
基本信息查詢
執行者: 學生自己、學生的班主任、輔導員及其它的特權用戶。目的: 查詢學生的基本信息,包括姓名、學號、家庭地址等信息。類
型: 端點、基本的 級
別: 二級 ? 過程描述:
(三)上傳ATM系統的用例圖與學生管理信息系統的完整的用例圖
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
實驗二
構建類圖
一、實驗目的
1.理解類的基本概念 2.理解類間的關系
3.掌握類圖的繪制方法
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
(1)分析學生管理系統中的選課子系統中類及關系,然后畫出它們的類圖。(2)分析學生管理系統的其它子系統,并畫出詳細的系統類圖
四、實驗步驟
(一).選課子系統
1、選課子系統分析
? 分析學生管理系統中的選課子系統,通過分析可抽象出如下幾個類:
(1)學生類(student)(2)選課類(SelectCource)(3)課程類(Cource)
? 學生類、選課類和課程類屬性和方法
課程類的屬性和方法:
屬性包括
(1)課程名稱(CourceName)(2)開課教室(Room)(3)課程號(CourceID)(4)授課教師(Teacher)(5)學年(academic year)(6)學期(Term)(7)允許選課的學生人數(SelectNoUp)方法包括
(1)設置課程號(SetCourceID)(2)設置課程名稱(SetCourceName)(3)查詢課程號(SeekCourceID)(4)查詢允許選課的學生人數(SeekSelectNoUp)
選課類的屬性和方法:
屬性包括
(1)ID號(ID)(2)課程號(CourceID)(3)學號(SNo)(4)成績(score)方法包括
1)選課(SelectCoure)2)退選(CancelSelected)3)查詢選課情況(SeekSelected)
2.繪圖步驟:
下面介紹在Enterprise Architect中創建類和它們之間關系的過程:
(1)在上圖的合適文件夾下選擇添加類圖,類圖名為選課系統類,如下圖。
(2)在選課系統類圖中,從工具欄中新建元素,選擇Class并取名Student表明新增一個類,,同理添加選課類(SelectCource),課程類(Cource),如下圖
(2)右鍵Studen,選擇功能與屬性---屬性,如下圖
(7)同樣的方法添加Course類與SelectCource類,(8)創建兩個類之間的關系,通過分析得出:Course類與SelectCource類之間為單向關聯。選擇圖標欄的“關聯”,由Course類指向electCource類。如圖所示。
(10)分別在Course類與SelectCource類選項卡中鍵入名稱和多重性,圖2.10(11)重復(2)-(10)中的步驟完成選課系統整個類圖的創建。(12)如圖2.11轉換生成代碼,查看所生成的三個的代碼。
選擇對應的類的文件名,生成代碼
查看代碼
(二)分析學生管理系統的其它子系統,并畫出詳細的系統類圖
一般情況一個子系統至少有一個類,要求建立系統的詳細類圖,并建立類間的關聯
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
實驗三
構建活動圖
一、實驗目的
1. 熟悉活動圖的基本功能和使用方法。
2. 掌握如何使用建模工具繪制活動圖方法。
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
(1)分析圖書管理系統中管理員的活動狀態,畫出管理員的活動圖。(2)分析學生管理系統,并畫出詳細的活動圖,并用活動圖細化用例圖
四、實驗步驟
(一)圖書管理系統活動圖
1.分析
? 在圖書管理系統中管理員的活動如下:
(1)處理還書(2)處理借書(3)處理罰款 ? 讀者的活動如下:
(1)登錄(2)找書(3)預約(4)瀏覽
2.繪圖步驟:
下面介紹在Enterprise Architect中活動圖的過程:(1)在的合適文件夾下選擇添加活動圖(Activity),如下圖,在圖名中輸入在圖書管理系統管理員活動圖如下圖所示
(2)添加活動及其它元素,如下圖
圖 3.1
(2)繪制圖書管理員的活動圖,如圖3.2所示:
圖3.2
(3)創建讀者的活動圖如圖3.3所示:
圖3.3
(二)分析學生管理系統,并畫出詳細的活動圖,并用活動圖細化用例圖
(1)學生基本信息保存的活動圖
錄入基本信息、點擊保存、鏈接數據庫、判定學號是否已存在、判定錄入信息是否符合規范(日期信息、身份證號、郵編等信息)-保存。(2)學生基本信息查詢的活動圖
鏈接數據庫、查詢基本信息表、倒出數據內容、填入各字段信息到信息輸出框、根據學院代號查詢學院名稱、寫入學院信息到列表框、定位學院信列表框、根據班級代號查詢班級名稱、寫入班級信息、寫入班級信息到列表框、定位班級信列表框、。(3)至少分析建立其它3個活動圖
(4)根據活動圖重新分析用例圖并細化用例圖,審核類圖
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
實驗四
構建順序圖
一、實驗目的
學會用順序圖實現用例
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
(1)分析系統需求,畫出ATM取款的順序圖(2)分析學生管理系統,并畫出詳細的順序圖
四、實驗步驟(一)ATM取款的場景
1、ATM取款的場景分析:
(1)通過讀卡機,用戶插入ATM卡;
(2)ATM系統從卡上讀取銀行ID、帳號、加密密碼、并用主銀行系統驗證銀行ID和帳號;
(3)用戶輸入密碼,ATM系統根據上面讀出的卡上加密密碼,對密碼進行驗證;(4)用戶輸入取款數量;
(5)ATM系統通知主銀行系統,傳遞儲戶帳號和取款數量,并接收返回的確認信息;
(6)ATM系統輸出先進、ATM卡和顯示帳戶余額的收據;(7)ATM系統記錄事務到日志文件。尋找場景中的對象:ATM、客戶和帳戶。
2、繪圖步驟:
下面介紹在Enterprise Architect中創建順序圖的過程:
(1)在的合適文件夾下選擇添加活動圖(Activity),如下圖,21
在工具菜單中選擇選項如下圖
選擇圖—順序,如下圖,選擇“顯示順序編號”
(2)在順序圖前,為保證對象的可行性,可先在類圖中創建Customer、ATM、和Account類。也可新建元素LifeLine。如下圖,分別創建Customer、ATM、和Account.(4)根據ATM取款的場景,獲得第一條消息為“客戶向ATM機提交取款需求”,向圖中添加消息。
在圖中,點擊Customer,選擇小箭頭,指向ATM,在消息特征編輯窗口中,輸入Request。
圖4.4
(5)同樣的方法添加其它消息,如圖4.5所示。
圖4.5
(二)分析學生管理系統,并畫出詳細的順序圖
(1)如學生獎學金評定的順序圖:倒入成績、操行評定、計算綜合評分、獎學金評定(2)用戶登入的順序圖:
(3)新學期注冊順序圖:學生交費--向學院報到--判斷是否交費--(是否申請助學金、是否申請緩交)--注冊(4)建立黨員管理順序圖
(5)建立其它的一個以上順序圖
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
實驗五
構建協作圖
一、實驗目的
1.學會協作圖的繪制方法
2.掌握順序圖和協作圖的相互轉換。
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
(1)分析系統需求,畫出ATM取款的協作圖。
(2)分析學生管理系統,并畫出詳細的順序圖
四、實驗步驟
(一).ATM取款的場景
1、ATM取款的場景分析:
(1)通過讀卡機,用戶插入ATM卡;
(2)ATM系統從卡上讀取銀行ID、帳號、加密密碼、并用主銀行系統驗證銀行ID和帳號;(3)用戶輸入密碼,ATM系統根據上面讀出的卡上加密密碼,對密碼進行驗證;(4)用戶輸入取款數量;
(5)ATM系統通知主銀行系統,傳遞儲戶帳號和取款數量,并接收返回的確認信息;(6)ATM系統輸出先進、ATM卡和顯示帳戶余額的收據;(7)ATM系統記錄事務到日志文件。尋找場景中的對象:ATM、客戶和帳戶。
2、繪圖步驟:
下面介紹在Enterprise Architect中創建協作圖的過程:
(1)在“Logical View”中新建“Collaboration Diagram“,雙擊圖標,出現圖5.1,為編輯順序圖做好準備。
圖5.1
(2)創建類節點
創建四個類節點分別為ATM,Branch,Consortium,User。
分別選擇其中的三個類節點ATM,Branch,Consortium 把它們拖動到CollaborationDiagram圖中,如圖5.2所示。
圖
4.2
選擇標記為 User 的類節點。將選定的類拖放到CollaborationDiagram圖編輯器中,使其位于 ATM 生命線元素的上方,如圖5.3所示。
圖5.3
(3)添加連接器鏈接(Object Link)
協作圖中的每個元素均可通過連接器鏈接與其他元素建立連接。您可以標識這些鏈
接,并在其中添加消息流。
從建模組件面板的“基本”類別中,選擇 “ Object Link ” 圖標。單擊標記為 User 的生命線元素,然后單擊 ATM。將在兩個元素之間繪制一條連接器鏈接。使用相同的步驟繪制以下鏈接:
從 ATM 至 Consortium 的鏈接
從 Consortium 至 Branch 的鏈接
從 ATM 至 Branch 的鏈接
注意:在創建從 ATM 至 Branch 的鏈接時,請從 ATM 生命線的右側水平繪制一條鏈接,并在到達 Branch 生命線的正上方時單擊鼠標左鍵。這樣便會在鏈接線上出現一個頂點,然后在頂點到 Branch 生命線之間垂直繪制一條鏈接。
此時,該圖應當圖5.4類似。
圖5.4
在圖編輯器中的任意位置單擊鼠標右鍵,選擇 “Edit” 的“delete from mode”菜單,可刪除模型,如圖5.5所示。
圖5.5
(4)顯示操作流
操作流將在圖中顯示為與鏈接平行的帶標記箭頭。此鏈接用于向目標元素傳輸消息或實現這種傳輸。在圖編輯器中,選擇 User 和 ATM 之間的連接器鏈接。右鍵單擊距 ATM 生命線最近的連接器鏈接部分。如圖4.6所示,從彈出式菜單中選擇“Open Specification”,彈出”Link Specification For Untile”對話框,在對話框中按右鍵,從彈出式菜單中選擇“Insert To: ATM”,在Message Name中輸入public void GetCashOnHand(), 如圖5.6所示。
圖5.6
在 ATM 和Consortium 之間的連接器鏈接上,右鍵單擊靠近Consortium生命線的鏈接部分。
添加消息 “ public void validateAccountInfo()”。Rose顯示 2: public void validateAccountInfo()。
在 ATM 和 Branch 之間的連接器鏈接上,右鍵單擊靠近Branch 生命線的鏈接部分。
添加消息 “public char getConnected”。Rose顯示3: public char getConnected()。
右鍵單擊 Consortium 和 Branch 之間靠近Branch 生命線元素的連接器鏈接。添加消息 “public void verifyCardWithBank(int stringCardSTrip)”。Rose顯示 4: public void verifyCardWithBank(int stringCardSTrip)。
完成的協作圖應當與圖5.7類似。
圖5.7
(5)模型檢查并保存
使用Tools工具的”Check Model”,進行模型檢查,查看是否有錯。
如無誤則在完成協作圖后,您可以保存該圖。在圖編輯器中,從菜單中選擇“保存”。
(二)分析學生管理系統,并畫出詳細的協作圖
(1)如學生獎學金評定的協作圖:倒入成績、操行評定、計算綜合評分、獎學金評定(2)助學貸款申請協作圖:學生申請—班主任批準—學院批準-學校領導批準(3)助學勤工儉學申請協作圖:(4)建立其它的一個以上協作圖
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
實驗六
構建狀態圖
一、實驗目的
1. 熟悉狀態圖的基本功能和使用方法。2. 掌握如何使用建模工具繪制狀態圖方法。
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
(1)分析圖書管理系統中的書和借書證的狀態,畫出它們的狀態圖;
(2)分析學生管理系統,并畫出詳細的順序圖
四、實驗步驟
(一)圖書管理系統
1、分析
? 在圖書管理系統中,分析書的狀態如下:
(1)可借(2)被借(3)被預約(4)刪除
? 借書證的狀態如下:
(1)可用(2)不可用(3)刪除
2、繪圖步驟:
下面介紹在Rose2003中創建類和它們之間關系的過程:
(1)在“Logical View“中的“StateChart Diagram”菜單,雙擊圖標,出現圖6.1,為編輯狀態圖做好準備。
圖6.1(2)在工具欄中選擇“Start State”圖標添加到編輯窗口中,如圖6.2所示。
圖6.2(3)在工具欄中選擇“State”圖標,添加一個元素,命名為“New book”,如圖6.3所示。
圖6.3(4)同樣的方法添加其它狀態,如圖6.4所示。
圖6.4 5)書的各個狀態之間添加轉移及相應的事件,如圖6.5所示。
32(圖6.5(6)同樣的方法得借書證的狀態圖,如圖6.6所示。
圖6.6
(二)分析學生管理系統,并畫出詳細的狀態圖
(1)建立學生交款狀態圖:已交、未交、緩交、部分申請助學貸款(2)建立學生懲罰(記過以上)狀態圖:
(3)建立學生黨員申請狀態圖:(4)建立其它的一個以上狀態圖
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
實驗七
構建組件圖和配置圖
一、實驗目的
1.掌握UML中組件圖和配置圖的建立方法;
2.掌握使用Enterprise Architect繪制組件圖和配置圖;
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
(1)分析學校網上選課系統的組件圖,畫出系統組件圖。(2)分析學校網上選課系統的配置圖,畫出系統配置圖。(3)分析學生管理系統,并畫出詳細的組件圖與配置圖
四、實驗步驟
(一)網上選課系統
1.分析
設計學校網上選課系統的組件圖和配置圖,需求如下: 某學校的網上選課系統主要包括如下功能:
管理員通過系統管理界面進入,建立本學期要開的課程、將課程信息保存在數據庫中并可以對課程進行改動和刪除。
學生通過客戶機瀏覽器根據學號和密碼進入選課界面,在這里學生可以進行三種操作:查詢已選課程、選課以及付費。
對于以上操作,可通過業務層,并將這些操作結果存入數據庫中。
2.繪圖步驟:
(1)繪制組件圖的步驟如下:
? 確定組件;(系統管理系統, 課程管理系統,選課系統,查詢系統,人員信息管理,注冊系統,業務操作,備份系統,付費系統)? 給組件加上必要的構造型; ? 確定組件的聯系; ? 繪制組件圖。
下面介紹在Rose2003中創建組件圖的過程:
(a)在“Component View“中的 “New”的 “Component Diagram”中,出現圖7.1,為編輯組件圖做好準備,35
圖7.1(b)創建組件圖(根據要求創建)。
(2)繪制配置圖的步驟如下: ? 確定節點;(數據庫服務器,應用服務器,打印機,客戶端(n個,連接為局域網))
? 加上構造型;
? 確定節點的聯系; ? 繪制配置圖。
下面介紹在Rose2003中創建配置圖的過程:
(a)在“Deployment View“中,出現圖7.2,為編輯配置圖做好準備,圖7.2
圖7.3 系統配置圖
(二)分析學生管理系統,并畫出詳細的組件圖與配置圖
(1)系統組件圖 ? 分析系統接口
如建立查詢一個學生基本信息的接口,返回一個學生基本信息的類(類中有姓名、學號等屬性)
? 搜索系統用戶界面
搜索系統用戶界面,作為系統一種特殊的接口,用戶與系統的接口,建立單獨的包Web InterFace保存用戶界面,如學生基本信息操作的用戶界面定義如下(從View繼承過來的一個類,這里只考慮界面,類只考慮程序,可有部分重復):
為用戶界面考慮接口,并關聯不同的類
(2)系統配置圖
假設有以下的子系統:學生管理系統用到財務子系統、成績管理子系統,并各自有數據庫。
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
實驗八
Enterprise Architect逆向工程
一、實驗目的
1.掌握Enterprise Architect中逆向工程的建立方法; 2.掌握根據逆向工程畫出類圖;
二、實驗器材
1.計算機一臺;
2.Enterprise Architect 工具軟件;
三、實驗內容
(1)分析Java程序,實現EA逆向工程。(2)根據逆向工程所得類,畫出對應類圖。
四、實驗步驟
1.分析
Enterprise Architect功能十分強大,從項目需求分析、開發、測試,整個項目過程都可使用Enterprise Architect,特別是在做需求分析與項目系統架構時建模的能力巨強。但是每個人不是在項目一開始就能參與到初期當中來的,有時候整個項目一期完工了,進行二期開發時,這個時候參與進項目,為了能夠快速了解整個項目的框架,使用Enterprise Architect的逆向工程的功能極為有用。
2.繪圖步驟:
(1)分析J2EE源代碼,了解其結構
(2)新建一個Enterprise Architect工程,選擇合適的文件夾,如下圖選擇包---代碼工程—導入---源程序目錄
選擇根包,原類型為Java
點擊確定即在對應的包下生成三個類Env,EnvList和ListS,新建視圖,添加Env,EnvList和ListS到視圖中,具體如圖所示:
圖8.3
五、實驗報告要求
1. 整理實驗結果。
2. 小結實驗心得體會。
學 生 實 驗 報 告 冊
課程名稱:
學生學號:
所屬院部:
(理工類)
專業班級:
學生姓名:
指導教師: ——20 學年 第 學期
金陵科技學院教務處制
實驗報告書寫要求
實驗報告原則上要求學生手寫,要求書寫工整。若因課程特點需打印的,標題采用四號黑體,正文采用小四號宋體,單倍行距。紙張一律采用A4的紙張。
實驗報告書寫說明
實驗報告中實驗目的和要求、實驗儀器和設備、實驗內容與過程、實驗結果與分析這四項內容為必需項。教師可根據學科特點和實驗具體要求增加項目。
填寫注意事項
(1)細致觀察,及時、準確、如實記錄。(2)準確說明,層次清晰。
(3)盡量采用專用術語來說明事物。
(4)外文、符號、公式要準確,應使用統一規定的名詞和符號。(5)應獨立完成實驗報告的書寫,嚴禁抄襲、復印,一經發現,以零分論處。
實驗報告批改說明
實驗報告的批改要及時、認真、仔細,一律用紅色筆批改。實驗報告的批改成績采用五級記分制或百分制,按《金陵科技學院課堂教學實施細則》中作業批閱成績評定要求執行。
實驗報告裝訂要求
實驗批改完畢后,任課老師將每門課程的每個實驗項目的實驗報告以自然班為單位、按學號升序排列,裝訂成冊,并附上一份該門課程的實驗大綱。
金陵科技學院實驗報告
實驗項目名稱: 面向對象編程實驗 實驗學時: 8 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學院實驗報告
實驗1 面向對象編程實驗
一、實驗目的和要求
(1)理解Java概念、掌握JDK環境配置(2)熟悉Java開發過程
(3)掌握Java面向對象編程基礎:封裝、繼承、多態(4)掌握Java接口編程,理解開發模式
二、實驗儀器和設備
奔騰以上個人計算機,windows操作系統。
配置好JDK環境,安裝集成開發環境(Eclipse)
三、實驗內容與過程
1、JDK環境配置
2、面向對象的封裝性
范例:設計一個表示學生的類,里面有學生的三項成績:計算機成績、數學成績、英語成績。要求可以求總分、平均分、最高分、最低分,并且可以輸出一個學生的完整信息。代碼如下: class Student{ private String name;private int age;private float english;private float computer;private float math;public Student(){} public Student(String n,int a,float e,float c,float m){
this.setName(n);
this.setAge(a);
this.setEnglish(e);
this.setComputer(c);
this.setMath(m);} public float sum(){
return english + computer + math;} public float avg(){
return this.sum()/ 3;} public float max(){
float max = computer>math?computer:math;
max = max>english?max:english;
return max;} public float min(){
float min = computer