软件开发实习报告
软件开发实习报告
通过这次在清华IT的实习,学到了很多东西。也了解到了软件开发的真正价值。这次的实践让我真切体会到了我们前面所学知识的用处所在。以前总认为所学的知识只是理论上的知识,根本就没有任何作用,但通过这次实习,让我学有所用。而且学到了很多在学校学不到的东西,受益匪浅。
在这个信息时代,信息都是电子化。很多方面根本不在是一些手把手的管理,而是在电脑面前操作一下即可,让我们真正享受到高科技的待遇。在软件开发领域,做一个项目的出发点是提高办事效率。而在项目制作的过程中我们要使一个软件简洁实用,人性化,快捷方便。
这次实习的主要任务是图书管理系统的开发。项目运行的平台是WindowsXP,运用系统主要是MicrosoftVisualStudio201*,
MicrosoftSQLServer201*,运用的知识主要有我们学习过的知识数据库技术,以及实习过程中所提及的知识。在软件开发果过程中首先要了解三层结构的的含义及其设计模式思想部署企业级数据库业务系统开发。三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中。其结构如下图1所示:(未显示出)
三层结构示意图
三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。下面介绍图书管理系统开发技术:一系统的功能设计
首先对系统进行需求分析,我们必须要知道要做一个系统“用来干什么”,这需要在对用户需求进行充分调研的基础上,深入理解并描述出软件的功能、性能、接口等方面的需求,可以使用UML建模作为需求分析和系统设计的有效方法。图(1)给出了本图书管理系统的功能结构图,其工作流程为:普通用户直接登录主页面,只能浏览、快速查询图书、注册新用户、修改自己的密码以及查看图书的详情,管理员用户除了可以完成普通用户的操作外,还可以进入图书管理模块进行图书添加、修改和删除的操作。
1、系统的功能特点:
(1)操作简单、界面友好:插入表格的页面布局,使得图书的录入工作更简便;许多选项包括图书类别、来源等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
(2)即时可见:对图书的处理(包括图书添加、修改、删除)将立即在主页的对应栏目显示出来,达到"即时处理、即时见效"的功能。
(3)功能完善:包括常见网站的图书管理的各个方面:图书新增、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时图书的管理要求。
(4)方便移植:针对不同的图书馆,只需要稍作修改就可以开发出适合本企业特点的网站图书管理系统。
2、系统的详细设计系统的主要功能是通过几个功能模块来实现的。具体的设计过程如下:
⑴系统登录:该模块负责将用户分为普通用户和管理员用户来实现用户权限的管理。
⑵图书类别管理:该模块只有管理员才有的权限,管理员可以对图书的大、小类进行添加、更新、删除等操作。
⑶库存图书浏览:该模块负责分页列出图书馆中所有图书的信息,包括图书名称、作者、出版社,图书状态,每条记录后面都有一个查看详情,查看详情被做成一个超链接,点击它们就能跳转页面可以查看更多的详情如图书封面、图书数量、图书出版年份。⑷库存图书添加:该模块是图书管理员进行图书的添加,权限仅限管理员,在此页面中的大小类实现了联动作用,点击其大类,小类的下拉列表中就会显示与之对应的小类,从中选择即可。
⑷图书快速查询:该模块提供了图书快速查询功能,输入待查找的图书名称可以快速地找到符合条件的图书,并输出查询结果,点击产看详情字样就可以查看图书的详细信息。
⑸编辑系统用户:该模块负责分页罗列注册用户的具体信息,普通用户本人或管理员可以对用户进行删除、修改。非普通用户或系统管理员外不具有对该用户的处理权限,所以不同普通用户进入此页面将显示不同的内容。
⑹修改用户密码:普通用户本人用户录入所需要的内容,包含用户名、真实姓名、权限类型、旧密码及新密码,点击更改即可修改密码,并写入数据库中保存。
⑺系统名称设置:该模块为管理员权限,管理员可以更改图书系统的名称。普通用户为不可见状态。⑻系统使用说明:主要是供普通用户和管理员阅读,使之更好地了解本系统的权限以及用法。
下面给出系统后端数据存储方案:
利用MicrosoftSQLServer201*建立数据库及其存储过程。这里给出几个必需的数据表,主要有system,bigClass,smallClass,users,Books。
二、ASP部分设计
1、连接数据库
访问数据库信息的第一步是和数据库源建立连接。ADO提供
Connection对象,可以使用该对象建立和管理应用程序和ODBC数据库之间的连接。Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。
要建立数据库连接,在中链接到数据库2、数据的绑定
数据的连接分为直接连接和间接连接,前面所举例子用的是直接连接,下面用间接地方法对数据进行绑定。主要是利用数据适配器SqlAdatapter(),下面的函数方法是对数据绑定:
此方法也可以插在所要调用的函数中,但是将这个方法单独提出有利于后面的利用,后面对数据进行绑定时就可以用这个方法,避免做重复的工作,减少工作量。
3、加密方法
本系统的加密方法是MD5,以一个例子来说明:Stringoldpassword=this.Textpassword.Text;
Stringnewpassword=
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password,"md5");
扩展阅读:软件开发实习报告
信息科学与技术学院
本科一年级
软件开发实习报告
专业:班级:姓名:学号:
实习指导单位:软件工程实验中心
年月日
西南交通大学软件实习报告
2诚信承诺:
本人__________保证本次软件开发实习报告和程序设计源程序均为自己独立编辑完成,软件开发实习报告不会有三分之一以上的内容与其他同学雷同,程序设计源程序语句形式不会有三分之一以上与其他同学雷同,源程序结构也不会有三分之一以上与其他同学雷同。如果出现以上情况,本次软件开发实习成绩自愿记为零分。
承诺人签名:________________日期:_______年______月_____日
西南交通大学软件实习报告
3目录
第1章程序设计....................................................................................................................4
1.1模块分析...................................................................................................................41.2程序结构...................................................................................................................51.3书籍结构体设计........................................................................................................5第2章程序设计过程..............................................................................................................6
2.1进书模块....................................................................................................................62.2查询模块....................................................................................................................62.3添加模块....................................................................................................................72.4覆盖模块....................................................................................................................82.5销售模块....................................................................................................................92.6利润模块..................................................................................................................102.7库存模块..................................................................................................................10第3章用户使用说明.............................................................................................................11
3.1打开程序...................................................................................................................11
3.2选择功能...................................................................................................................113.2.1进书信息............................................................................................................123.2.2查询信息............................................................................................................133.2.3添加信息............................................................................................................153.2.4覆盖信息............................................................................................................163.2.5销售信息............................................................................................................183.2.6利润信息............................................................................................................19
3.2.7显示库存小于5信息...........................................................................................203.3退出程序..................................................................................................................20第4章源程序代码及注释.....................................................................................................21总结................................................................................................................................30
西南交通大学软件实习报告
4第1章C++程序设计
1.1模块分析
1.进书模块:进购书籍。2.查询模块:查询书籍信息。3.添加模块:再添加书籍信息。
4.覆盖模块:对原有数据进行覆盖修改。5.销售模块:查询销售信息。6.利润模块:查询最新利润。
7.库存模块:可查库存信息并及时提醒库存不足书籍信息。
进书
程序模块查询添加覆盖销售利润库存
本程序主要有7个模块,分别是进书、查询、添加、覆盖、销售、利润、库存。本程序是针对小型书店的管理员所设计的。
西南交通大学软件实习报告
51.2程序结构
这个小型书店管理系统是为管理员所设计的,因其简单的操作而比较适合于个人使用。本程序可以让管理员随时关注书籍销售及利润信息,掌握进货出货流量,可以说非常人性化,以下是简单的结构图。
开始退出退出退出键书籍查询管理退出键编号作者书名进价售价进书添加书查看信息覆盖销售利润库存
1.3书籍结构体设计
本程序对书籍主要分为9类,即有9个结构体变量,其中有两个静态结构体变量,用于在各个成员函数进行实现,分别为:Amount原始库存Sale销售量Number编号Name书名Author作者E-price进价S-price售价Sum销售额
西南交通大学软件实习报告
6Profit利润
第2章程序设计过程
2.1进书模块
首先是进入用户界面,我们看到选号1为进书。对于小型书店管理系统的使用者来说,进购书籍是必不可少的,同时也是需要及时获得进购书籍的有关信息。原始库存
销售量编号书名作者进价售价进购书籍2.2查询模块
对于书籍的有效管理是必须的,而这则需要运用“查询”功能来实现。
西南交通大学软件实习报告
7编号
进价售价查询书籍书名作者库存2.3添加模块
添加模块,市场上商品价格的浮动瞬间变化,作为店家,当然应当做好适时添加书籍的准备以备不测,而此添加模块正好可以让管理员更好地对书籍数量进行管理编号书籍书名作者库存进价售价西南交通大学软件实习报告8
再添加推出菜单是否继续添加?2.4覆盖模块
书籍价格波动很正常,店家为了在一定时期促销或修改价格,则需要对某类书籍的价格进行修改,而覆盖模块则恰当好处地实现了这个随机应变、想什么时候改就什么时候改的方便操作。
原始记录编号书名作者数量进价售价西南交通大学软件实习报告
9修改后的编号修改后的书名修改后的作者修改后的数量修改后的进价修改后的售价修改2.5销售模块
销售书籍首先应先看是否有货,若果有的话可以进行销售,本程序就是实现已经将书籍存量信息实现录入保存,等管理员需要调出的时候就能显示。
销售书籍是否有货?所订书籍大于库存销售成功所订书籍大于库存库存不足西南交通大学软件实习报告
102.6利润模块
管理员如果想知道某一本书具体的销售情况及利润就可以通过“利润模块”简明扼要地展现在眼前,事先文件已经定位和写入。
编号书名作者数量销售额利润输入编号
2.7库存模块
本程序可以说是最有实际意义的功能单位,任何小型书店的管理员都必须切实掌握每天库存的数量以应变采购或促销,毕竟书店本身经营规模小,所以库存的小事尤为重要,所以我因此设计了库存模块,对某类书籍小于五本就显示库存不足,以提醒管理员积极及时地有效应对。
输入编号显示编号、数量西南交通大学软件实习报告
11无此书
无此书记录库存充足库存不足库存西南交通大学软件实习报告
123.2选择功能
3.2.1进书信息
从键盘上输入字符“1”,再按回车,自动进入进书信息模块。我们可以输入11a112
西南交通大学软件实习报告
13输入y或Y则继续进购书籍输入n或N则结束返回主菜单此时信息已经被保存。
3.2.2查询信息
输入6,则进入查询功能,输入编号6,回车,再输入编号1
西南交通大学软件实习报告
14信息显示成功!
西南交通大学软件实习报告
153.2.3添加信息
输入6进入查询功能,再输入先前进购的信息书籍1则显示:另添加0
最后按8推出
西南交通大学软件实习报告
163.2.4覆盖信息
如果想修改书籍信息的话,那当然选择“覆盖信息”,这可以修改以前的记录,实现实时地更新。我们还是以书籍编号1为实验,在菜单中选5按回车。
西南交通大学软件实习报告
17此时我们可对其进行修改,例如111a12改为121a12则出现以下运行结果:
西南交通大学软件实习报告
18最后按8推出
3.2.5销售信息
既然卖书就需要对销售进行全方位地了解,本程序可以让管理员任意时刻添加销售信息。
西南交通大学软件实习报告
19我们可以设置销售数量为一本,如图
如图,显示销售成功
3.2.6利润信息
既然有了销售记录,那么店家肯定想知道本店最新的销售额和利润为多少,在此,我专门设计了关于销售额和利润的信息模块,让店家第一时间知道赚了多少钱。还是以编号1为例。
西南交通大学软件实习报告
20如图,显示销售编号为1的书籍一本销售额为2,销售利润为1.
3.2.7库存信息
进货出货间,库存的稳定性关乎小型书店的信誉和人气,所以我也对库存专门做了一模块,以便于店家方便地了解库存的信息。还是以刚售完的编号1书籍为例。
输入4,输入1回车后显示库存不足
西南交通大学软件实习报告
21我们可以非常清楚地看到编号为1的书籍显示库存不足,数量为0。
第4章源程序代码及注释
#include#include
西南交通大学软件实习报告
22#includeusingnamespacestd;
classFunction{
private:
voidzaitianjia();//再添加voidaddbook();//进书voidcoverbook();//覆盖
voidsellbook();//销售voidtell();//库存voidcount();//利润voidcheckbook();//查询public:
Function();//无参构造函数virtual~Function(){file.close();}//析构函数voidRun();//处理
fstreamfile;//书店文件};
structbook{
intamount;//原始库存intsale;//销售量
unsignedintnum;//书籍编号charname[20];//书籍名称charauthor[20];//书籍作者
floate_price;//进价
floats_price;//售价
staticfloatsum;//销售额staticfloatProfit;//销售利润
};Function::Function()//无参构造函数{
ifstreamiFile("F.dat");//建立输入文件if(iFile.fail())//打开文件失败{
ofstreamoFile("F.dat");//建立输入出文件if(oFile.fail())throw("打开文件失败!!!");//抛出异常oFile.close();//关闭文件
}elseiFile.close();//文件存在,关闭文件
file.open("F.dat",ios::in|ios::out|ios::binary);//以读写方式打开西南交通大学软件实习报告
23}if(file.fail())throw("打开文件失败!!!");//抛出异常
voidFunction::zaitianjia(){
bookptr;
unsignedintnum;//编号intamount1;//添加量coutnum;
file.seekg(0);//定位
file.read((char*)&ptr,sizeof(book));//读记录
if(!file.eof())
{cout西南交通大学软件实习报告
24}}voidFunction::addbook(){
charch="Y";while(ch=="Y")
{cout西南交通大学软件实习报告
25cout西南交通大学软件实习报告
26cout西南交通大学软件实习报告
27{cout西南交通大学软件实习报告
28voidFunction::checkbook()//查询信息{bookptr;
unsignedintnum;coutnum;
file.seekg(0);
file.read((char*)&ptr,sizeof(book));
if(!file.eof()){
cout西南交通大学软件实习报告
29cout西南交通大学软件实习报告
30intmain()
{Functionobj;if(obj.file.fail())throw("打开文件失败!");if(!obj.file.fail())}
{obj.Run();}
return0;
总结
事件是检验真理的唯一标准,或许这话说得有点大,但确实是我的心声。从最初自认为对C++语言比较了解,到真正上手操作编写出一个属于自己的程序,期间经历了许多小困难和小挫折,比如开始对小型书店管理系统的一头雾水,不知该从何下手,但在看到一些精灵的同学先写出的流程图后,自己也大致了解程序的手工图纸该怎样去布置,因为自规划小型书店管理系统的时候,便自然而然地要分为两个方向,一个是面向用户会员,一个是面向店家管理员,当然,可能一些高手会同时兼顾两部分,而愚钝的我还是选择从管理员身份进行编程,毕竟我认为小型书店管理系统主要的功能及受众群就是广大的小店主,最然这仅仅是我编的小程序,不能被真正实际上的应用,但我从思路上还是以实际为主,考虑店家该需要哪些功能,最终我设置了进书、添加、覆盖、查询、销售、利润、库存几类,大致上可以把店家的需求都满足了。在本程序中自己运用了类、结构体、虚析构函数、无参构造函数、静态变量、有关Function的输入流文件、文件的定位和读取、getch()函数和利用switch条件语句调用函数等等C++功能,当然开始编程遇到许多困难,一查就是几十个错误,这需要自己耐心地一个一个去调试解决。还有一些自己想要添加的功能却因为自己始终不能在程序上顺利地运行,只好放弃,但对书店大致的框架没有变化,总体来说自己的程序是小儿精,没有大的精彩,担有小的亮点,这些都得益于老师给我们淳淳教导和同学之间的咨询切磋,所以,最后再总结之际,我要感谢陪伴我们度过这段高强度实习的老师们,感谢和我共同商讨、给我以启发的同学们,没有这些我的实习经历注定不完整或显得相形见绌。同时在高新区软件园的参观也让我了解自己所学专业广阔的就业背景,当然,不仅仅是就业,还有隐藏在每一个软件编程开发人员心中的梦想,这在我的参观中深有感触,平等地交流、急促的步
西南交通大学软件实习报告
31伐、闪耀的奇思妙想、小资的生活方式,就在软件园里重复发生着。最后希望老师还能对自己的报告给予指证和引导,谢谢!
西南交通大学软件实习报告
32参考书籍:
C++语言程序设计(清华大学出版社)
友情提示:本文中关于《软件开发实习报告》给出的范例仅供您参考拓展思维使用,软件开发实习报告:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。