軟件設(shè)計(jì)模式之抽象工廠.doc_第1頁(yè)
軟件設(shè)計(jì)模式之抽象工廠.doc_第2頁(yè)
軟件設(shè)計(jì)模式之抽象工廠.doc_第3頁(yè)
軟件設(shè)計(jì)模式之抽象工廠.doc_第4頁(yè)
軟件設(shè)計(jì)模式之抽象工廠.doc_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件工程課程設(shè)計(jì)報(bào)告(學(xué)生選課系統(tǒng)) .海南師范大學(xué)軟件設(shè)計(jì)模式課程報(bào)告( 2014 - 2015年度第一學(xué)期) 課程名稱: 軟件設(shè)計(jì)模式 題 目: 門診病歷信息管理系統(tǒng) 院 系: 信息科學(xué)技術(shù)學(xué)院 班 級(jí): 12軟工 任課教師: 石 春 成 員: 宋亮(組長(zhǎng)) 201224070129 吳婕 201224070134 郎雙雙 201224070114 席鵬鵬 201224070137 成 績(jī) 評(píng) 定 分?jǐn)?shù) 一、任務(wù)分配任務(wù)負(fù)責(zé)人完成詳細(xì)內(nèi)容二、 指導(dǎo)教師評(píng)語(yǔ) 目錄一、課程設(shè)計(jì)的目的與要求二、設(shè)計(jì)正文 1.概述 1.1. 課題題目 1.2 系統(tǒng)的主要目標(biāo) 1.3 系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境 2.系統(tǒng)需求分析 2.1. E-R圖2.2. 用例圖 2.3. 類圖3.數(shù)據(jù)庫(kù)設(shè)計(jì) 3.1. 患者信息表 3.2. 醫(yī)生信息表 3.3. 患者病歷信息表 3.4藥物信息表4.系統(tǒng)實(shí)現(xiàn) 4.1. 程序源代碼 4.2. 截圖摘要:本系統(tǒng)實(shí)現(xiàn)門診病歷信息管理系統(tǒng)的基本功能,包括管理員信息管理(修改管理員信息)、患者信息管理(查詢患者信息、添加患者信息)、患者病歷信息管理(登記患者病歷信息、查詢患者病歷信息)、系統(tǒng)設(shè)置等。此外,本系統(tǒng)利用.Net平臺(tái)技術(shù)進(jìn)行開發(fā),實(shí)現(xiàn)門診病歷信息管理系統(tǒng)的動(dòng)態(tài)管理,使得對(duì)信息的管理更加及時(shí)、高效,提高了效率。關(guān)鍵詞:門診病歷信息管理 ASP.NET一、課程設(shè)計(jì)的目的與要求通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問題的能力。具體如下:1. 學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識(shí),包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測(cè)試方面的知識(shí);2. 熟悉自動(dòng)化的軟件開發(fā)工具Rational Rose 2003,并將其運(yùn)用于軟件開發(fā)的全過程;3. 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力;4. 培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。二、設(shè)計(jì)正文1 概述1.1.課題題目:門診病歷信息管理系統(tǒng)1.2.系統(tǒng)的主要目標(biāo):本系統(tǒng)的目標(biāo)是實(shí)現(xiàn)門診病歷信息管理系統(tǒng)所需的各種基本功能,包括管理員信息管理(修改管理員信息)、患者信息管理(查詢患者信息、添加患者信息)、患者病歷信息管理(登記患者病歷信息、查詢患者病歷信息)、系統(tǒng)設(shè)置等功能。1.3. 系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境:操作系統(tǒng): Windows 7建模工具: Rational Rose 2003數(shù)據(jù)庫(kù)系統(tǒng):mySQL開發(fā)工具: Visual Studio 20102 系統(tǒng)需求分析學(xué)生選課系統(tǒng)主要滿足來(lái)自三方面的需求,這三個(gè)方面分別是學(xué)生用戶、教師用戶和管理員用戶,也即是三類用戶角色。(1)醫(yī)生用戶是主要的需求者,主要需求功能是查詢患者信息、登記或查詢患者病歷信息。(2)患者用戶無(wú)主要需求功能。(3)管理員用戶的功能需求較為復(fù)雜,包括對(duì)醫(yī)生信息、患者信息、管理員信息進(jìn)行管理。在醫(yī)生信息管理子模塊中,實(shí)現(xiàn)對(duì)醫(yī)生信息的添加、修改、刪除操作,還可以輸入查詢條件進(jìn)行查詢操作。在患者信息和患者病歷信息管理子模塊中,實(shí)現(xiàn)對(duì)教師信息的添加、修改、刪除、查詢等操作。在管理員信息子模塊中,實(shí)現(xiàn)對(duì)管理員信息的添加,修改、刪除、查看等。本系統(tǒng)將管理員用戶、患者用戶、醫(yī)生用戶的身份及權(quán)限進(jìn)行嚴(yán)格的劃分,讓管理員擁有最高權(quán)限,可以查看、維護(hù)系統(tǒng)中的所有信息,如添加患者信息、添加醫(yī)生信息等;讓醫(yī)生擁有查看患者信息、查看患者病歷信息等的權(quán)限。通過進(jìn)行嚴(yán)格的權(quán)限劃分,可以更好地進(jìn)行管理,也可更好地保護(hù)用戶信息安全。2.1. E-R 圖2.2. 用例圖2.3. 類圖3.數(shù)據(jù)庫(kù)設(shè)計(jì)3.1. 患者信息表:PatientInfo患者編號(hào),PatientNumint身份證號(hào),PatientIDchar姓名,PatientNamechar性別,PatientSexchar出生日期,PatientBirthdate出生地,PatientBirthAddchar現(xiàn)居住地,livingAddchar聯(lián)系電話,phoneNoint備注,noteschar 3.2. 醫(yī)生信息表:doctorInfo醫(yī)生編號(hào),doctorNumint姓名,doctorNamechar職稱,doctorPositionchar性別,doctorSexchar身份證號(hào),doctorIDchar出生日期,doctorBirthdate住址,doctorAddchar科室,F(xiàn)amilyRoomchar聯(lián)系電話,doctorPhoneint就職時(shí)間,inaugurationTimedate 3.3. 患者病歷信息表:PatientRecordInfo患者編號(hào),PatientNumint確診日期,ConfirmeDatedate病癥,symptomschar醫(yī)生編號(hào),doctorNumint備注,Noteschar 3.4. 藥物信息表:DrugInfo藥物編號(hào),DrugNumint藥物名稱,DrugNamechar價(jià)格,priceint規(guī)格(xxx/瓶),specificationschar4.系統(tǒng)實(shí)現(xiàn)本系統(tǒng)采用了三層架構(gòu)來(lái)實(shí)現(xiàn),即分為用戶界面層(VIEW)、業(yè)務(wù)邏輯層(CONTROLLER)和數(shù)據(jù)訪問層(MODE),用戶界面層是展示給用戶的界面,方便用戶與系統(tǒng)進(jìn)行交互;業(yè)務(wù)邏輯層是對(duì)系統(tǒng)業(yè)務(wù)實(shí)體的封裝,完成系統(tǒng)業(yè)務(wù)功能;數(shù)據(jù)訪問層直接與數(shù)據(jù)庫(kù)打交道,為業(yè)務(wù)邏輯層提供底層的數(shù)據(jù)庫(kù)操作。4.1程序源代碼:public interface Users / / 添加信息 / / Boolean addInfo(String str); / / 刪除信息 / / void deletInfo(String str); / / 查詢信息 / / string, queryInfo(String str); / / 修改信息 / / void modifyInfo(String str,Users users); / / - 用戶屬性 - / / / 用戶編號(hào) / int UserNo get; set; / / 用戶姓名 / string UserName get; set; / / 用戶性別 / string UserSex get; set; / / 用戶聯(lián)系電話 / string UserPhone get; set; / / 用戶職稱 / string UserPosition get; set; / / 確認(rèn)用戶密碼 / string UserPwd1 get; set; / / 用戶密碼 / string UserPwd get; set; / / 用戶身份證號(hào) / string UserID get; set; / / 用戶出生日期 / string UserBirth get; set; / / 用戶出生地 / string UserBirthAdd get; set; / / 用戶現(xiàn)居地 / string UserLivingAdd get; set; / / 用戶所在科室 / string UserFamilyRoom get; set; / / 用戶就職日期 / int UserInaugurationTime get; set; 醫(yī)生類: public class DoctorInfo:Users private int doctorNum; private String doctorName; private String doctorPosition; private String doctorSex; private String doctorID; private String doctorBirth; private String doctorAdd; private String familyRoom; private String doctorPhone; private int inaugurationTime; public string UserPwd1 get return null; set public string UserPwd get return null; set public string UserBirthAdd get return null; set / / 醫(yī)生編號(hào) / public int UserNo get return doctorNum; set doctorNum = value; / / 醫(yī)生姓名 / public String UserName get return doctorName; set doctorName = value; / / 醫(yī)生職稱 / public String UserPosition get return doctorPosition; set doctorPosition = value; / / 醫(yī)生性別 / public String UserSex get return doctorSex; set doctorSex = value; / / 醫(yī)生身份證號(hào) / public String UserID get return doctorID; set doctorID = value; / / 醫(yī)生出生日期 / public String UserBirth get return doctorBirth; set doctorBirth = value; / / 醫(yī)生居住地址 / public String UserLivingAdd get return doctorAdd; set doctorAdd = value; / / 醫(yī)生所在科室 / public String UserFamilyRoom get return familyRoom; set familyRoom = value; / / 醫(yī)生聯(lián)系電話 / public String UserPhone get return doctorPhone; set doctorPhone = value; / / 醫(yī)生就職時(shí)間 / public int UserInaugurationTime get return inaugurationTime; set inaugurationTime = value; / / 添加信息 / / public Boolean addInfo(String str) dataBase database = new DatabaseOprator(); int count = database.addInfo(str); if (count = 1) return true; else return false; / / 刪除信息 / / public void deletInfo(String str) / / 修改信息 / / public void modifyInfo(String str,Users users) / / 查詢信息 / / public string, queryInfo(String str) dataBase database = new DatabaseOprator(); return database.doctorQueryPatientInfo(str); 操作員類:public class OperatorInfo : Users private int opretorNo = 0; private String operetorPwd1 = ; private String operetorName = ; private String operetorSex = ; private String operetorPhone = ; private String operetorNotes = ; private String operetorPwd = ; public string UserFamilyRoom get return null; set public int UserInaugurationTime get return 0; set public string UserID get return null; set public string UserBirth get return null; set public string UserBirthAdd get return null; set public string UserLivingAdd get return null; set / / 管理員編號(hào) / public int UserNo get return opretorNo; set opretorNo = value; / / 管理員姓名 / public String UserName get return operetorName; set operetorName = value; / / 管理員性別 / public String UserSex get return operetorSex; set operetorSex = value; / / 管理員電話 / public String UserPhone get return operetorPhone; set operetorPhone = value; / / 管理員職務(wù) / public String UserPosition get return operetorNotes; set operetorNotes = value; / / 管理員密碼 / public String UserPwd get return operetorPwd; set operetorPwd = value; / / 管理員密碼 / public String UserPwd1 get return operetorPwd1; set operetorPwd1 = value; / / 添加信息 / / public Boolean addInfo(String str) return true; / / 刪除信息 / / public void deletInfo(String str) / / 查詢信息 / / public string, queryInfo(String str) dataBase databaseOprator = new DatabaseOprator(); string, field = databaseOprator.QueryoperatorInfo(str); return field; / / 修改信息 / / public void modifyInfo(String str,Users users) messageInfo message = new PublicMathord(); dataBase databaseOprator = new DatabaseOprator(); MySqlParameter logonArray = new MySqlParameter(?opretorNostr, MySqlDbType.Int32) ; logonArray0.Value = users.UserNo; String sqlstr = update opretorinfor set opretorName= + users.UserName + ,opretorSex= + users.UserSex + ,operatorPhone= + users.UserPhone + ,Notes= + users.UserPosition + ,opretorPwd= + users.UserPwd1 + where OpretorNo=?opretorNostr; int count = databaseOprator.updateOperetorInfo(sqlstr, logonArray); if (count = 1) message.sendMessage(修改成功); 患者類:public class PatientInfo : Users private int patientNum=0; private String patientID = ; private String patientName = ; private String patientSex = ; private String patientBirth = ; private String phoneNo = ; private String patientBirthAdd = ; private String livingAdd = ; private String notes = ; public string UserFamilyRoom get return null; set public int UserInaugurationTime get return 0; set public string UserPwd1 get return null; set public string UserPwd get return null; set / / 患者編號(hào) / public int UserNo get return patientNum; set patientNum = value; / / 患者身份證號(hào) / public String UserID get return patientID; set patientID = value; / / 患者姓名 / public String UserName get return patientName; set patientName = value; / / 患者性別 / public String UserSex get return patientSex; set patientSex = value; / / 患者出生日期 / public String UserBirth get return patientBirth; set patientBirth = value; / / 患者出生地 / public String UserBirthAdd get return patientBirthAdd; set patientBirthAdd = value; / / 患者現(xiàn)居地 / public String UserLivingAdd get return livingAdd; set livingAdd = value; / / 患者電話號(hào) / public String UserPhone get return phoneNo; set phoneNo = value; / / 患者備注信息 / public String UserPosition get return notes; set notes = value; / / 添加信息 / / public Boolean addInfo(String str) dataBase database = new DatabaseOprator(); int count=database.addInfo(str); if (count = 1) return true; else return false; / / 刪除信息 / / public void deletInfo(String str) / / 查詢信息 / / public string, queryInfo(String str) int num = Convert.ToInt32(str); dataBase database = new DatabaseOprator(); return database.QueryPatientInfo(num); / / 修改信息 / / public void modifyInfo(String str, Users users) 抽象工廠借口: interface UserFactory / / 管理員 / / OperatorInfo creatOperator(); / / 患者 / / PatientInfo creatPatient(); / / 醫(yī)生 / / DoctorInfo creatDoctor(); 抽象工廠實(shí)現(xiàn)類: public class UsersProduct : UserFactory public OperatorInfo creatOperator() return new OperatorInfo(); public PatientInfo creatPatient() return new PatientInfo(); public DoctorInfo creatDoctor() return new DoctorInfo(); 主程序類: public partial class MainSystem : Form dataBase databaseOprator = new DatabaseOprator(); PublicMathord publicMathord = new PublicMathord

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論