软件工程课程设计报告

发布 2022-10-05 06:48:28 阅读 9352

滨江学院。

2011 --2012 年度第 2 学期)

课程名称: 软件工程课程设计

题目: windows绘图板的设计与实现

院系:滨江学院计算机系软件工程(动漫)

班级动漫1班。

学号20102359024

姓名徐希芝。

指导教师李振宏。

设计周数两周。

日期:2012 年 5 月 24 日。

摘要:windows画图板系统的开发最主要包括前端应用程序的开发。对前端应用程序的开发要求应用程序功能完备,易使用,界面美观等特点。

windows画图板系统主要实现文件的新建,保存,颜色的编辑,在坐标系中画直线、矩形、椭圆、圆形、三角等。图形界面各个按钮如“橡皮”、“铅笔”、“刷子”、“a”、“直线”等的实现。该系统还能调整画笔的大小,橡皮的大小,颜色是否填充,编辑各种颜色的实现。

我们采用j**a语言设计编程该系统。

关键词:windows绘图板 j**a、j2se

一、 课程设计的目的与要求。

目的:采用面向对象编程技术,设计并实现一个功能完善的windows绘图板程序。通过实际程序的开发,熟练面向对象程序设计方法,掌握桌面程序设计技巧,熟悉。

net或j**a开发环境。

任务:1. 开发一个功能完善的windows绘图板程序,功能包括:

新建空白文档、文件保存、绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;

2. 完成软件开发文档编写;

3. 给出程序运行、测试的详细结果。

4. 进一步加强和提高软件工程文档的编写能力;

5. 培养协作能力和团队精神。

二、设计正文。

1. 概述。

1.1课题题目:windows绘图板的设计与实现。

1.2系统的主要目标:

本系统目标是实现windows绘图板软件功能概述。

1)新建空白文档;

2)文件保存;

3)绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;

1.3 系统的开发环境及运行环境:

操作系统: windows xp pro sp2

建模工具: rational rose 2003

数据库系统:sql server2000

开发工具: visual studio 2005

web服务器:iis+ 2.0平台。

2. 系统需求分析。

2.1绘图板的功能分析:

该系统所要实现的功能如下:

1)“橡皮”的功能:用来画出的图形。

2)“铅笔”的功能:用来画出的任意直线。

3)“直线”的功能:用来让用户更好的画出的直线。

4)“刷子”的功能:用来让用户更好的画出的图形。

5)“吸管”的功能:用来让用户得到**的颜色。

6)“字体”的功能:用来让用户写出自己的字体。

7)“多边形”的功能:用来让用户更好的画出的多边形。

8)“椭圆”的功能:用来让用户更好的画出的椭圆。

9)“画函数”的功能:根据用户的输入画出函数图形。

10)“圆角矩形”、“矩形”、“填充”、“选择颜色”等功能:用来让用户更好的实用该绘图板功能。

2.2用户界面需求和性能分析:

windows绘图板主要是为用户提供基本画图工具。所以以提供用户最需要的功能为目的。

设计性能如下:

让用户不管怎样操作都能得到用户的目的,争取做到傻瓜都能使用该软件。

较windows绘图板增加了生成函数图象的功能,能实现绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等。

其他的实现了windows绘图板的大部分功能:铅笔、橡皮、刷子、直线、选择颜色等等功能。

画板主要由以下几个部分组成:

主窗体的设计:主类(painter)用来生成主界面,完成画图板的主要框架。主类由jframe派生出来。

主界面由菜单栏、工具栏和画图区域三部分组成,布局格式采用borderlayout布局形式。

1)菜单栏的设计。菜单栏包括文件菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。其中文件菜单栏包括文件的新建、打开、保存等选项;颜色菜单栏可以进行颜色选择;线条粗细菜单栏设置线条的粗细;提示菜单栏给出提示信息。

工具栏由新建、打开和保存文件按钮、基本图形的按钮、选择字体风格复选框和字体下拉列表框组成。在主类中添加并对菜单栏和工具栏添加事件监听。

2)事件响应的处理。对菜单栏、工具栏和用鼠标画图的事件响应进行处理。

菜单栏中文件的新建、打开和保存菜单事件的处理:j**a把每个文件都视作顺序字节流。如果要在j**a中进行文件处理,则必须用到包。

这个包定义了一些流类,选用fileinputstream(从文件中读入数据)和fileoutputstream(向文件输出数据),通过建立这些文件的对象便可以打开文件。这些流相应地从inputstream和outputstream派生,这些文件均使用文件流,所以必须将文件结构化以适应程序的要求。我们需要对保存的对象序列化,然后以输出流的方式保存。

在程序中用newfile()、loadfile()和s**efile()三个函数分别实现文件的新建、打开和保存。

工具栏事件的处理:主要有一些button组成。我们用buttonhandler内部类处理基本单元事件,buttonhandler1内部类处理新建、打开和保存文件按钮,在画图类drawpanel中定义createnewitem()函数处理工具栏中的画图事件。

鼠标画图:由于画图板主要是用来画图,所以需要在程序中添加对鼠标按下、拖动、进入、退出、移动和单机事件进行监听并进行处理。内部类mousea定义了完成鼠标按下、松开、进入、退出事件响应。

内部类mouseb完成鼠标拖动和移动事件响应。

图2-1 总体设计流程。

基本图形包括以下几种:

pencil:随笔画,图标为line:直线,图标为:。

curve:曲线,图标为rect:矩形,图标为:。

ellipse:椭圆,图标为circle:圆,图标为:。

roundrect:圆角矩形,图标为:。 eraser:橡皮擦,图标为:。

rectselect:椭圆选择工具,图标为:。 paintbucket:颜色填充,图标为:。

font:文本,图标为colorpicker:颜色选取器,图标为:。

绘图时,单击工具栏上相应图形的图标,然后用鼠标拖动,在绘图区域内进行绘图即可。

点击edit color后出现界面:

图4-1 主界面。

图4-2 文件菜单选择界面。

如上图所示,该程序为用户提供文件菜单界面,用户可以对程序的各种功能进行选择,方便用户使用。例如选择open file键进行操作:

图4-2-1 open file界面。

图4-2-2 s**e/s**e as界面。

图4-3 edit界面。

图4-4 help界面。

如上图所示,该功能实现软件的说明。选择about paint:

4-5 about paint运行界面。

三、课程设计总结或结论。

为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的j**a课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。

在此次windows绘图板程序开发过程中,有很多东西值得我们思考并总结。

开发过程大体可分为以下几个步骤:

1)思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块和其中用到的j**a语言基本操作符、语句等。

2)画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。

软件工程课程设计报告

软件工程 综合设计报告。题目。学院 信息科学与技术学院 班别 软件工程1 4班。组长学号。组员学号。组员学号。组员学号。组员学号。指导老师 胡德昆 完成时间 2014 6 10 成都大学信息与科学技术学院。提要。软件工程综合设计报告是软件工程的六个实验报告文档的汇总整理,包括软件项目可行性分析报告 ...

软件工程课程设计报告

滨江学院。2011 2012 年度第 2 学期 课程名称 软件工程课程设计 题目 个人通讯录管理系统 院系 滨江学院计算机系 班级 动漫 2 班。学号 20102359059 姓名 郑强。指导教师 李振宏。设计周数 两周。日期 2012 年 5 月 24 日。摘要 个人通讯录管理系统是针对系统服务对...

软件工程课程设计报告

目录。一 题目。二 课程设计目的。三 课程设计内容。四 可行性研究。五 需求分析。六 总体设计。七 详细设计。八 测试计划及测试分析报告。九 心得体会。一 题目。图书管理系统。二 课程设计目的。1 熟悉软件工程过程及软件开发的各种方法和生存周期模型。2 熟练运用c 数据结构 数据库等基础知识。三 课...