《软件工程》大作业
——面向对象分析与设计报告
课题名称__________________________
专业班级__________________________
小组成员__________________________
华中科技大学武昌分校
20xx年12月
目 录
1系统需求分析…………………………………………………………………页码
1.1 问题描述………………………………………………………………………页码
1.2 用况模型分析…………………………………………………………………页码
1.3 静态模型分析…………………………………………………………………页码
1.4 动态模型分析…………………………………………………………………页码 2 系统架构设计……………………………………………………………………页码
2.1 系统逻辑体系架构设计………………………………………………………页码
2.2 系统物理体系架构设计………………………………………………………页码 3 系统详细设计……………………………………………………………………页码
3.1 功能详细设计…………………………………………………………………页码
3.2类模型详细设计………………………………………………………………页码 4 数据库设计…………………………………………………………………页码
4.1 数据库概念模型设计…………………………………………………………页码
4.2 数据库逻辑模型设计…………………………………………………………页码
4.3 数据库的建立…………………………………………………………………页码 5 系统实施及测试 ………………………………………………………………页码
5.1 技术介绍…………………………………………………………………页码
5.2 编码实现………………………………………………………………………页码
5.3系统测试 …………………………………………………………………页码 总结…………………………………………………………………………………页码
1 系统需求分析
说明需求分析的目的及分析步骤。
1.1 问题描述
针对选题,用文字简要描述用户的需求及要解决的问题。
1.2 用况模型分析
针对选题,说明用例图的作用是什么?
根据分析画出系统中用例图(分层),以及对功能较复杂的用例进行用例说明(2个)。
1.3 静态模型分析
介绍静态模型(对象模型)是什么,其作用是什么?
根据用例图中所定义的问题域,识别对象,找出实体类,确定属性、方法及关联,画出实体类图
1.4 动态模型分析
1.4.1 状态图
说明状态图的作用
根据用例图中所定义的问题域,找出具有状态的对象,分析对象的生命周期,画出状态图(1个)
1.4.2 活动图
说明活动图的作用
根据用例图中所定义的用例,分析用例之间执行流程(1个),以及流程处理较复杂用例内部执行流程(1个),画出活动图。
1.4.3 顺序图
说明顺序图的作用
根据用例图中所定义的用例,分析(1个)用例是由那些对象交互完成的,画出顺序图。
2 系统架构设计
说明系统架构的目的及设计步骤。
2.1 系统逻辑体系架构设计
什么是系统逻辑架构设计?
按照层次模式分析,画出系统的包图,并对包中的类进行设计
2.2 系统物理体系架构设计
什么是系统物理体系架构设计?
2.1.1 构件图设计
说明构件图的作用
画出构件图,划分构件,明确它们之间的关系及接口
2.1.2 部署图设计
说明部署图的作用
画出部署图,确定各结点及其之间的关联。
3 系统详细设计
说明详细设计的目的及步骤
3.1 功能详细设计
根据三层模式设计2个功能的详细算法,用顺序图描述。
3.2 类模型详细设计
根据功能详细设计的结果,补充边界类、控制类和原来的实体类,画出完整的类图。后面编码阶段的类必须和设计结果中的类保持一致。
4 数据库分析与设计
说明数据库设计的目的及步骤
3.1 数据库概念模型设计
根据用例图中所定义的问题域,找出系统中的实体,以及实体间的关联(1:1,1:n,n:m),画出E-R图。(可以省略属性描述)
3.2 数据库逻辑模型设计
根据E-R图的描述,转换为数据库逻辑模型(包含属性)。并说明为什么要这样转换?
3.2 数据库的建立
在相应的工具中建立数据库,列出全部的数据库表(每个字段都要有备注)。
注意:各数据库表中相同的字段必须相同。
5 系统实施
5.1 技术介绍
对所采用的开发技术,环境进行简要的介绍,以及采用怎样的开发模式(三层)?每层的作用?关系?
5.2编码实现
针对一个一个功能,将每个功能描述出来,你采用了哪几个类如何协同工作,来实现的该功能。
5.2.1 A功能
描述此功能做什么的。。。,然后说明哪几个类文件来实现的此功能:a1.java, a2.java, a3.java
① a1.java
提供了哪些方法,每个方法做什么的? 然后把代码粘贴过来
② a2.java 提供了哪些方法,每个方法做什么的? 然后把代码粘贴过来 ③ a3.java
提供了哪些方法,每个方法做什么的? 然后把代码粘贴过来 等等。。。。。
5.2.2 B功能
与上类似
5.3 系统测试
针对一个一个功能,设计测试用例,截图显示结果,并说明该图中可实现完成什么功能。
5.3.1 A功能
描述该功能的作用,设计测试用例(黑盒测试:等价类划分法,边界值分析法等),及测试结果如下:
运行程序后的截图
图5-1 xxxx
5.3.2 B功能
以上类似 同上继续。。。
总结
本次《软件工程》大作业中的收获、遇到的主要问题和解决方法;设计中存在的不足,需进一步改进的设想。
注意:每一章开头,都是从新页开始
(要求:一级标题(章),黑体,三号,居中;
二级标题,黑体,小三号;
三级标题,黑体,四号;
正文,宋体,小四号,1.25倍行距)
第二篇:软件工程大作业题目
软件工程大作业题目
1. 英汉小词典
基本要求:实现类似“金山词霸”的英汉双向词典。输入英文,显示词性、解释、音标和衍生词等。输入中文,显示拼音和英文。同时显示单词的索引,无需输入,只需点击就可查询。 高级要求:屏幕拾词
2. 围棋
围棋是一种古老的运动,现在计算机大面积普及,围棋电子化也是一种大势所趋。“围棋对弈”就是希望开发一个模拟现实中围棋对弈的软件平台,供人使用。
基本要求:实现围棋下子、提子、胜负判定功能,规则参照围棋界通用规则。
3. 人机对弈(五子棋)
基本要求:开发五子棋对弈的软件平台,进行人机对弈,实现下子和胜负判定功能,规则参照实际五子棋的通用规则。
4. 游戏(挖地雷)
Windows系统提供一个“挖地雷”的游戏,并具有高、中、低三个级别供用户选择。用户按“开始”,系统进行计时,用户开始“挖”地雷,当把全部地雷都挖出,则获胜;只要碰到一个地雷就失败,只能从头开始。
地雷数目、分布位置随机产生,本游戏保存所有获胜盘的日期、开始和结束时间、地雷数。 游戏规则遵循Windows系统所提供的“挖地雷”游戏的规则。
5. 计算器
基本要求:Windows操作系统提供一个计算器,现要求开发一个能够完成Windows系统提供的计算器的所有功能。
高级要求:增强输入框的功能: 用户可以在输入功能框中输入任何合法、非法的运算四则运算表达式,如果是合法表达式,计算器自动计算并显示结果,如果非法显示出错信息。
说明:
1 合法的表达式:36.789*((23+68*45)-27/3747);
2 非法的表达式:36.789*((23+68*45)-27/3747)); 67#67(3-2);
6. 源代码行数计数器
基本要求:用户选择多个C或C++的程序文件,本软件能计算这些文件的源代码行数、空行行数和注解行数,计算结果显示并可保存在文件中。
高级要求:对C或C++程序进行美化,即按规则缩进,输出美化后的源程序文件。
7. 画图板
基本要求:实现MS Windows中“画图”软件的简单功能,包括用彩笔画直线、画矩形、画圆、用颜色填充一个区域、橡皮擦、颜色盒。所创作的图保存为位图文件,可打开并修改。 高级要求:画曲线、画多边形、取色、放大、选定、复制等。
8. 写字板
参照windows自带的wordpad的功能,编制一个功能相类似的程序
基本要求:有图形化界面,能够对单一文本进行编辑,能够设置一些基本的格式:如字体、段落、标题,能够查找和替换,可以保存为文件,并且能够读取。
高级要求:格式刷的实现;可以自动生成目录。
9. 电梯系统模拟
双电梯系统模拟,共24层,要求使用电梯算法(网上自己查),能够根据用户的实际使用情况,动态计算最佳移动路径
基本要求:分成两端模拟
客户端方面:有图形化界面,能够实现电梯服务的请求。
管理端方面:有图形化界面,能够根据实时客户端的请求,计算出最佳电梯路径,并模拟电梯运行的情况,在屏幕通过文字显示。
高级要求:
管理端方面:能够图形化模拟电梯运行情况。
客户端方面:增加等待时间的估计。
10. 简单的表格处理软件
模拟MS的Excel的功能,编制一个类似的程序
基本要求:有简单图形化界面,不必参照excel;单表格编辑能力;有行计数和列计数,方便找到单元格;表格单元格接受文字和数字;统计能力(针对某几行或几列的求和和求平均操作);可以保存为文件,并且能够读取。
高级要求:界面参照excel;多表格编辑能力;排序功能
11. 24点
基本要求:实现传统的24点游戏。可视化发牌功能;计算用户是否计算正确;
高级要求:具有保存牌局的功能,这样可以按顺序查看每次计算情况。
12. 邮局订书刊系统
基本要求:实现书刊管理和书刊的订购。书刊管理包括增加和删除书刊种类;订购功能包括查询书刊、订阅书刊、生成订单。
高级要求:具有用户管理功能,如增加用户,删除用户等。
13. 图书管理系统
基本要求:实现图书管理和借阅。图书管理包括图书的增加和删除;图书借阅包括图书的查询、借、还。
高级要求:具有用户管理功能,如增加用户、删除用户等;能设置图书借阅的最长时间限制,对超出时间的进行罚款。
14. 贪吃蛇
这个游戏我想大家都玩过,我们的作业就是开发一个贪吃蛇的游戏。
基本功能:和我们玩的游戏一样,用键盘可以控制蛇的移动,级分增加等。
高级功能:要求界面上要漂亮,游戏要有等级,速度可以变节,可以记录积分,可以暂停等。
15. 旅行商
假定你要到国内(外)数个城市旅游,已经知道每个到其它所有城市间的距离,交通费用,交通时间,求出最佳旅游路线。
基本功能:在用户界面上的绘图区域,我们能够绘制任意数个(假定10各)城市的位置,各城市间的距离,交通费用,交通时间有两种指定方式:随机生成和用户指定。运行后可以确定最佳旅行路线。可以增加或减少旅游城市并能更新旅游路线。
高级功能:要能够很形象地显示国内(国际)地图,点击地图上的点就能确定我们要去的城市,能够在图形动态显示运行路线并作适当停留。
16. 图形浏览器
我们要做一个类试于ACDsee的图形浏览器
基本功能:像ACDsee一样能够打开浏览图片,并具有放大/缩小等功能,可以显示当前文件上一张、下一张图片等。
高级功能:能够连续放映当前文件夹下的所有图片,时间间隔可以用户指定。
17. 自选课题
可以自选课题,但需经教师核准。