还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件开发实习报告.软件开发实习报告.软件开发实习报告
一、实习的目的与意义在本科教育中,实习是一个重要的实践性教学环节通过实习,可以使我们熟悉外贸实务的具体操作流程,增强感性认识,并可以进一步了解、巩固与深化已经学过的理论和方法,加深对专业理论知识的理解,培养和提高实践操作问题、发现先问题、分析问题以及解决问题的能力,使综合运用所学理论知识与编程实践紧密结合,为毕业后从事计算机工作打下良好的基础实习要达到以下目标a)在实习过程中学会为人处事能力,学会以各种方式学习,学会团结合作共收益,提高自己的多方面能力和整体综合素质b)将在校所学的知识运用到实践中,提高观察问题、发现问题、分析问题、解决问题的能力,强化编程能力,提高计算机专业水平c)在规范有序的实习中培养吃苦耐劳、努力钻研、求真务实的精神在具体实习过程中,能够了解软件开发的具体流程,需求分析过程及任务的分配、完成、提交、审核等各个方面,还能对行业深入彻底地了解并能切身体会到行业的竞争力,工作的重要性及自身在工作中的角色,还能了解自身存在的不足,
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库存模块本程序可以说是最有实际意义的功能单位,任何小型书店的管理员都必须切实掌握每天库存的数量以应变采购或促销,毕竟书店本身经营规模小,所以库存的小事尤为重要,所以我因此设计了库存模块,对某类书籍小于五本就显示库存不足,以提醒管理员积极及时地有效应对输入编号显示编号、数量西南交通大学软件实习报告无此书无此书记录库存充足库存不足库存西南交通大学软件实习报告
123.2选择功能
3.
2.1进书信息从键盘上输入字符“1”,再按回车,自动进入进书信息模块我们可以输入Hall2西南交通大学软件实习报告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此时我们可对其进行修改,例如Hlal2改为121al2则出现以下运行结果西南交通大学软件实习报告18最后按8推出
3.
2.5销售信息既然卖书就需要对销售进行全方位地了解,本程序可以让管理员任意时刻添加销售信息西南交通大学软件实习报告19我们可以设置销售数量为一本,如图如图,显示销售成功
3.
2.6利润信息既然有了销售记录,那么店家肯定想知道本店最新的销售额和利润为多少,在此,我专门设计了关于销售额和利润的信息模块,让店家第一时间知道赚了多少钱还是以编号1为例西南交通大学软件实习报告20如图,显示销售编号为1的书籍一本销售额为2,销售利润为
1.
3.
2.7库存信息进货出货间,库存的稳定性关乎小型书店的信誉和人气,所以我也对库存专门做了一模块,以便于店家方便地了解库存的信息还是以刚售完的编号1书籍为例输入4,输入1回车后显示库存不足西南交通大学软件实习报告21我们可以非常清楚地看到编号为1的书籍显示库存不足,数量为0o第4章源程序代码及注释#include#include西南交通大学软件实习报告22ttincludeusingnamespacestd;classFunction privatevoidzaitianjiaO;//再添加voidaddbook;//进书voidcoverbook/覆盖voidsellbook;//销售voidtell;〃库存voidcount/利润voidcheckbook;〃查询public Function;//无参构造函数virtual Function{file,〜close;}〃析构函数voidRun;〃处理fstreamfile;//书店文件};structbook{i ntamount;〃原始库存intsale;〃销售量unsignedintnum;//书籍编号charname
[20];//书籍名称charauthor
[20]/书籍作者f loate_price;〃进价f loats_price;〃售价stat icfloat sum;//销售额s taticfl oatProfit;〃销售利润;Function:Function〃无参构造函数{ifstreamiFile F.datn;//建立输入文件ifiFile.fail〃打开文件失败{ofstreamoFile nF.datn;//建立输入出文件if oFile.failthrown打开文件失败!!!;//抛出异常oFile.close;〃关闭文件elseiFile.close/文件存在,关闭文件file,opennF.dat,iosin|iosout|iosbinary;//以读写方式打开西南交通大学软件实习报告23if file,failthrow打开文件失败!!!;〃抛出异常voidFunctionzaitianjia{bookptr;unsignedintnum;〃编号intamountl;〃添力口量coutnum;file,seekg0;〃定位file,readchar*ptr,sizeof book/读记录if!file,eof cout西南交通大学软件实习报告24}}voidFunctionaddbook{charch=Y;whilech二二Y{cout西南交通大学软件实习报告25cout西南交通大学软件实习报告26cout西南交通大学软件实习报告27{cout西南交通大学软件实习报告28voidFunctioncheckbook〃查询信息{bookptr;unsignedintnum;coutnum;file.seekg0;file,readchar*ptr,sizeofbook;if!file,eof{cout西南交通大学软件实习报告29cout西南交通大学软件实习报告30intmain{Functionobj;if obj.file,failthrow打开文件失败!;if!obj.file,fail}obj.Run;returnO;总结事件是检验真理的唯一标准,或许这话说得有点大,但确实是我的心声从最初自认为对C++语言比较了解,到真正上手操作编写出一个属于自己的程序,期间经历了许多小困难和小挫折,比如开始对小型书店管理系统的一头雾水,不知该从何下手,但在看到一些精灵的同学先写出的流程图后,自己也大致了解程序的手工图纸该怎样去布置,因为自规划小型书店管理系统的时候,便自然而然地要分为两个方向,一个是面向用户会员,一个是面向店家管理员,当然,可能一些高手会同时兼顾两部分,而愚钝的我还是选择从管理员身份进行编程,毕竟我认为小型书店管理系统主要的功能及受众群就是广大的小店主,最然这仅仅是我编的小程序,不能被真正实际上的应用,但我从思路上还是以实际为主,考虑店家该需要哪些功能,最终我设置了进书、添加、覆盖、查询、销售、利润、库存几类,大致上可以把店家的需求都满足了在本程序中自己运用了类、结构体、虚析构函数、无参构造函数、静态变量、有关Function的输入流文件、文件的定位和读取、getch函数和利用switch条件语句调用函数等等C++功能,当然开始编程遇到许多困难,一查就是几十个错误,这需要自己耐心地一个一个去调试解决还有一些自己想要添加的功能却因为自己始终不能在程序上顺利地运行,只好放弃,但对书店大致的框架没有变化,总体来说自己的程序是小儿精,没有大的精彩,担有小的亮点,这些都得益于老师给我们淳淳教导和同学之间的咨询切磋,所以,最后再总结之际,我要感谢陪伴我们度过这段高强度实习的老师们,感谢和我共同商讨、给我以启发的同学们,没有这些我的实习经历注定不完整或显得相形见地同时在高新区软件园的参观也让我了解自己所学专业广阔的就业背景,当然,不仅仅是就业,还有隐藏在每一个软件编程开发人员心中的梦想,这在我的参观中深有感触,平等地交流、急促的步西南交通大学软件实习报告31伐、闪耀的奇思妙想、小资的生活方式,就在软件园里重复发生着最后希望老师还能对自己的报告给予指证和引导,谢谢!西南交通大学软件实习报告并积累一定的经验,为将来走上工作岗位打下良好的基础
二、实习时间201*年1月9日(星期一)201*年1月13日(星期五)
三、实习地点XX大学网络中心
四、实习内容第一天,老师进行了软件开发实习总动员,强调了软件开发是一个复杂的过程,他需要软件开发人员有强大的耐力,耐得住繁杂的程序代码,耐得住寂寞,同时也强调了软件开发的重要性,软件开发是适应现代科技的飞速发展,以及满足人们的日常需求必不可少的高科技技术第二天,老师讲解了软件开发必不可少的工具,如SQLServer数据库等编程语言,而在编制数据库时必须注意的是数据库的表与表之间的联系、表与表之间的连接、实体与属性之间的关系、主键、唯一键以及外键等数据库相关的知识在这天老师主要讲解了数据库的后台知识第三天,老师对基于Subversion和TortoiseSVN的版本控制系统做了简单介绍版本控制是软件配置管理中的重要一环,主要功能是记录开发过程的每一次修改,让开发工作可以随时检查过往的历史和获取正确的版本,是系统的“成长记录”第四天,参观沈阳建筑大学学校的网络中心,通过老师讲解和学生亲自动手操作,了解网络中印中用到了哪些开发的软件,同时讲明最后一天的实习内容第五天,项目实践,熟练掌握SQLServer数据库等开发工具,开发一个软件从整体出发,一步一步实现,需求整理到32参考书籍C++语言程序设计(清华大学出版社)分析设计到后来的代码编写与测试等,并了解软件开发大致流程)需求分析(前期规划)明确软件需要实现哪些功能,即公司的需求b)概要设计以项目为中心的开发流程c)详细设计设计数据流图及E-R图等d)具体编码业务流程、具体模块的开发,编写程序代码e)调试、跟踪与测试对编写的程序、模块功能等进行检查,保证开发的软件可用
113.
2.1进书信息
123.
133.
153.
163.
183.
193.
1.1模块分析。