软件工程实践报告(5个)_软件工程专业实践报告
软件工程实践报告(5个)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程专业实践报告”。
软件工程实践实验报告
姓名: 学号:
班级: 计算机科学与技术
实验一 软件需求分析
1软件需求分析
任务分析 ATM自动提款机系统。ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。ATM是英文Automatic Teller Machine的缩写。在ATM自动取款机上可以进行账户查询、修改密码和转账的业务。作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。ATM自动取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。减少了用户办理业务的等待时间;用户可以随时随地可以随心所欲存取款,并且操作简单易懂。
我们所需要的是建立一个与后台用户数据信息数据库绑定的集查询,存款,取款,转账等功能为一体的ATM自助服务系统。实验目的学习图形工具软件VISIO,掌握结构化需求分析方法,熟练绘制数据流图; 学习快速原型工具的使用。基本要求
(1)针对银行ATM系统进行需求分析工作,了解银行ATM系统的功能、流程;(2)安装VISIO2003以上版本软件,熟练应用Visio绘制DFD图,绘制银行ATM系统数据流图,完成系统的软件逻辑模型;
(3)安装Axure RP Pro 或者Balsamiq Mockups快速原型软件,学习绘制软件原型,完成银行ATM系统的软件原型。ATM自动柜员机业务系统需求分析
需求分析:由于科技发展迅速,几乎所有的银行都配备了简易的人工操作的ATM自动取款机。人们可以随时随地进行交易,不再受银行的服务时间的约束,取款也很方便快捷,可以减少排队等待时间。
ATM机系统的主要功能:1.取款2.存款3修改密码4..凭条打印5.转账6.余额查询7.交易明细查询。
⒈取款
持卡人在ATM机上提取现金。余额不足时不能取出取款所需的现金。ATM机可以提供指定取款金额的快速取款画面。ATM机取款成功后,要向银联系统写入操作,并对客户余额进行相应处理。⒉存款
ATM机要能清点现金,将相应操作信息写入银联系统,对客户余额进行 修改。⒊ 修改密码
若新密码1和新密码相同则修改密码成功,要修改客户密码表,并将操作 信息写入银联系统。否则,修改密码不成功。⒋ 打印凭条
对客户做的操作及用户基本信息进行打印。⒌转账
完成不同银行卡之间资金的转移。若客户余额不足则转账识别。转帐成 功,对客户和收账人的余额进行相应的修改,写入账户余额表,并向银 联系统写入操作。6.余额查询
客户查询银行卡,在屏幕上显示银行卡账户余额。⒎ 交易明细查询
完成银行卡账户的近十笔交易明细查询,在屏幕上显示。
ATM机工作流程:插入卡->输入密码->选择操作类型->交易流程->确定交易->写入账户信息和银联系统 ATM自动柜员机业务系统数据流图
3.1顶层数据流图
3.2一层数据流图
将银行卡从读卡器插入ATM机,输入密码登录,登陆成功,则在LCD显示屏 上显示无ATM机不提供的操作的功能选择界面,进行操作并显示信息、进行相关处理。三次错误输入密码则吞卡。ATM机钞箱缺钱时则通知加钞。
一层数据流图
3.3二层数据流图
客户插入银行卡后开始识别银行卡所属的银行和账户信息,识别后开始校验客 户输入的密码,判断是否和正确密码相符,若相符则进行ATM机自检,去掉暂时不能提供的操作,让用户选择操作。若不相符则提示错误,输入三次都不相符,则吞卡。
登录的第二层数据流图
成功登录后选择交易,并在交易过程中进行操作倒计时,以防用户忘记取卡 而丢失卡,交易完成可以选择打印凭条和退卡。
动作的第二层数据流图
超时或连输三次错误的密码都会吞卡,并自动冻结卡,显示吞卡信息并打印 吞卡凭条。
吞卡的第二层数据流图
ATM机缺钱时发送钞箱缺钱信息,进行清机对账,验钞点钞,打开金库,将钱放入钞箱。
加钞的第二层数据流图 3.4三层数据流图
ATM自查时查钞箱余额和凭条打印机的纸墨余量,以在功能选择界面上去掉 ATM暂时不能提供的操作。
ATM机自检的第三层数据流图
选择交易,进行存款、查询、取款、改密、转账等操作,同时对操作进行倒计时,并向后台银联系统提供信息,在LCD显示屏上显示信息。
交易的第三层数据流图
3.5四层数据流图
选择存款操作后,打开存款槽,存款后,关闭存款槽,点钞机点钞,将金额 和张数显示在LCD屏上,确定后向后台提供信息,修改余额信息。
存款的第四层数据流图
选择查询功能后,再在两个子功能下选择进行的是余额查询还是交易明细查 询,并在 LCD显示屏上显示提示信息。
查询的第四层数据流图
选择取款功能后,比较客户的余额是否大于取款金额,并修改客户的余额信 息,在LCD屏上显示提示信息,向后台系统提交信息。
取款的第四层数据流图
改密时先输入一遍新密码,再输入一遍新密码,若两次密码相符,则改密成功,对用户名密码表进行相关修改,在LCD屏上显示提示信息,向后台提供信息。否则显示改密失败。
转账时,先输入一遍收账人账户,再输入一遍,若相符,则比对客户余额是否大于转账金额,若是,则转账成功,修改两个账户的余额,在LCD显示屏上显示提示信息,向后台提供信息。若否,则显示转账失败。
改密的第四层数据流图
3.6五层数据流图
选择查询账户余额信息时,查客户余额表,显示在LCD显示屏上。
余额查询的第五层数据流图
选择查询账户交易明细后,查客户交易明细信息表,并在LCD显示屏上显示出信息。
转账的第四层数据流图
交易明细查询的第五层数据流图ATM自动柜员机业务系统原型系统
1、待机欢迎界面
2、输入密码界面
3、服务选择界面
4、取款金额选择界面
5、取款结束界面
6、存款提示界面
7、存款信息界面
8、存款结束界面
9、查询选择界面。
10、查询余额界面
11、查询明细界面
12、转帐账户输入界面
13、账户错误界面
14、转帐金额输入界面
15、转帐成功界面
16、退卡提示界面
17、密码验证界面
18、新密码输入界面
19、新密码确认界面
20、修改成功界面
21、修改失败界面
实验二 面向对象的软件分析与设计
实验目的学习UML和UML软件工具,掌握面向对象分析与设计方法
基本要求
1、学习面向对象分析与设计方法和UML;
2、安装StarUML 和Rational Rose软件,熟练使用UML软件工具,对目标系统进行分析,完成用例图、类图。
3、完成序列图、状态图、活动图等图形的绘制。
4、学习UML模型和源代码的双向工程,完善报告。前言
由于科技发展迅速,几乎所有的银行都配备了简易的人工操作的ATM自动取款机。人们可以随时随地进行交易,不再受银行的服务时间的约束,取款也很方便快捷,可以减少排队等待时间。问题说明
客户插入银行卡,要求ATM自动柜员机能识别卡,若能够识别出卡,则要求客户输入密码,若输入密码正确,让客户选择业务,若输入密码错误,则让客户再次输入密 码,输入三次错误的密码则执行吞卡操作。
选择的业务若是取款,则让客户输入取款金额,超过账户余额,则取款失败,否则取款成功,取款槽吐出现金,修改账户余额,并记录操作信息。
选择的业务若是存款,则打开存款槽,让客户放入现金,并能启动点钞机,清点客户放入的现金数目,修改账户余额,并记录操作信息。
选择的业务若是转账,则让客户输入两遍转账账号和转账金额,若两遍转账账号不一致,则不能转账,若输入转账金额超过账户余额,则转账失败,否则转账成功。
选择的业务若是查询,则从服务器中查找出客户的余额或交易明细信息,并显示出来。
选择的业务若是修改密码,则要求客户输入两遍新修改的密码,若两遍密码一致,则改密成功,并修改账户密码,密码不一致,则改密失败。选择打印凭条,则启动凭条打印机,打印凭条并吐出凭条。选择退卡,则让读卡器吐出银行卡。Use Case图
3.1账户用例图
3.2系统维护人员用例图
3.3设备管理人员用例图
3.4系统时钟用例图
3.5总的用例图类图序列图 5.1登录基本序列图
5.2登录备选序列图(密码错误)
5.3登录备选序列图(密码错误吞卡)
5.4 取款序列图
5.5取款备选序列图(余额不足)
5.6查询序列图
5.7 存款序列图
5.8 修改密码序列图
5.9 修改密码备选序列图(两次密码不一致)
5.10 转账序列图
5.11 转账备选序列图(两次输入账户不同)
5.14退卡序列图
6协作图
6-1协作图
7-1识别银行卡活动图
7-2登录活动图
7-3取款活动图
7-4存款活动图
7-5修改密码活动图
7-6转账活动图
7-7查询活动图
7-8打印凭条活动图
7-9退卡活动图
7-10吞卡活动图
7-11备份活动图
7-12加钞活动图
7-13维护活动图
8状态图
实验三 集成编程环境与编码规范
1.实验目的学习PHP、.Net、JAVA集成编程环境,熟悉各语言的编码规范。
2.基本要求
(1)学习PHP语言基础,学习PHP集成编程环境EPP,了解常用插件,掌握Zend debuger PHP断点调试功能;
(2)学习.C#语言基础,学习.Net集成编程环境,掌握集成环境中的调试技术;
(3)学习JAVA集成编程环境Eclipse,参考《Java编码规范及实践》了解JAVA设计模式。
3.实验内容
选择JAVA集成编程环境Eclipse,了解JAVA语言以及Eclipse的安装与使用。
4.语言简介
JAVA是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
5. 开发环境介绍
本次实验,JAVA语言的开发环境选用集成开发环境Eclipse,Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
6.准备工作