软件工程设计计划书

上传人:仙*** 文档编号:69031663 上传时间:2022-04-05 格式:DOC 页数:65 大小:1.26MB
收藏 版权申诉 举报 下载
软件工程设计计划书_第1页
第1页 / 共65页
软件工程设计计划书_第2页
第2页 / 共65页
软件工程设计计划书_第3页
第3页 / 共65页
资源描述:

《软件工程设计计划书》由会员分享,可在线阅读,更多相关《软件工程设计计划书(65页珍藏版)》请在装配图网上搜索。

1、软件工程设计计划书1 引言1.1编写目的学生宿舍管理系统对于一个学校来说是必不可少的组成部分。由于大学院校的宿舍管理数据庞大, 手工记录油太大的缺陷,因此为了代替“某某大学院校”繁琐的手工记录方法,方便宿舍管理员管理, 我们设计了这款学生宿舍管理系统软件。1.2背景说明:a. 这款软件的名称为“宿舍管理系统”。b. 本项目的提出者是1512201班学生。c. 该软件系统应用于设备管理终端。1.3定义SDMS:Student dormitory management system 学生宿舍管理系统。SQL Sever 2005:所采用的数据库管理系统。Visual Studio 2008:微软公

2、司退出的开发环境,Visual Studio可以用来创建Windows平台下 Windows应用程序和网络应用程序,也可以用来创建网络服务,智能设备应用程序和Office插件。B/S结构:浏览器和服务器结构,它是随着Internet ft术的兴起,对B/S结构的一种变化或者 改进结构。1.4参考资料软件工程,SQL sever数据库设计,ASP. NET2. 0简明教程2可行性研究的前提:2.1开展宿舍管理系统项目的原因:由于现今大学生管理系统的繁琐性,舍管部人员需要付出大量的时间及精力去进行管理。为了提高 管理效率以及减轻舍管部人员工作负担,所以开发大学生宿舍管理系统2.2要求A. 功能与性

3、能:功能:每所大学的在读生都会有近万人,每个学生都有不同的学号,班级,出生日期宿舍楼 号等基本信息;每间寝室都有不同的床号等信息;学校需要对每个学生以及寝室的基本信息进行统一管 理,以便对每个学生及寝室的信息进行查询.浏览和修改性能:管理系统性能可靠数据保密性高。B. 系统的输入与输出由管理员输入学生的学籍信息及寝室信息,对学生的宿舍寝室信息进行实时管理。输入:用户名称宿舍编号。输出:用户信息 宿舍信息备注信息。C. 处理流程进入宿舍管理系统界面,进入系统后,按照提示进行相应的操作即可D. 安全保密要求于此系统较小,所以没有设置身份认可模块,能够使用系统的人员均被鉴定为合法使用人员。2.3目标

4、以最低的成本,在最短的时间开发具有管理学校学生宿舍和用户信息功能的学生宿舍管理系统。系 统实现后,可提高宿管部人员的管理程度及效率,降低管理中的错误发生,减少信息交流的繁琐过程以 及设备费用,提高管理的准确率。2.4条件,假定和限制条件说明对这项开发中给出的条件,假定和所受到的限制。如:a. 建议该系统运行的最短寿命为6年;b. 进行系统方案选择比较的时间限一星期。2. 5进行可行性研究的方法通过调查分析数据库管理系统现阶段所具备的能力及实现的方法,确定主体结构,利用现阶段所能 达到的能力,以最简洁,最容易的办法,边开发边测试,实现这个应用软件。2. 6评价尺度在短时间开发出的具有改善管理漏洞

5、的较简单的管理系统。3. 技术可行性1 系统概述该系统的应用可以方便学生宿舍对广大住宿学生信息的管理,可以科学的管理学校宿舍,优化宿舍 资源的使用等,同时方便管理员对学生的安全管理,可以使用改系统方便的查询学生信息。开发目标系 统实现后,大大提高后勤人员的服务效率。降低后勤管理中的错误发生率,减少信息交流的烦琐过程及 其带来的开销。后勤人员工作得到精简,信息的准确率得到极大提升。2处理流程和数据流程学生宿舍管理系统写卩11读数据库4. 经济可行性4.1支出A. 采购,开发及安装整套设施(包括房屋,数据通信设备,环境的保护设备,安全与保密设 备,操作系统以及软件和数据库软件)所需的金钱若干。B.

6、 研究开发数据库的建立以及软件的转换,和后期的维修和技术管理费用可忽略不计。C. 若系统工作正常,每次采购及维护所降低的成本若干。D. 系统升级所需费用,信息掌握情况的改进,硬件设施的提升或更替所需费用。4.2收益本系统方便了人员的管理,节约了人力资源的成本,有利于宿舍管理人员查询注入信息,能够更好的统计宿舍人员的入住情况。极大地降低了管理人员人工管理学生信息的费用。4. 3投资回收周期若系统正常工作,本系统的生命期在旷5年,最大支出为X,最小收益Y,且YX,预计回收周期为2到4年。若负荷工作,硬件配置损坏,将降低使用时间,缩短收益及使用时间。4. 4敏感度分析设计系统周期为1周。处理速度普遍

7、1秒。5社会因素方面的可行性:对于当今学校公寓来说,其数据量大,各种信息管理容复杂,查询和管理学生信息和学校的公寓信 息等,工作由人人工完成将是很累的,这不仅浪费许多人力,物力资源,而且很容易出差错有一个符合 的软件对其进行智能化管理是再好不过了,节省了人力物力资源,并对其信息的把握和操作也更加方便 T,对所有信息有理一个全局的把握。5.1法律方面的可行性。所使用的系统的研制和开发都是自行实现的,将不会侵犯他人。该软件的开发集体和国家的利益,不会违反相关的国家政策和法律。系统的开发仅仅是作为课设作业,因而没有太大的实用价值,将不会触犯法律。52使用方面的可行性系统的研制和开发充分考虑从用户工作

8、流程,计算机操作水平等,尽可能提供更人性化,直观的 界面, 满足用户要求,尽可能的使系统更加容易使用。系统的操作方式在用户组织可行,需要一名 懂得计算机操作的人员使用。参考资料.6综合结论新系统说入的资金与系统投入使用后所带来的经济效益进行比较,投资效益比远大于 100%,并且系统简洁易懂且功能强大。技术、经济、操作都有可行性,可以进行开发。.参考资料.需求分析11编写目的在编写学生宿舍管理系统软件之前,对同类型产品的市场进行了前期调查,与多位 软件设计者和使用者进行了探讨和分析,之后由软件项目小组向系统分析人员与软件设计人 员提出了这份需求规格说明书。该需求规格说明书对学生宿舍管理系统软件进

9、行了全面细致 的用户需求分析,明确所要开发的软件应具有的功能、性能与界面。该需求规格说明书供概 要设计人员阅读。12项目背景软件技术基础教程课程设计。学生宿舍管理系统软件是一功能比较完善的数据管理软件,具有数据操作方便高效迅速 等优点。该软件采用功能强大的数据库软件开发工具进行开发,可在应用围较广的WINDOWS 系列等操作系统上使用。13定义SAMS: Student Apartment Management System,学生宿舍管理系统。1. 概述2.1目标本设计要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便 于用户操作。系统在实现上应该具有如下功能:1. 系统应

10、该提供学生住宿情况的基本登记。2. 系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询) 及楼房信息的查询。3. 系统应提供增加、删除、修改学生信息的功能。2. 2运行环境输入设备键盘/鼠标操作系统Windows 72. 3条件与限制由于时间比较短,使用计算机不方便以及对于网络编程不熟悉,本学生宿舍管理系统并 没有提供数据的远程访问功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件 的备份,比较简单,安全性能有待进一步完善。2.数据描述3.1静态数据学生寝室管理系统的静态数据包括:学生(Student):Stu KeyStu Name学号Stu Sex性别Stu

11、 Enr入学日期Stu Major专业3.2动态数据输入数据:鼠标对按钮的点击查询方式、查询关键字;录入学生信息项;输岀数据:查询关键字确定的数据库记录的子集;统计结果及其格式化文件;信息增加、刪改结果;部数据:查询操作建立的索引;3. 3数据库描述数据库采用Microsoft Access数据库。3.4数据流图3. 5学生个人信息表数据字典学号性别专业入学时间字符型字符型字符型字符型字符型宿舍类型楼号房间号床铺号宿舍字符型字符型字符型字符型字符型3. 6数据采集:通过键盘输入。3.7用例图3. 功能需求4.1系统功能设计在整体设计中,我们将宿舍管理系统分为两个个大的功能:信息查询功能、信息修

12、改功 能。下面将具体进行介绍每个功能。4. 2信息查询功能信息查询功能基本上包括:按学号进行查询、按进行查询、按专业查询、按床铺号查询、 每宿舍类型情况查询五个部分。4. 3信息修改功能信息修改功能包括:学生基本信息修改等。5运行需求51用户界面对话框。5.2硬件接口支持各种x86系列PC机。53软件接口运行于Windows95/98及更高版本具有WIN32 API的操作系统之上。54故障处理正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可 恢复的系统错误,也必须保证数据库完好无损。.参考资料.参考资料.概 要 设 计 说 明 书1引言1.1编写目的1.2背景1.3

13、定义1.4参考资料2总体设计2. 1需求规定2. 2运行环境2. 3基本设计概念和处理流程2. 4结构2.5功能器求与程序的关系2. 6人工处理过程2.7尚未问决的问题3接口设计3. 1用户接口3.2外部接口3.3部接口4运行设计4.1运行模块组合4. 2运行控制4. 3运行时间5系统数据结构设计5.1逻辑结构设计要点5. 2物理结构设计要点5.3数据结构与程序的关系6系统岀错处理设计6. 1出错信息6. 2补救措施6.3系统维护设计1 引言11编写目的经过实际分析调查,一个学生宿舍管理系统主要是要方便宿舍管理人员的工作,提高其 工作效率,不仅可以方便广大学生,而且还可以方便于教师和相关人员,

14、同时与多位软件使 用者进行了全面深入地探讨和分析的基础上,提出了这份概要设计说明书。此概要设计说明书对学生信息管理系统软件做了全面细致的用户需求分析,明确所 要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用 户的需求,并在此基础上进一步完成后续设计与开发工作。本说明书的预期读者为学校管理 员、需求分析人员、测试人员、项目管理定义.12背景说明:A宿舍管理系统。B项目的任务提出者是本次课程设计辅导老师储剑波老师,项目问题的选取是由本小组人员自行决定的。13定义本软件是基于microsoftvisual C+ 6.0 +acess2003开发的简易数据库管理系统,以

15、实现学生宿舍的管理。术语定义:学号性别入学年份专业IDSTUDENT NAMESEXSTART YEARMAJORROME TYPE宿舍类型BUILDING NUM楼号HOUSE TEL房间REMARKS备注14参考资料1软件技术基础教程航空航天大学万晓东、施玉霞、孔德明编著2. Vc+教程航空航天大学王珊珊编著3. Hfc软件可视化界面制作教程4. 安装包制作教程2总体设计2. 1需求规定设计开发一个具备完善前台操作界面和功能强大的后台数据库管理功能的宿舍管理系 统。该系统主要是宿舍管理员系统,由管理员进入和退出系统,实现学生信息的录入,刪除, 查询。系统自行实现学生信息的存储。学生信息包含

16、了,性别,专业,学号,楼栋号,房间号,床位号,宿舍和备注。有一个主界面,供选择和调用上述选项。2. 2运行环境windowsXP, windows2000, windows7, windows8,宿舍管理机终端.参考资料.2. 3基本设计概念和处理流程1. 系统整体设计需要完成管理界面进入,选择用户类型,完成数据库的连接。2. 后勤宿管主要完成宿舍片区的管理,对宿舍管理员的管理,以及新生入校宿舍分配、毕业 生离校宿舍回收、宿舍单元的添加、删除、修改、查询,接受申请并审核以及完成宿舍调整 等。3. 宿舍管理员主要完成所管辖所有宿舍的成员添加、删除、修改、查询。2.宿舍单元主要完成人员查询,可查询

17、空置宿舍床位情况,提出宿舍调整申请。2.4结构数据库25功能器求与程序的关系本条用一如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:功能需求程序单元进入主界面服务模块添加添加住户服务模块刪除刪除住户服务模块查询查询住户服务器模块保存保存信息服务模块浏览浏览信息服务模块2. 6人工处理过程根据用户的需求,随时单击各种按钮,以决定系统进程。其最终用户是宿舍系统的管理 员,宿舍管理员以及航空航天大学学生,他们都具备一定计算机使用能力,对计算机的操作 十分熟练的。同时,系统的维护人员是计算机专业人员,熟悉数据库、操作系统、网络维护 工作。3接口设计31用户接口下图是主界面,通过3个按钮实现系统

18、的添加,刪除,查询。参考资料.参考资料.关于系统下图是学生信息的添加界面添期住户 册住户 曲住户谨弐台(6人引 昔送衣直8人劫 学生公左(4人9) 手生2(4人勻)下图是学生的删除界面.参考资料.基删沪(C) S5(V)版权佶曳(H)(J)a誉通侖舍6人 也a誉通?s筑8人前 血a学生公密*入助 由 d ft(4AS)添加住户删除住户蛍司住户J学生応全矣统-Visual C &0票茨幵左彌关于系统字主公蛮(4人0)13101下图是学生的查询界面0 4血总S-4 48Se6人旬芋生公母4人珂芋生疋台(4人刼下图是学生信息的修改界面函6己逞荷&6人SJJ J 2 =連窝曲8人旬 : 0 11:i-

19、H 146:申31 1丸: F TTS:矗F删M空学生公枣(4人间) 占2学生倉合:4人纫32外部接口软件接口 硬件接口键 盘1鼠标显示器主模块Z管理员模块/查询模块3.3部接口需要实现系统之的各个系统元素之间各个类之间的的接口,部接口方面,各模块之间 采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构 设计的容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形 式在各模块间传输。4运行设计4.1运行模块组合进入用户类型一一后勤宿管功能界面进入用户类型一一 宿舍管理员一一功能界面进入用户类型一一宿舍单元管理员一一功能界面4. 2运行控制主界面

20、信息模块注册信息模块删除信息模块查询信息模块浏览信息模块结束4.3运行时间初步测试每种操作运行时间均在1秒以。5系统数据结构设计5.1数据库数据结构设计序号字段名数据类型说明1Id文本学号2Studentname文本学生3Sex文本性别4Startyear文本入学年份5Major文本专业6Roomtype文本宿舍类型7Buildingmum数字楼号8Bednum数字房间号9Housetel文本宿舍10Remarks文本备注5. 2物理结构设计要点1 管理员信息2.楼栋信息型 话 号类号号电 栋舍舍位舍 楼宿宿铺宿 1 2 3 4 53学生信息厂1姓名2.性别CDialo匚方法0 CAboutD

21、lgG 令 BoD at aEx changeCAddUserDIg 换CDialog0泌01 mnfiedNujTinBui 1 di ngHun0 m.rLRoomffuiTis trH-om eT el strld str Maj or s t rNa t i oitNal trRomarks0 m_strSex0 strS tudentiL-* 0 m strS tudentff-*-0 CAddUserDIgDoD atdEx changeOnEdi tchang;SetFocus();return;if( m_strStudontName =)AfxMessageBoxC请填宿舍类

22、型”);p = (CEdit*)GetDlgItom(IDC EDIT_ROOMTYPE); p-SetFocus();return;if( m nBuildingNum = 0 )AfxMessageBoxC楼号不能为零);p = (CEdit*)GetDlgItem(IDC EDIT BUILDINGNUM): p-SetFocus();return;if( RoomNum = 0 )AfxMessagoBox (房间号不能为零”);p = (CEdit*)GetDlgItoni(IDC_EDIT_ ROOMNUM);p-SetFocus();return;if ( m_nBedNum =

23、 0 )Af xMessagoBox (床铺号不能为零”);p = (CEdit*)GetDlgItom(IDC_EDIT_BED);p-SetFocus();return;CMainFramo* pFramo = (CMainFrame*)AfxGetApp()-m pMainWnd;CInhabitantsDoc* pDoc = (CInhabitantsDoc*)pFrame-GetActiveDocument();让用户确认操作if (thi s-MessageBox (确定添加这条记录?,宿舍管理系统,MB YESNO) = IDNO)CDialog::OnCancel ();ret

24、urn;/增加学生到数据库中STUDENT user;user strRoomtypo = m strStudentNamo;usernBuildingnum = m nBuildingNum;user nRoomnum = m nRoomNum;user nBodnum = m nBcdNum;user. strNamo = m strStudentname;user. strllousoTel = m strllomeTel;user. strSex = m strSex;user. strNationNal = m strNationNal;user. strMajor = m strM

25、ajor;userstrld = m_strld;user. strRomarks = m strRomarks;switch(pDoc-AddUser(user)case 0: 已经存在该学生了CString str;str. Format ( %s%d号楼%d号房间%d号床铺已有学生入住! ”, in strStudcntNamejn nBuildingNumjn nRoomNumjn nBodNum );AfxMcssagoBox( str );CEdit* p = (CEdit*)GetDlgItem(IDC_EDIT_BED); p-SetFocus();return;break;c

26、ase 1: 增加成功后刷新左边的树视图pFramo-m pLeftView-AddUserToTree(m strStudcntName,in nBuildingNumjn nRoomNumjn nBedNum);break;default:return;break;CDialog:OnOK();CHouseAccessor:CKous eke c essor介S_bednum0mbuildingriuiTiOmLousetel0midQmmajor0mnational0mremarks0mroomnuin0mroomtypePmsex0mdentiiajnee方法0ClearRecord.

27、类视图如右图,该类是OLEDB数据源类,定义了数据库中存储的 学生信息class CHouseAccessorpublic:TCIIAR mmajor51; /专业LONG m bu 订dingnum; /楼号LONG m_roomnum; /房间号TCIIAR m_remarks51 ;/备注TCIIAR mstudentnamotSl ;/学生TCIIAR m_housetel51;宿舍TCIIAR m_id51;/学号TCIIAR m_sex51;/性别TCIIAR m_national51;入学时间LONG m_bcdnum;/床铺号TCIIAR mroomtypetSl ;/宿舍类型

28、/定义显示方式BEGIN.COLUMN MAP(CHouseAccessor)COLUMN ENTRY 仃.in studontnamG)COLUMN ENTRY(2,COLUMN ENTRY(3,COLUMN ENTRY(4,COLUMN ENTRY(5,COLUMN ENTRY(6,COLUMN ENTRY(7,COLUMN ENTRY(&COLUMN ENTRY(9.COLUMN ENTRY(10,COLUMN ENTRY(11,in roomtype) in buildingnum) in roomnum) in bed num)in housetol) in sex)in natio

29、nal) in major)m_id)m remarks)END COLUMN MAP()DEFINE COMMAND(CHouseAccessor, T(M SELECT studentname, roomtype, buildingnum, roomnunh bednum, housetel, sext national, major, id, remarks FROM house11)/ You may wish to call this function if you are inserting a record and wish to/ initialize all the fiel

30、ds, if you are not going to explicitly set all of them void ClearRecordOmomset(this, 0, sizeof(*this);;CHouse 类:CHousea类0 C C0H5SHdCAeC50T 曰宇段0 m_session日方法O OpenO OpenDa taSource OpenRowsets-/类视图如右图,继承于CHouseAccessor类,用于对数据库进行操作。 class Cllouse : public CCommandCAccessor public:11RESULT Open ()/打开数据

31、库HRESULThr;/打开数据源,并返回结果集hr = OponDataSourceO : if (FAILED(hr)return hr;return OponRowset () ;/打开所有行记录的结果集HRESULT OponDataSourceOHRESULT hr;CDataSource db;CDBPropSet dbinit (DBPROPSET_DBINIT) ;/定义数据库连接字串/设置数据库连接字串的属性dbinit.AddProperty(DBPROP AUTH CACHE AUTHINFO, true); dbinit. AddProperty(DBPROP AUTH

32、 ENCRYPT PASSWORD, false); dbinit. AddProperty(DBPROP AUTH MASK PASSWORD, false);dbinit. AddProperty(DBPROP AUTH PASSWORD, OLESTR(M,r); dbinit. AddProperty(DBPROP AUTH_USERID, OLESTR(MAdminw);dbinit. AddProperty(DBPROP INIT DATASOURCE, OLESTR(nStuDormMS. mdbw); / 打开的数据源文件文件名dbinit. AddProperty(DBPRO

33、P INIT MODE, (long)16); dbinit. AddProperty(DBPROP_INIT PROMPT, (short)4);dbinit. AddProperty(DBPROP INITPROVIDERSTRING, OLESTR(WH);打开数据dbinit. AddProperty(DBPROP.INIT LCID, (long) 1033); hr = db. Open(_T(Microsoft. Jet. OLEDB. 4 0), &dbinit): 库文件if (FAILED(hr)return hr;return m session0pon(db);HRES

34、ULT OpenRowset()/ Set properties for openCDBPropSet propset(DBPROPSET ROWSET);propset. AddProperty (DBPrOP IRowsetChange, true);propset. AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UPCHANGEDBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);return CCommandCAccessor ::Open(m session, NULL, &propset);CSessionm

35、.session;;CInhabitantsApp 类:Clnhab i t aMtsp 穴 粪HC CDocuaent(3字段0日方达QAddUser0AssertValii包ClnhabitantsDoc0DeletcContents0BeleteVserQBunpCnMeyDocwnentSeri ili ze文档类,派生于CDocumont,管理程序的文档BOOL CInhabitantsDoc::OnNcwDocumont()if (!CDocumont:OnNewDocumcnt()return FALSE;打开数据库HRESULT result = m dbllouse. Opo

36、n();if(FAILED(result)AfxMessagoBoxCopcn database failed!,r);/设置程序标題SetTitleC学生宿舍管理系统);return TRUE;)AddUser()函数,添加用户int CInhabitantsDoc::AddUser(STUDENT &user)/*返回值:0已经存在-1添加失败1添加成功*/判断是否存在该学生了CString strSql;strSql. Format(select * from house where roomtypo = %sr and buildingnum = %d and roomnum = %d

37、 and bednum = %d,user. strRoomtypc,user. nBuildingnum,user. nRoomnum, user. nBcdnum);CCommandCAccessor dbllouse;long* pCount = new long;if (dbHouse.0pen(m dbllouse m session. strSql.NULL, pCount) != S OK) Af xMes sageBox(n erroru);delete pCount;return T;if(dbHouse. MoveFirst() = S OK)delete pCount;d

38、bHouse Close();return 0;delete pCount;dbllouse CloseO ;/增加学生到数据库中m dbllouse MoveLast ();_tcscpy( m dbllouse.m roomtype,user strRoomtype );m dbllouse.m buildingnum = user nBuildingnum;m dbllouse m roomnum = user nRoomnum;MMm dbllouse m bodnum = user nBednum;tcscpy(m dbHouse.in studentnamo.usorstrNamo

39、);tcscpy(m dbHouse.in major,user strMajor);tcscpy(m dbHouse.in remarks,userstrRomarks);tcscpy(m dbHouse.in housetel,user strllouscTel):_tcscpy(m_dbHouse m_id.user strld);tcscpy(m dbHouse.in sex,user strSex);tcscpy(m dbHouse.in national,userstrNationNal);I1RESULT hResult = m dbllouse. Insert ():if( F

40、AILED( hResult )AfxMessageBox( _T( wError insorting the current recordw ); return T;return 1;/删除符合条件的学生BOOL CInhabitantsDoc::DeleteUser(CString strSql)CCommandCAccessor dbllouse;long* pCount = new long;if (dbllouse()pon(ni dbHouse m session, strSql,NULL,pCount,DBGUID DEFAULT,FALSE) != S OK) AfxMessa

41、goBox(u errorM);delete pCount;return FALSE;delete pCount;dbllouse CloseO ;return TRUE;)void CInhabitantsDoc:DcleteContonts()关闭数据库m dbllouse Close();m dbllouse.m session. CloseO :CDocumcnt::DeleteContents(); )CInhabitantsModule 类:Clnliabi taint Jiod* ACCozKoduleClnLab i tantsViev A 类-OCVie?CInhabitan

42、tView 类:程序视图类日字段0 dwThreadID 曰方法Q TindOneOfO LockQ Unlock法*方oooO 0Clithabi tants-* AssertValid Clithabi tantsV-* DumpGwtDocumentCLe ftTreeView 换-OCTreeYie-ATL 类。CLeftTreeView 类:树视图类,用于显示程序左边的树视图 添加的成员变量:protected 继承:UTREEITEM m hllitltem;ClmageList in ImagoList;添加的成员函数:巳 m.hlfiatem 气 m_ImageLi st0方法

43、CLeftTreeViev AddBuildingTo- AdiCellToTree AddSec ti onToT , 0 AddUsersToTree 0 AddUserT oTreeAssertV&li dQ* CLeftTreeView 。會 Dump Q* OnDraw 0 Onlni ti alUpdate 0* OxtOperat eDele te 厶 OnS el changed 0 OnUpdateOpera /将数据库中的所有学生到加到树中 void CLeftTreeView::AddUsersToTree()CInhabitantsDoc* pDoc = (CInhab

44、itantsDoc*)GetDocumont (): if(pDoc=NULL)return;/清空树GetTreeCtrl (). DoloteAllItomsO ;取数据库中得所有记录CString strSql = select * from house;CCommandCAccessor dbllouse;long* pCount = new long;if (dbllouse.0pcn(pDoc-m dbllouse m session, strSql,NULL,pCount) != S OK) AfxMessageBox(M errorM);delete pCount;return

45、;delete pCount;if (dbllouse. MoveFirst () = S OK)doAddUserToTree(dbllouse m roomtype, dbllouse m buildingnum, dbllouse .in roo mnu m, dbllouse m bcdnum):while( dbllouse. MoveNext() = S_OK );dbllouse Close ();void CLeftTreeView:0nInitialUpdate()CTreeView: :0nInitialUpdateO ;设置树风格:SetWindowLongGn hWnd

46、.GWL STYLE,WS VISIBLE | WS TABSTOPI WS.CHILD | WS_BORDER| TVSJ1ASBUTT0NSI TVS LINESATROOT | TVS HASLINESTVS DISABLEDRAGDROP TVS SHOWSELALWAYS);为树视图创建图标连表CInhabitantsApp* pApp = (CInhabitantsApp*)AfxGetAppO:CTreeCtrl* pTreeCtrl = &GetTreeCtrl(): m ImageList. Create(16,16,ILC C0L0R16,4,4);ICON SECTION

47、); ICON_BUILDING);ICON一CELL);ICON USER):m ImageList Add(pApp-LoadIcon(IDI m ImageList Add(pApp-LoadIcon(IDI m ImageList Add(pApp-LoadIcon(IDI m ImageList Add(pApp-LoadIcon(IDIpTreeCtrl-SetImageList(&m ImageList,TVSIL NORMAL);将学生加入树中AddUsersToTreeO ; pTreeCtrl-SortChildren(TVI ROOT);) void CLeftTreeV

48、iew::AddUserToTree(CString strStudcntName,int nBuildingNum,int nRoomNum,int nBedNum)11TREEITEM hSectionitem = AddSectionToTree(strStudentName);HTREEITEM hBuildingltcm = AddBui1dingToTree(hSection11em,nBui1dingNum):11TREEITEM hCellitem = AddCelIToTree(hBuildingltern,nRoomNum):if(hCellitem = NULL)retu

49、rn;CTreeCtrl* pCtrl = &GetTreeCtrl():TV INSERTSTRUCT TCItem;/插入数据项数据结构TCItorn. hParent = hCellltcm;TCItem. hlnsertAfter = TVI LAST:TCItem. item. mask=TVIF. TEXT|TVIF PARAM I TVIF IMAGE|TVIF. SELECTEDIMAGE;/ 设 屏 蔽TCItem. item. lParam=0;/序号TCItem. item. ilmage=3;/正常图标TCItem. item. iSelectedImage=3;/选中时图标CString str;str. Format (M%d 号床铺w,nBedNum);TCItem. item. pszText = (LPTSTR)(LPCTSTR)str;pCtrl-InsertItem(&TCItern);pCtrl-SortChildren(hCellltcm);)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!