电子名片管理系统_第1页
电子名片管理系统_第2页
电子名片管理系统_第3页
电子名片管理系统_第4页
电子名片管理系统_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程实验指导书ElectronicCardManagementSystem,电子名片管理系统实验一撰写可行性研究报告实验目的掌握可行性研究的环节,练习撰写可行性研究报告。实验工具Word2023/2023实验内容1.分析问题描述,给出问题定义;2.进行可行性研究,使用Word撰写可行性研究报告。实验规定1.硬件基本配置:IntelPentium120或以上级别的CPU,大于16Mb的内存。2.软件规定:Windows98/2023/XP操作系统,Office2023/2023系统程序。3.实验学时2学时。4.写出实验报告。实验环节环节1:引言1、编写目的随着社会发展的日新月异,商业来往日渐广泛,人们之间的交往也日益频繁,于是,人们手中便出现了名目繁多的通讯录、地址录、名片夹等对交友或客户进行管理的工具,但是一张张名片上的信息虽然不多,却占据了很大的空间;同时,这些传统的手动管理方式存在着不易更新、不易存放、容易丢失、难以备份等重大缺陷;而建立自己的电子文档对名片进行管理虽然克服了以上的缺陷,但查询效率低下,特别是当数据量十分庞大时,劣势更加明显。随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及。因此开发一个既可以存储信息,又可以进行更新、查询等功能,同时价格又能为广大消费者接受的多功能电子通讯录就显得十分必要。2、项目背景项目名称定为:电子名片管理系统(ECMSElectronicCardManagementSystem)。分为四个子功能模块:密码管理模块、更新模块、查询模块和数据导入/导出模块。本项目设计过程中可以参考大量基于Windows系统的数据库管理系统。3、术语说明ECMS:ElectronicCardManagementSystem,电子名片管理系统OA:办公室自动化MIS:管理信息系统Dataprocessing:数据解决Transactionprocessing:事务解决Dataprocessingcycle:数据解决流程Dataacquisition:数据采集Dataprocessingsystemsecurity:数据解决系统安全性DataDictionary:数据字典4、参考资料参见本指导书后的“附录”。环节2:可行性研究的前提1、基本规定电子名片管理系统(ECMS)应便于对名片进行分类和管理,提高工作效率,便于操作,能有效地对数据进行更新、查询,并能在一定限度上实现自动化。(1)功能ECMS系统的重要功能为:数据更新、数据查询、密码管理和数据导入/导出。数据更新功能分为三部分:数据添加、数据删除和数据修改。数据添加功能提供便捷的录入界面,通过应用程序将原始数据追加到数据库中。数据删除功能将满足用户规定的相应记录从数据库中删除。数据修改功能允许用户对他所指定记录的相关信息进行修改。数据查询功能允许用户进行两种方式的查询:记录浏览(不构造任何查询条件)和条件查询。记录浏览功能可以方便快捷地浏览所有记录。条件查询允许用户构造各种组合条件来解决所需信息。同时可对满足条件的信息进行报表生成和打印输出。密码管理功能允许合法用户对密码进行修改。数据导入/导出功能允许用户将所有记录导出至文曲星、商务通或其他存储设备中,也可以将上述设备中的数据信息导入至本系统的数据库中。根据用户的需要方式,打印出名片信息。(2)性能方便快捷有效地完毕名片管理的各项工作,录入数据合法性校验限度高,数据查询速度快。(3)系统的输入商业往来过程中交流的各种名片所包含的信息。(4)系统的输出查询的结果和各种类型的报表。(5)安全和保密规定系统对不同权限的用户提供不同的功能模块,对历史数据的更改和新数据的添加只有一定权限的用户才干进行操作,一般的用户只能进行查询操作。对数据库的关键数据应规定保密。(6)完毕期限规定本学期实验课程的最后一个课时。2、开发目的系统的开发目的应考虑如下因素:•

人力与设备费用的相对减少;•

解决速度的提高;•

控制精度的提高;•

人员运用率的改善。3、具有条件项目开发中所具有的条件、假定和所受到的限制,如:(1)所建议系统运营寿命的最小值系统运营寿命的最小值应达三年。(2)进行系统方案选择比较的时间系统方案选择比较的时间为一个月。(3)硬件、软件、运营环境和开发环境方面的条件硬件环境:•

PII或更高档微机,笔记本电脑•

运营时内存规定:1MB;•

安装所需硬盘:5MB;•

打印机:可选。软件环境:•

中文Windows98/2023/XP•

英文Windows98/2023/XP•

WindowsNT4.0(5)可运用的信息和资源可参考已有的应用程序和数据库管理系统。(6)系统投入使用的最晚时间该门课程实验课程完毕的时间。4、进行可行性研究的方法可行性研究采用的方法如下:(1)客户调查(2)专家征询(3)市场相关产品、同类产品调查5、评价尺度系统进行评价时所使用的重要尺度为各项功能的优先顺序、开发时间的长短及使用中的难易限度。环节3:对现有系统的分析我们通常使用的通讯录、名址录、名片夹等管理工具上的信息虽然不多,累积起来占据的空间却很大;同时,这些传统的手动管理方式存在着不易更新、不易存放、容易丢失、难以备份等重大缺陷;而自己建立简朴的电子文档对名片进行管理虽然克服了以上的缺陷,但查询效率较低,特别是当数据量十分庞大时,劣势特别明显。随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及。环节4:所建议系统的技术可行性分析1、对所建议系统的简要描述ECMS系统采用常规的数据库管理方法,根据名片信息管理的特点对数据库操作,比如对数据的增长、修改、删除、打印和输出等给予了优化。2、与现有系统比较的优越性ECMS系统有助于数据的集中、有效管理。与手动管理方式相比,占据空间小,易更新,易备份;与自建文档相比可以高效的实现组合查询;与商务通相比功能更强,价格更能为大众所接受。ECMS系统增强了系统的灵活性。当原始数据发生变动时,应用程序可以对数据库稍作修改即可使数据及时反映最新情况,如某个客户的联系电话发生变动,用户只需定位至该项记录并加以修改即可。

ECMS系统可以较好地保证数据库的安全。建立用户并为之分派密码和操作权限,这样,任何用户只能在他的权限范围内对数据库进行操作。3、采用建议系统也许带来的影响

采用ECMS系统将大大提高用户查找相关信息的命中率,有助于决策优化及提高办公效率。同时本系统有助于节省办公用品,进一步减少经费支出。4、所建议技术可行性分析

本系统为一个数据库管理系统,现有技术已较为成熟,估计运用现有技术应完全可以达成功能目的;同时,考虑到开发期限较为富余,预计可以在规定期限内完毕开发。环节5:所建议系统的经济可行性分析(投资和效益分析)1、支出(1)基建投资

硬件设备:PC机

软件:Window98,VisualBasic6.0,Access2023等(2)其它一次性支出软件设计和开发费用。(3)经常性支出软件维护费用。2、效益进一步实现办公自动化,减少人力投资和办公费用,极大提高办公效率。3、投资回收周期根据经验算法,收益的累计数开始超过支出的累计数的时间为两年。环节6:社会因素方面的可行性1、法律方面的可行性新系统的研制和开发,将不会侵犯别人、集体和国家的利益,不会违反国家政策和法律。2、使用方面的可行性新系统的研制和开发充足考虑用户的业务往来、管理流程和人员素质等,从而能满足使用规定。•环节七:结论结论意见是:经上述可行性分析,系统研制和开发可以立即开始进行。思考题•

可行性研究的目的是什么?•

可行性研究阶段的结束标准是什么?•

简述可行性研究的环节。实验二撰写需求规格说明书实验目的掌握需求分析的环节,练习撰写需求规格说明书。实验工具Word2023/2023实验内容1、需求分析方法;2、绘制数据流图,使用Word撰写实验报告。实验规定1、硬件基本配置:IntelPentium120或以上级别的CPU,大于16Mb的内存。2、软件规定:Windows98/2023/XP操作系统,Office2023/2023系统程序。3、实验学时2学时。4、写出实验报告。实验环节环节1:引言1、编写目的编写目的参见实验一的“编写目的”。2、项目背景项目背景参见实验一的“项目背景”。3、术语说明术语说明参见实验一的“术语说明”。4、参考资料参考附录。环节2:项目概述1、待开发软件的一般描述本软件旨在为商业人士及企事业单位中负责公共关系等社会交往频繁的人士提供一个功能齐全、使用方便的个人社会关系数据库管理系统,以替代传统的手工通讯录。2、待开发软件的功能初始化初始化身份验证退出非正常推出重新验证非正常退出消息循环不通过通过失败浏览查看具体资料查询更新导入导出密码管理图1系统功能模块结构图用户用户电子名片管理系统外设打印机密码非法用户数据记录报表图2系统顶层数据流图0层数据流图密码密码密码验证1消息解决+2用户打印机外设不合法信息密码合法用户报表数据记录新密码密码 图3系统0层数据流图2.12.1密码管理2.4报表生成2.2浏览信息2.3数据出入2.7信息修改2.6信息查询通讯录密码2.5信息交互通讯记录修改后的信息通讯记录通讯记录通讯记录新密码密码管理消息报表生成消息信息浏览消息信息查询消息信息修改消息数据导出导入消息报表数据记录用户合法信息图4系统1层数据流图在本规格说明书中,我们只给出了顶层、0层和1层的数据流图,假如有需要还可以继续求精。3、用户特性

使用本软件的用户群非常广泛,它非常合用于具有如下特点的人员:•

工作中与外界联系非常频繁;•

工作比较繁忙,惜时如金;•

与外界的联系成为开展工作的关键因素,相关信息丢失或损坏也许带来重大损失;针对如上用户特点,本软件可以迅捷、准确、方便地提供个人社会关系数据库管理系统的各项管理功能,同时力求为用户提供方便、高效、实用的功能。4、运营环境(1)硬件环境PII或更高档微机,笔记本电脑;运营时内存规定:1MB;安装所需硬盘:5MB;打印机:可选。(2)软件环境中文Windows98/2023/XP等操作系统;WindowsNT4.0。5、条件与限制

考虑到本软件使用的广泛性,在设计时应注意软件的可移植性,能方便地将其移植到电子记事本、掌上电脑等硬件平台(不做严格规定)。因本软件管理的信息属个人隐私信息,必须注意信息的安全防范。同时应以标准的数据格式来实现,以方便数据的共享。环节3:功能需求1、功能划分本软件具有如下重要功能:•

浏览功能•

查看具体资料功能•

查询功能•

增长功能•

删除功能•

修改功能•

生成报表功能•

打印功能•

密码管理功能•

身份验证功能•

数据的导入和导出功能•

帮助功能2、功能描述(1)浏览功能•

以列表的方式列出所有记录(每项记录只列出姓名、电子邮件、单位电话、家庭电话、移动电话域);•

可选定一项记录,显示该记录的所有域;(2)具体查看功能•

显示用户选定记录的具体信息;(3)

查询功能•

姓名匹配查询;•

单位及部门匹配查询;•

电话号码匹配查询(涉及多个域);•

精确查询或模糊查询;•

单项查询或组合查询;(4)增长功能•

增长一条新的记录;(5)删除功能•

删除一条记录,并且提供确认机制;(6)修改功能•

修改任意一条记录的所有域,其中姓名不能为空;(7)生成报表功能•

对记录可按电话目录方式、卡片式或列表方式生成报表;(8)打印功能•

选择特定记录(一条或多条),根据选定的报表方式进行打印;(9)密码管理功能•

完毕密码的设立;(10)身份验证功能•

对登录用户的身份进行验证,通过者才可进入系统。(11)数据的导入和导出功能•

将外部文献导入本系统中;•

将本系统中的数据导出到外部设备中;(12)帮助功能•

为用户提供使用帮助。环节4:外部接口需求1、用户界面

采用Windows的通用图形界面,对用户和谐,且必须对鼠标和键盘提供支持,界面的设计应遵循如下规则:•

界面要具有一致性,界面规范应遵循MSWindows软件界面的规范;•

提供简朴的错误解决;•

提供信息反馈,用多种信息提醒用户当前软件运营状态、软件界面元件的功能;•

操作可逆,其动作可以是单个的操作,或者是一个相对独立的操作序列;•

设计良好的联机帮助;•

显示启动画面,画面简洁明快,富有现代气息,不能太过花哨;•

应遵循国家关于计算机词汇的标准,用词应当精炼准确,没有歧义,图形的意义明朗。可以参照如下的界面:(1)登陆界面,如图5;(2)系统主界面,如图6图5系统登陆界面图6系统主控界面2、硬件接口不做规定。3、软件接口运营于Windows2023/XP,且具有WIN32API的操作系统之上。4、通信接口本软件应提供Web浏览器的支持(不做强行规定)。5、故障解决正常使用时不应犯错,若运营时碰到不可恢复的系统错误,也必须保证数据库完好无损。环节5:性能需求1、数据精确度查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。查询时应保证查准率,查到的记录应与给定的单项或组合查询条件完全匹配。2、时间特性一般操作的响应时间应在1~2秒内,对软磁盘和打印机的操作,以及数据的导入和导出也应在可接受的时间内完毕。3、适应性满足个人使用的需求。对前面提到的运营环境规定不应存在困难。环节6:软件属性需求1、对的性规定交付的软件达成预期目的,运营时基本无错误。2、可靠性在一般条件下,应不出故障。3、效率对于浏览、查询、增长、删除、更新和密码设立等一般操作,规定及时响应,在1~2秒内。4、完整性规定能在发生意外(如掉电)的情况下,保证不丢失数据。此外,还要保证数据的一致性规定。5、易使用性规定能尽量为用户的使用提供方便,软件的界面符合目前流行的界面规范。6、可维护性规定本软件在运营中发现错误时,能快速、准确对其进行定位、诊断和修改。7、可测试性设计时尽也许减少测试本软件的各项功能所需的工作量。8、复用性设计时应采用模块化的方法进行设计,对系统内各模块接口尽也许达成高内聚、低耦合的限度,以提高各模块的复用性。9、安全保密性规定提供身份验证,只允许通过身份验证的用户使用本软件。对于三次密码输入不对的的,应强行关闭。10、可理解性对于本软件提供的各种菜单命令,各种信息提醒,应易于用户理解。11、可移植性暂时不做规定。12、互联性规定提供数据的导入和导出接口,以易于同其他系统的连接。环节7:其他需求无其他需求。环节8:数据描述1、静态数据(名片信息)姓名Name电子邮件E_Mail单位Company单位主页Homepage_O职位Job个人主页Homepage_H部门Department昵称Nickname单位地址Add_com性别Sex单位邮编Postcode_O生日Birthday单位电话Tel_O日历类型DateType单位传真Fax_O爱好Hobby家庭地址Add_H专长Forte家庭邮编Postcode_H摘要显示Abstract家庭电话Tel_H最后更新时间UpdateTime寻呼BP备注Memo手机Tel_mov2、动态数据输入数据:菜单选项,查询关键字,新建记录项,导入文献。输出数据:由查询关键字拟定的数据库记录集合或所有记录。内部生成的数据:中间查询结果。3、数据库描述本软件采用ODBC数据库,可选ACCESS,SQLServer等数据库。4、数据词典根据上述数据流图、层次方框图,并参见项目概述中的待开发软件的功能,其中涉及到的数据定义如下:•

姓名=1{汉字}10|1{字母}20•

单位名称=1{汉字}40|1{字母}80•

职位=1{汉字}10|1{字母}20•

部门=1{汉字}40|1{字母}80•

单位地址=1{汉字|数字}40|1{字母|数字}80•

单位邮编=1{数字}8•

单位电话=1{数字|Space|-}20•

单位传真=1{数字|Space|-}20•

家庭地址=1{汉字|数字}40|1{字母|数字}80•

家庭邮编=1{数字}8•

家庭电话=1{数字|Space|-}20•

手机=1{数字|Space|-}15•

寻呼=1{数字|Space|-}20•

E-Mail=1{字母|.|@|数字}20•

单位主页=1{字母|.|数字|:|/}40•

个人主页=1{字母|.|数字|:|/}40•

昵称=1{汉字}10|1{字母}20•

性别=男|女•

生日=1{数字|-}10•

日历类型=公历|农历•

爱好=1{汉字}100|1{字母}200•

专长=1{汉字}100|1{字母}200•

摘要显示=1{汉字}100|1{字母}200•

最后更新时间=1{数字|-}10•

备注=1{汉字|字母}500(还需写出上述数据流图的数据字典)5、数据采集通过身份验证的用户,采用键盘和鼠标直接输入或者从外部文献导入数据。环节9:附录无。思考题•

需求分析的基本任务是什么?需求分析的结束标准是什么?•

需求分析的基本环节是什么?•

什么是数据流图,绘制数据流图的基本环节是什么?实验三撰写概要设计说明书实验目的掌握概要设计的环节,练习撰写概要设计说明书。实验工具Word2023/XP实验内容1.概要设计方法;2.绘制数据流图,使用Word撰写实验报告。实验规定1.硬件基本配置:IntelPentium120或以上级别的CPU,大于16Mb的内存。2.软件规定:Windows98/2023/XP操作系统,Office2023/2023系统程序。3.实验学时2学时。4.写出实验报告。实验环节环节1:引言1、编写目的编写目的参见实验一的“编写目的”。2、项目背景项目背景参见实验一的“项目背景”。3、术语术语说明参见实验一的“术语说明”。4、参考资料参考资料参见书后“参考文献”。环节2:任务概述1、目的

本电子名片管理系统软件将提供一个既可以存储信息,又可以进行更新、查询,同时价格又能为广大消费者接受的多功能电子通讯录。2、运营环境硬件环境:•

PII或更高档微机,笔记本电脑•

运营时内存规定:1MB;•

安装所需硬盘:5MB;•

打印机:可选。软件环境:•

中文Windows98/2023/XP•

WindowsNT4.03、需求概述本软件重要有以下几方面的功能:•

浏览功能以列表形式显示所有记录;•

具体查看功能可在浏览状态下点击某条记录,显示其所有信息;•

条件查询功能用户可任意选择字段(如姓名、电话号码、电子邮件地址等),并针对该字段构造出组合查询条件,进行匹配查询;•

修改功能修改任意字段,姓名不能为空;•

增长功能增长一条或多条新的记录;•

删除功能删除一条或多条记录;•

密码管理登录系统后,用户可以随时对密码进行更改;•

报表生成可根据提供的模板将查询结果或选中的数据生成多种形式的报表;•

打印功能将生成的报表或所选中记录进行打印输出;•

导入或导出将所有数据或选中数据导出至存储设备中;将数据从存储设备导入至本系统中;•

身份验证进入系统时,对用户的身份进行检查,只允许合法用户登录系统;•

帮助功能为用户使用本系统提供帮助。•4、条件与限制

本系统更为抱负的选择是与其他办公自动化套间集成起来,作为其中的一个组件,在功能方面可以考虑由多用户分别进行管理,系统可认为级别不同的用户设立不同的权限等,同时应进一步提高系统的安全保密性。环节3:总体设计1、解决流程•

系统启动时,自动激活身份验证模块;•

通过身份验证后,对系统初始化。根据系统配置文献将数据库导入,并设立各全局变量;•

系统进入消息循环状态,通过事件驱动机制激活各功能模块,并执行指定模块;•

各项功能执行完毕后重新进入消息循环状态;•

由关闭系统事件激活关闭系统模块,退出系统。2、总体结构和模块外部设计

系统总体结构如图12-5所示。各模块设计如表12-1所示。初始化初始化身份验证退出非正常退出重新验证非正常退出消息循环不通过通过失败浏览查看具体资料查询更新导入导出密码管理图7系统总体结构构成上述模块结构相应的模块功能如下:•3、功能分派(1)系统控制功能•

初始化模块(M1.1);•

关闭系统模块(M1.2);•

系统功能模块(M1.3);(2)浏览功能•

浏览模块(M2.1);•

刷新浏览模块(M2.2);•

基本资料模块(M3.1);•

刷新基本资料模块(M3.2);•

刷新具体资料模块(M4.2);(3)查看具体资料功能•

具体资料模块(4.1)•

刷新具体资料模块(4.2)•

基本资料模块(M3.2);(4)条件查询功能•

条件查询模块(M5.1);•

刷新浏览模块(M2.2);•

刷新基本资料模块(M3.2);(5)增长功能•

增长模块(M6.1);•

刷新具体资料模块(M4.2);•

刷新基本资料模块(M3.2);•

刷新浏览模块(M2.2);(6)删除功能•

删除模块(M6.2);•

刷新浏览模块(M2.2);•

刷新基本资料模块(M3.2);•

刷新具体资料模块(M4.2);(7)修改功能•

修改模块(M6.3);•

刷新浏览模块(M2.2);•

刷新基本资料模块(M3.2);•

刷新具体资料模块(M4.2);(8)报表生成功能•

报表生成模块(M7);(9)打印功能•

打印模块(M8);(10)导入或导出功能•

导入或导出模块(M9);(11)密码管理功能•

密码管理模块(M10);(12)身份验证功能•

身份验证模块(M11);(13)帮助功能•

帮助模块(M12)。环节4:接口设计1、外部接口(1)用户界面采用目前非常流行的GUI,即诸如窗口、菜单、对话框、滚动条、快捷方式等,其主控界面如下图所示。图8主控界面图(参考界面)(2)软件接口运营于Windows98及更高版本具有WIN32API的操作系统之上。(3)硬件接口暂不做规定。2、

内部接口•

初始化模块:系统初始时由操作系统调用,执行完毕后进入消息循环状态;•

关闭系统模块:由系统功能模块调用,执行完毕后返回操作系统;•

系统功能模块:接受系统功能区的相应消息,启动浏览、查询、增长、删除、修改、打印、报表生成等模块;•

浏览模块:由相应消息驱动,完毕对浏览区的直接消息响应功能,也许会调用刷新浏览模块;•

刷新浏览模块:依据当前数据刷新浏览区;•

基本资料模块:由相应消息驱动,完毕对基本资料区的直接消息的响应功能,也许会调用刷新基本资料模块;•

刷新基本资料模块:依据当前数据刷新基本资料区;•

具体资料模块:由相应消息驱动,显示记录的具体资料;•

刷新具体资料模块:依据当前数据刷新具体资料区;•

条件查询模块:完毕查询功能;•

增长模块:完毕增长功能;•

删除模块:完毕删除功能;•

修改模块:完毕修改功能;•

报表生成模块:完毕报表生成功能;•

打印模块:完毕打印功能;•

导入或导出模块:完毕与外设之间的导入或导出功能;•

密码管理模块:完毕对密码的管理功能;•

身份验证模块:完毕对用户的身份验证功能。•

帮助模块:为用户提供帮助功能。环节5:数据结构设计1、逻辑结构设计(1)数据库的命名按照Name_CardTabel的方式定义;(2)配置文献:保存上次程序运营结束后的相关状态;(3)定义全局变量。2、物理结构设计数据库Name_Card的文献物理结构:采用顺序结构的记录文献。3、数据结构与程序的关系•

系统功能模块:运用鼠标及键盘事件来激发;•

条件查询模块:访问后端数据库;环节6:运营设计1、运营模块的组合模块命名方式按照相应模块结合特性制定。命名方式为Mx和Mx.y,其中数字x相同的模块即为同类模块。2、运营控制

本软件控制流程:先由操作系统启动M1.1(其中调用M10),通过身份验证后,登录系统,并调用M2.2和M3.3,然后进入消息驱动模式,由相应的消息分别激活M4、M5.1、M5.2、M5.3、M6、M7、M8、M2.1、M3.1、M1.2等模块,其中M1.2将关闭并退出系统。3、运营时间

各模块运营时间均应控制在1~2秒内(其中大部分为响应用户的动作)。由于系统采用消息驱动方式,将有效提高计算机的运用率。环节7:犯错解决设计•

本软件应充足考虑各种系统错误,避免导致数据库系统不一致或损坏;•

本软件提供撤消机制,避免用户因误操作对数据库系统导致破坏;•

采用对话框形式为用户提供警告信息;•

一些关键性操作(比如删除或修改记录),都应提供确认机制;环节8:安全保密设计•

在用户登录系统时进行身份验证,只允许合法用户进入系统;•

添加导入和导出功能,方便用户对数据进行备份。环节9:维护设计

《电子名片管理系统》软件必须按照软件产品设计规范的环节进行开发,并充足考虑软件可维护性,具体编写各阶段的文档资料,以利于未来版本升级,以及移植等二次开发。思考题1.总体设计阶段的基本任务是什么?总体设计阶段的结束标准是什么?2.说明并比较概要设计说明书和需求分析说明书的内容。实验四撰写具体设计说明书实验目的掌握具体设计的环节,练习撰写具体设计说明书。实验工具Word2023/2023。实验内容1、具体设计方法;2、绘制数据流图,使用Word撰写实验报告。实验规定1、硬件基本配置:IntelPentium120或以上级别的CPU,大于16Mb的内存。2、软件规定:Windows98/2023/XP操作系统,Office2023/2023系统程序。3、实验学时8学时。4、写出实验报告。实验环节环节1:引言1、编写目的编写目的参见实验一的“编写目的”。2、项目背景项目背景参见实验一的“项目背景”。3、术语说明术语说明参见实验一的“术语说明”。4、参考资料参考资料参见书后“参考文献”。环节2:总体设计1、需求概述本软件重要有以下几方面的功能:•

浏览功能以列表形式显示所有记录;•

查看具体资料功能可在浏览状态下点击某条记录,显示其所有信息;•

条件查询功能用户可任意选择字段(如姓名、电话号码、电子邮件地址等),并针对该字段构造出组合查询条件,进行匹配查询;•

增长功能增长一条或多条新的记录;•

删除功能删除一个记录或删除多个记录;•

修改功能修改所有字段,姓名不能为空;•

密码管理登录系统后用户可以随时对密码进行更改;•

报表生成可根据提供的模板将查询结果或选中的数据生成多种风格的报表;•

打印功能将生成的报表或选中记录进行打印输出;•

导入或导出将所有数据或选中数据导出至文曲星、商务通或其他存储设备中;将数据从文曲星、商务通或其他存储设备导入至本系统中;•

身份验证进入系统时,对用户的身份进行检查,只允许合法用户登录系统;•

帮助用户的使用提供帮助。2、软件结构本软件层次方框图如图9所示。初始化初始化身份验证退出非正常退出重新验证非正常退出消息循环不通过通过失败浏览查看具体资料查询更新导入导出密码管理图9系统模块构成图环节3:程序设计说明1、模块描述本软件的具体功能模块图如图10所示。初始化初始化身份验证退出非正常退出重新验证非正常退出消息循环不通过通过失败浏览查看具体资料查询更新导入导出密码管理增长删除修改导入导出图10具体功能模块图2、身份验证模块(M11)功能:对用户进行身份验证,通过验证则登录系统。输入项目:输入用户名和密码。输出项目:无。存储分派:程序运营需要占用内存约1MB左右。本模块的界面如图11所示。图11系统登陆界面3、初始化模块(M1.1)功能:初始化系统,显示欢迎界面,并使系统进入正常工作状态。输入项目:配置文献,数据库文献。输出项目:设立全局变量,浏览区和基本资料区。存储分派:程序运营需要占用内存约1MB左右。测试要点:配置文献或数据库文献损坏,或没有足够内存可供使用时是否正常。本模块的欢迎界面如图12所示。图12登陆欢迎界面4、关闭系统模块(M1.2)功能:关闭并退出系统,保存相应状态数据。输入项目:全局变量。输出项目:更新后的数据库文献和配置文献。测试要点:若数据库文献或配置文献不能正常操作,或全局数据已经不一致,如何解决。5、系统功能模块(M1.3)功能:选择各种系统功能。输入项目:鼠标或键盘事件。输出项目:无。本模块的界面如图13~图22所示。控件名称及其功能说明如表1所示。图13系统主控界面图14系统文献菜单图15系统编辑菜单图16系统视图菜单图17系统联系菜单图18系统工具菜单图19系统帮助菜单图20系统信息排列方式图21系统联系人回收站菜单图22系统生成报表菜单表1文献菜单控件名称及其功能说明控件控件名功能文献-导入-菜单mnuFile导入外部数据文献-导出-菜单mnuFileInput将数据导出文献-页面设立mnuFileOutput设立打印页面属性文献-打印预览mnuFilePrePrint预览打印效果文献-打印mnuFilePrint打印报表文献-退出mnuFileExit退出系统表2编辑菜单控件名称及其功能说明控件控件名功能编辑-菜单mnuEdit取消上一步操作编辑-撤消-菜单mnuEditCancel将需要的内容剪到剪贴板编辑-剪切-菜单mnuEditCut将需要的内容复制到剪贴板编辑-复制-菜单mnuEditCopy将剪贴板中的内容复制到指定位置编辑-粘贴-菜单mnuEditPlaster选顶页面上的所有记录编辑-全选-菜单mnuEditSelectAll表3联系人操作菜单菜单控件名称及其功能说明控件控件名功能联系人-菜单mnuRelation联系人-新联系人-菜单mnuRelationAdd添加联系人联系人-删除-菜单mnuRelationDel删除记录联系人-修改-菜单mnuRelationModify修改联系人信息联系人-保存-菜单mnuRelationSave保存信息联系人-取消修改-菜单mnuRelationUndo取消上一次操作表4视图菜单控件名称及其功能说明控件控件名功能视图-菜单mnuView视图-工具栏-菜单mnuViewTools打开/关闭工具栏视图-状态栏-菜单mnuViewStates打开/关闭状态栏视图-具体资料-菜单mnuViewDetail显示联系人的具体资料视图-浏览-菜单mnuViewExplore以列表方式显示联系人的基本信息视图-排列方式-菜单mnuViewStyle设立按何字段排列顺序视图-排列方式-姓名-菜单mnuViewStyleName按名字字段排序视图-排列方式-电子邮件-菜单mnuViewStyleEmail按电子邮件字段排序视图-排列方式-单位电话-菜单mnuViewStyleTelO按单位电话字段排序视图-排列方式-家庭电话-菜单mnuViewStyleTelH按家庭电话字段排序视图-排列方式-递增菜单mnuViewStyleUp按递增方式排序视图-排列方式-递减菜单mnuViewStyleDown按递减方式排序视图-刷新-菜单mnuViewUpdate刷新当前显示的记录表5工具菜单控件名称及其功能说明控件控件名功能工具-菜单mnuTools工具-密码管理-菜单mnuToolsPassword管理用户密码设立工具-联系人回收站-菜单mnuToolsWastebin存放被删除的联系人工具-查询-菜单mnuToolsSearch查找联系人工具-生成报表-菜单mnuToolsReport将联系人信息生成报表工具-生成报表-电话目录-菜单mnuToolsReportTel将联系人信息以电话目录方式生成报表工具-生成报表-卡片式-菜单mnuToolsReportCard将联系人信息以卡片方式生成报表工具-生成报表-列表式-菜单mnuToolsReportList将联系人信息以列表方式生成报表表6工具栏控件名称及其功能说明控件控件名功能浏览-按钮cmdPreviw具体信息-按钮cmdDetail浏览联系人的具体信息添加-按钮cmdAdd添加新联系人删除-按钮cmdDel删除联系人修改-按钮cmdModify修改联系人信息打印-按钮cmdPrint打印报表打印预览-按钮cmdPrePrint预览打印效果第一个-按钮cmdFirst选中数据库中的第一个记录前一个-按钮cmdPrev选择当前记录的前一条记录后一个-按钮cmdNext选择当前记录的后一条记录最后一个-按钮cmdLast选择数据库中的最后一条记录查找-按钮cmdSearch查找记录帮助-按钮cmdHelp提供帮助功能基本信息-按钮cmdBaseInfo按列表方式显示联系人的基本信息6、浏览模块(M2.1)功能:以列表方式将数据记录显示在浏览区内,并维护窗口中浏览区中信息的更改和刷新。性能:这是用户使用频率较高的一个模块,对性能规定在1~2秒内作出反映。输入项目:鼠标、键盘事件或标准SQL语句。输出项目:重新设立的浏览区中信息。测试要点:对各事件进行测试。本模块的界面如图13所示。本界面中的列表框应给出每个联系人的五项基本信息,分别是:名称、电子邮件、单位电话、家庭电话和移动电话。7、刷新浏览模块(M2.2)功能:运用全局变量中的信息重新刷新浏览区。输入项目:将要设立成焦点记录的记录号。输出项目:设立浏览区。测试要点:对有效和无效的输入记录号进行测试。8、基本资料模块(M3.1)功能:维护窗口中基本资料区中五项信息的更该和刷新。性能:这是经常使用的一个模块,对性能规定在1~2秒内作出反映。输入项目:鼠标或键盘事件。输出项目:重新设立的基本资料区中信息测试要点:对各事件进行测试。9、刷新基本资料模块(M3.2)功能:运用全局变量中的信息重新刷新基本资料区。输入项目:解决方式(更新或刷新)。输出项目:设立浏览区和数据库。10、具体资料模块(M4.1)功能:显示联系人的具体信息。输入项目:焦点记录号。输出项目:下一步将要执行的功能(“拟定”、“修改”、“删除”、“打印”)。测试要点:对各事件进行测试。本模块的界面如图23所示。控件名称及其功能详见表12-4。图23系统具体资料浏览界面表7具体资料浏览界面控件名称及其功能控件控件名功能姓名-编辑控件txtName输入联系人姓名单位名称-编辑控件txtNameO输入联系人单位名称职位-编辑控件TxtJob输入联系人职位部门-编辑控件TxtDepartment输入联系人部门手机-编辑控件TxtMobile输入联系人手机寻呼-编辑控件txtBeeper输入联系人寻呼家庭电话-编辑控件txtPhoneH输入联系人家庭电话单位电话-编辑控件txtPhoneO输入联系人单位电话EMAIL-编辑控件txtEmail输入联系人EMAIL个人主页-编辑控件txtHomepageP输入联系人个人主页单位地址-编辑控件txtAddressO输入联系人单位地址单位邮编-编辑控件txtPostalcodeO输入联系人单位邮编单位主页-编辑控件txtHomepgeO输入联系人单位主页单位传真-编辑控件txtFaxO输入联系人单位传真家庭住址-编辑控件txtAddressH输入联系人家庭住址家庭邮编-编辑控件txtPostalcodeH输入联系人家庭邮编昵称-编辑控件txtNickname输入联系人昵称爱好-编辑控件txtHobby输入联系人爱好专长-编辑控件txtForte输入联系人专长性别-组合框txtSex输入联系人性别生日-年-组合框comboBirthdayY选择联系人生日的年份生日-月-组合框comboBirthdayM选择联系人生日的月份生日-日-组合框comboBirthdayD选择联系人生日的日期日历类型-组合框comboCalendar选择生日所采用的生日类型11、刷新具体资料模块(M4.2)功能:重新刷新具体资料。输入项目:解决方式(修改或刷新)。输出项目:设立具体资料浏览区和数据库。12、查询模块(M5)功能:完毕查询功能。性能:响应时间控制在1~2秒内。输入项目:查询条件。输出项目:标准的SQL语句,发送设立浏览区命令。测试要点:测试各种查询方式。本模块的界面如图4所示。控件名称及其功能略。图24

系统查询界面13.修改模块(M6.3)功能:完毕修改功能。输入项目:焦点记录号。输出项目:设立数据库和全局变量。本模块的界面如图23所示。控件名称及其功能略。14.增长模块(M6.1)功能:完毕增长功能。输入项目:鼠标或键盘命令。输出项目:无。本模块的界面如图25所示。控件名称及其功能略。图25系统增长信息输入界面15、删除模块(M6.2)功能:完毕删除功能。输入项目:鼠标或键盘命令。输出项目:无。16、报表生成模块(M7)(选做其中一种形式)功能:生成多种风格的报表。输入项目:鼠标或键盘命令。输出项目:生成的报表。本模块的界面如图26~图28所示。图26生成报表形式1图27生成报表形式2图28生成报表形式317.打印模块(M8)(选做)功能:完毕打印功能。输入项目:报表。输出项目:无。本模块的界面如图29所示。图29打印设立界面18、导入模块(M9.1)(选做)功能:完毕数据的导入功能。输入项目:导入文献。输出项目:刷新基本资料模块,并设立浏览区。19、导出模块(M9.2)(选做)功能:完毕数据的导入功能。输入项目:导入文献。输出项目:无。20、密码管理模块(M10)功能:对密码进行设立。输入项目:鼠标或键盘事件。输出项目:无。21、帮助(M12)功能:提供对电子名片管理系统使用的帮助功能。输入项目:鼠标或键盘事件。输出项目:无。本模块的界面如图33~图34所示。控件名称及其功能略。图33图34思考题•

简述具体说明书的重要内容、基本原则与任务。•

如何对具体设计进行复审?建议:以上给出的方案仅作参考之用,同学们可以根据自己的思想开发类似的管理系统。学生在开发该项目时,可用类似于windows的界面,这需要从网上下载界面制作组件。以下给出了主控界面的参考界面:针对软件工程这门课程的特点,学生不能完全靠实验课的课堂时间来完毕本门课程的实验教学,必须在课后花大量的时间来完毕系统的开发工作,课堂时间只能用来熟悉环境、整理文档、师生讨论和资料查询等工作。在模块说明中,没有做特别注明的为必做功能模块,其他有说明的为选做功能,有多余时间和精力的同学可以选做。实验五UML的使用实验目的学习使用RationalRose98及以上版本的基本方法。实验工具1、RationalRose98公司版或以上个版本。2、VisualBasic5.0/VisualBasic6.0/Java/C++等。实验内容通过建立电子名片管理系统模型来学习使用RationalRose98。实验规定1、硬件基本配置:IntelPentium120CPU或以上级别的CPU,大于16Mb的内存。2、软件规定:Windows98/2023/XP操作系统,Office2023/2023系统程序。3、实验学时4学时。4、绘制出管理系统各种模型。实验环节环节1:软件的安装和配置•

启动RationalRose假如使用Rose的公司版,则不使用Framework(在FrameworkWizard上单击Cancel按钮)。•

设立默认语言为VisualBasicS1在tool下拉菜单中单击Options;S2选择Notation标签;S3设立Default域(单击箭头时下拉菜单可见选择VisualBasic)。•

关闭控制焦点S1在tool下拉菜单中单击Options;S2选择图标签。S3选中FocusofControl复选框。•

显示所有的属性和操作:S1在tool下拉菜单中单击Options;S2选择图标签。S3选中ShowallAttributesandShowallOperations复选框。环节2:打开MainUseCaseDiagram通过生成一个UseCase图来开始为学生注册系统建模。这种图由许多因素、使用案例和这些案例之间的关系构成。一方面打开MainUseCaseDiagram,其环节如下:•

在左边导航栏中单击UseCaseView文献夹旁边的+。•

双击名为Main的图标打开图形界面。如上图所示。环节3:添加Actor拟定在开发时与系统互相作用的人或事物。对于我们这个问题来说,有四个Actor,即Student,Professor,Registrar和BillingSystem。在这一步,拟定与系统互相作用的人或事物。环节如下:图12-37•

从工具条上通过单击选择Actor图标(人的形状)。•

单击图形界面放置Actor。•

在Actor处在被选中状态下,输入名字为Student。•

对其他三个Actor(Professor,Registrar和BillingSystem)反复以上操作。如图12-37所示。环节4:添加UseCase(用例)为每一个Actor拟定UseCase。UseCase是系统提供的一项功能。你可以观测每一个Actor,看它们和系统之间是如何通过互相作用来拟定UseCase。在我们这个模型中,Student要做的事情是RegisterforCourses,BillingSystem接受注册信息。Professor要做的事情是RequestCourseRoster,最后,Registrar要执行的操作为ManageCurriculum。环节如下:图12-381、从工具条中通过单击选择UseCase图标(椭圆形的)。2、单击图形界面放置UseCase。3、在UseCase处在被选中的状态时,输入名字RegisterforCourses。4、对其他的UseCase(RequestCourseRoster,ManageCurriculum)反复以上环节。如图12-38所示。

Actor和UseCase之间的联系是画在它们中间的。一个单方向的箭头是用来表达信息传递的方向(显示了是谁创建了信息)。在课程注册系统中,Student创建了RegisterforCoursesUseCase,这个UseCase又因此与BillingSystem通信。Professor创建了RequestCourseRosterUseCase,Registrar创建了ManageCurriculumUseCase,其环节如下:图12-39•

从工具条中通过单击选中单向箭头(箭头形状)。•

单击StudentActor并将鼠标拖至RegisterforCoursesUseCase。•

从工具条中通过单击选择单向箭头。•

单击RegisterforCoursesUseCase并将鼠标拖至BillingSystemActor。

对其他的联系(ProfessorActor到RequestCourseRosterUseCase,RegistrarActor到ManageCurriculumUseCase),反复以上环节。如图12-39所示。注意:假如你在选择单向箭头是始终按住Shift键不放,就可以不必每一次都到工具条中去选。环节5:创建Sequence图

UseCase功能也许被显示在一个SequenceDiagram中。SequenceDiagram涉及对象以及显示对象之间的行为是如何实现的消息。我们看一看“RegisterforCourses”的“AddaCourse”SequenceDiagram的环节如下:。图40•

在左侧导航栏中,在RegisterforCourses用例上单击鼠标右键出现快捷菜单。•

在New的子菜单中选择SequenceDiagram。这将在导航栏中添加一个名为New图的SequenceDiagram。•

当新的图处在选中状态时,输入名字AddaCourse。如图12-40所示。

然后将向图中添加对象和消息去执行需要的功能。通过双击导航栏中的图来打开图。既然这种情况是由StudentActor来创建的,我们就可以把这个Actor拖到图上。假如想要这个Actor更清楚一点,我们可认为它取一个名字,我们就称这个学生为“Joe”,其环节如下:•

在导航栏中的SequenceDiagram上双击打开图。•

在导航栏中单击选择StudentActor并把它拖到SequenceDiagram中。•

在SequenceDiagram上单击选中Actor并输入名字——Joe。如图12-41所示。

在这种情况下,学生必须在注册表格中填入信息,然后提交表格。这意味着有一个注册表格对象,这个对象从学生那里接受信息。

将创建一个表格并添加两个消息,“fillininfo”和“submit”,其环节如下:图12-421.

在工具条中单击选中对象图标(矩形的)。2.在SequenceDiagram中单击放置对象。3.当对象处在被选中的状态时,输入名字registrationform。4.在工具条中单击选中对象消息图标(箭形)。5.单击StudentActor的虚线并将箭头拖至registrationform对象的虚线上。6.当箭头处在被选中状态时,输入下面的消息:fillininformation。

反复环节4至环节6来创建submit消息。结果如图12-42所示。

然后表格向管理员发送一个消息。告诉管理员一个学生必须被添加到课程里―Joe想选修math101,其环节如下:图12-43•

在工具条中单击选中对象图标(矩形的)。•

在SequenceDiagram表中单击放置对象。•

当对象处在被选中状态时输入名字manager。•

在工具条中单击选中对象消息图标(箭形)。•

在registrationform对象的虚线上单击并将箭头拖至manager对象的虚线上。

当箭头处在被选中状态时,输入下面的消息:addJoetoMath101。结果如图12-43所示。然后管理员告诉math101,Joe要加入课程,其环节如下:图12-44•

在工具条中单击选中对象图标(矩形的)。•

在SequenceDiagram中单击放置对象。•

当对象处在被选中状态时,输入名字math101。•

在工具条中单击选中对象消息图标(箭形)。•

在manager对象的虚线上单击并将箭头拖至math101对象的虚线上。•

当箭头处在被选中状态时,输入下面的消息:addJoe。结果如图12-44所示。

假如课程提供处在打开状态(在这里,答案是肯定的),然后请求课程提供,告诉课程提供添加Joe,环节如下:图12-451.在工具条中单击选中对象图标。2.在SequenceDiagram中单击放置对象。3.当对象处在被选中状态时,输入名字section1。4.在工具条中单击选中对象消息图标(箭形)。5.在math101对象的虚线上单击并将箭头拖至section1对象的虚线上。6.当箭头处在被选中状态时,输入如下消息:acceptingstudents?7.反复环节4至环节6来创建消息addJoe。其结果如图12-45所示。最后,告知billingsystemJoe正在选修math101。如图12-46所示,图12-46•

在工具条中单击选中对象图标(矩形的)。•

在SequenceDiagram中单击放置对象。•

当对象处在被选中状态时,输入名字bill。•

在工具条中单击选中对象消息图标(箭形)。•

在manager对象的虚线上单击并将箭头拖至bill对象的虚线上。•

当箭头处在被选中状态时,输入如下消息:SendbillforMath101toJoe。如图12-47所示。图12-47环节6:创建类图在SequenceDiagram中的对象分为几类。基于SequenceDiagram,可以拟定如下的对象和类:registrationform是RegForm类的一个对象,manager是Manager类的一个对象,math101是Course类的一个对象,section1是CourseOffering类的一个对象,bill是外部billingsystem的接口,因此我们将把BillingSystem作为它的类的名字来使用,如图12-48所示。图12-48类是在LogicalView中创建的。•

在导航栏中用鼠标右键单击LogicalView文献夹,弹出快捷菜单。•

在New的子文献夹中选择Class,这将为导航栏中添加一个名为NewClass的类。•

当类处在被选中的状态时,输入名字RegForm。•

反复上面的环节添加其他的类:Manager,Course,CourseOffering和BillingSystem。当类被创建了,它们应当被存档。文档通过文档窗口来添加,如图12-49所示。图12-49

在导航栏中单击选中CourseOffering类。

在文档窗口中进入它的文档中。图形表达场景和找到类的过程在你清楚了收益递减的规律之前一直继续着。这个收益递减规律是说你没有找到任何新的信息,也就是说,你没有找到任何新类并且你看起来正在一遍又一遍地输入相同的消息。

类在导航栏中察看是一件好事,但是也需要图。这是类图表得以展示的地方。让我们打开Main类图表并把我们的类加进去,如图12-50所示,其环节如下:图12-50•

在导航栏中双击名为Main的图来打开图。•

在Query菜单下选择:AddClasses。•

单击All按钮添加所有的类。•

单击OK按钮关闭窗口,这样就将类添加到了图中。•

通过选中类并将它拖动到新的位置来在图中按需要重新安排类。注意:也可以通过从导航栏中拖到图中的方法来添加类。但是这样只能一次解决一个类。环节7:指定原型类型UML有一个原型的概念,这个概念可以用来创建新类型的建模元素。它提供了为模型添加含义的能力。由于它是一个代表billingsystem外部接口的一个类,所以我们将使用预定义的BillingSystem类的接口原型。又由于这将最终成为某种GUI表格,所以我们将使用RegForm类的表格原型,如图12-51所示。图12-51双击Main类中的BillingSystem类,打开定义(Specification)窗口,单击Stereotype域的箭头,显示下拉菜单。选择接口原型(Interfacestereotype),选择OK按钮,关闭Specification窗口。对RegForm类反复上述环节。环节8:设立关系类型

为了便于对象间的通信,可添加类间的关系。顺序图就是用于检查一个对象是否必须同另一个对象通信的情况。假如是必须的,那么在它们的类之间必须有一个通信的途径。两种常见的关系类型是关联和聚合。

关联是类间的一个双向连接。通过检查“添加流程(AddaCourse)”顺序图,可以看出RegForm与Manager、Manager与Course和Manager与Bill之间是否存在关联。•

在从工具条上单击关联图标(线条)。•

单击RegForm类,并将先拖到Manager类。•

反复上述环节,给如下的类间添加关系:•

Manager与Course•

Manager与BillingSystem其结果如图12-52所示。图12-52聚合是关联的一种增强形式,它体现了整体与部分之间的关系。在Course与CourseOffering之间创建一个聚合关系(Course由CourseOfferings组成的)。设立类间聚合的操作如下:•

单击工具条上的聚合图标(带有菱形的线)•

单击类CourseOffering•

拖动聚合线到Course类,如图12-53所示。图12-53Multiplicityindicators被添加到模型中的关系中,它将显示这个关系连接了多少个对象,其环节如下:•

在CourseOffering类的聚合线附近单击鼠标右键•

选择Multiplicity∣OneorMore菜单命令•

在Course类的聚合线附近单击鼠标右键•

选择Multipliciy∣1菜单命令。其结果如图12-54所示。图12-54环节9:设立属性类的一系列属性显示了类的结构。这种结构是在研究需求分析问题时发现的,并通过这个领域的专家和客户转化而来。在模型中,每个CourseOffering被放在一个特定的地方,这是一个属性。•

在类图中的CourseOffering类处,单击鼠标右键。•

选择New:Attribute菜单命令,它将向类中添加一个名为<<>>name:type=initval的属性。•

输入属性名:location。环节10:设立操作一个类的行为是通过其一系列的操作来体现的。操作最初是通过在顺序图中将消息映射到操作而发现的。•

将顺序图中的对象指派给类,双击浏览器中图表,打开添加流程(AddaCourse)顺序图窗口。•

单击选中浏览器中的类CourseOffering,将类CourseOffering拖到第一部分的对象。如图12-56所示。图12-56•

一旦对象被映射到类中,你就能将它获取的消息映射为一个新的操作或者是类已定义的操作。在消息“acceptingstudents?”处,单击鼠标右键,将弹出一个快捷菜单,选中〈newoperation〉命令,将打开操作定义窗口(OperationSpecification)。•

输入新操作的名字--offeringOpen。•

单击OK按钮,关闭操作定义窗口。如图12-57所示。一旦一个新的操作被创建,那么消息将被映射到操作上,在消息“acceptingstudents?”处,单击鼠标右键,将弹出快捷菜单,选择offeringOpen()操作,参阅图12-58。图12-58•环节11:生成代码最后,你应当为模型中的类生成代码。在这里,使用tool中的ComponentView来定义系统中的组件。Rose将会自动生成名为Main的组件图,其环节如下:•

单击浏览器中ComponentView左边的+号•

双击名为Main的图,将打开Main组件图。如图12-59所示。图12-59

在模型中,我们将创建两个组件Registration和BillingSystem。其环节如下:•

单击工具条中的组件图标。•

在图上单击一下,将生成一组件。•

当新的组件处在选中状态时,输入其名字——Registration(你可以设立组件的大小)。反复上述环节,创建BillingSystem组件。其结果如图12-60所示。图12-60每个组件规定指定一种语言,这意味着分派给组件的类将用指定的语言实现。我们指定BillingSystem组件的语言为Java,Registration组件的语言为VisualBasic。其环节如下:•

在组件图或浏览器中双击BillingSystem组件,将打开组件定义(ComponentSpecification)窗口。•

单击Language域的箭头,显示下拉菜单。•

选择语言——Java。•

单击OK按钮,关闭ComponentSpecification窗口。•

双击Registration组件,将其语言设为VisualBasic(Rose默认的语言为VisualBasic),如图12-61所示。图12-61一旦组件被创建,模型中的类应当被指派给组件,如图12-62所示。图12-62BillingSystem类是一个接口类,它用一个棒棒糖符号引出,其环节如下:•

双击图或浏览器中的BilllingSystem组件,打开定义(Specification)窗口。•

选择Realizes标签。•

在类BillingSystem处,单击鼠标右键,将弹出一快捷菜单。•

选择命令Assign。•

单击OK按钮,关闭Specification窗口。•

将所有其它的类指派给Registration组件。如图12-63所示。图12-63组件之间的关系将用一个从属关系表达。在我们的模型中,Registration组件将通过BillingSystem接口与BillingSystem组件通信,其环节如下:•

单击工具条上的DependencyRelationship图标•

单击Registration组件,将箭头拖到BillingSystem组件,保存模型。如图12-64所示。图12-64为Registration组件生成代码。既然组件指定VisualBasic语言,应使用Tools∣VisualBasic∣GenerateCode菜单命令来生成代码,如图12-65所示。图12-65•

单击选中组件图中的Registration组件。•

选择Tools∣VisualBasic∣GenerateCode菜单命令。

这样,将会出现VisualBasic代码生成向导(CodeGenerationWizard)。如图12-66所示。在这里,将接受代码生成的所有默认设立,因此,仅需单击Finish按钮。图12-66

代码生成器将生成一个名为Registration的标准VB工程。在VisualBasic中,一个标准的工程将同时生成一个名为Form1的表单(form)。Rose的代码生成向导可以对的地辨认这个表单是VisualBasic中的代码而不是模型的,并且询问你是要保存类还是要删除它。可以删除它,如图12-67所示。图12-671、单击Form1类。2、单击Delete>按钮。3、单击OK按钮,继续进行代码生成过程。

当代码生成完毕的时候,将显示Summary窗口,所有的错误被写入日记(log)中,如图12-68所示。图12-684、单击Close按钮,完毕代码生成过程。如图12-69。图12-69

单击选中组件图表中的Registration组件。选择Tools∣VisualBasic∣BrowseVisualBasicSource菜单命令。将会看到Rose为所有指派给Registration组件的类生成的代码,如图12-70所示。图12-70

Rose也为RegForm类生成了一个表单,这是由于VB的代码生成过程将带有表单原型的类视为VisualBasic类的特有类型,如图12-71所示。图12-71图12-72

将会看到加入到模型中的文档也被加入到了代码中,如图12-72所示。

现在有一个很重要的问题。你已经完毕了分析、设计,生成了代码,并正在实现方法,这时,你却发现你需要此外一个操作。有多少人会回到模型中,添加新操作并重新生成代码呢?或许没有,将会更新代码!如图12-73,其环节如下:图12-73•

选择Tools∣AddProcedure菜单命令。•

输入新过程的名字——incrementCount。•

选择Function单选按钮。•

单击OK按钮,关闭添加过程(AddProcedure)窗口。环节12:模型转换为工程

现在,又碰到一个新的问题,代码与模型不一致。这时,需要进行工程转换,如图12-74,环节如下:图12-74•

选择Add-Ins∣RationalRose98∣ReverseEngineeringWizard菜单命令,打开向导窗口。•

选择需更新的模型。•

单击OK按钮。既然仅仅更新了CourseOffering类,因此我们只需转换这一个类,参阅图12-75,环节如下:•

单击Forms左边的复选框(checkbox),让Forms项不被选中。•

单击Modules左边的复选框,让Modules项不被选中。•

单击ClassModules左边的+号,将其展开。•

单击Course和Manager左边的复选框,让其不被选中。•

这时,只要单击一下Finish按钮,就可以使用默认的工具来完毕工程过程(engineeringprocess)的转换。图12-75

在转换过程完毕后,我们将会看到Summary窗口,所有的错误将被写入日记(log)中。如图12-76所示。单击Close按钮,将完毕转换。图12-76从类图表可以看出模型作了哪些更新,参阅图12-77。图12-77•

假如LogicalView项没有展开,单击其左边的+号,将其展开。•

双击浏览器中的Main类图,将其打开。•

根据需要,重新排列类的位置(选中一个类,将其拖到一个新的地方)将会看到由代码生成器添加的属性和操作,你也会看到CourseOffering类的操作incrementCount()已经被添加到模型中了。通过这个简短的示例中,你学会了在软件开发的分析和设计的整个过程中,如何运用RationalRose去想象、分析、设计、实现和文档化一个正在开发的系统。思考题1.简述面向对象的基本设计方法。2.UML的定义是什么?以及它的组成部分有哪些?3.UML的内容涉及哪些成分?它的特点是什么?附录:软件设计文档国家标准一、可行性研究报告TOC

温馨提示

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

评论

0/150

提交评论