大学生软件设计实习报告
ﻪﻭ1、 实习时间:2007年3月4日至2007年3月31日
ﻪ2、 实习地点:河北省唐山市滦县雷庄安顺汽车修理公司 ﻪ
ﻪ3、 实习目的:了解公司日常运营状况,并根据公司的日常运营状况作出相应的系统需求分析,以便达到了解客户的目的。给即将制作的相应软件的实用性打下基础。ﻭ
ﻪ4、 实习报告:ﻪﻭﻪﻭ 我们这次所实习的单位是一家私营公司,公司的规模比较大,但是在公司的日常管理中却多采用家庭式管理模式。公司的日常经营活动除了汽车的维修外,还有汽车的维护、汽车的保养、以及汽车零配件的出售等等经营活动.而目前该企业的管理处于一种较为混乱的境况:公司的责权不够明晰,公司的分工不够明确,甚至连公司的仓储管理还很不规范,造成了仓储物品的大量流失及不必要的损耗,以及帐务的混乱不清和采购费用、仓储费用的浪费.
针对于公司的以上情况,公司的领导董相良先生决定对公司进行大刀阔斧的管理改革,引进先进的管理理念及工具。该公司针对与仓储物品莫名丢失的问题,于2005年引进了摄像
--
--
头等监控设备(虽然耗资数万,收效起效却不是很明显)。该公司又于2006年11月中旬购置了电脑等信息设备,并准备于2007年6月份左右上马一套针对于该公司可行的企业管理系统(也就是我们的这项课题)。 ﻪ
ﻪ该公司的生产组织情况采用的似乎还是大锅饭的组织手段,人员分工并不明确,一辆车进来了,由管理者进行调配,管理者在的时候效率还算可以,当管理者忙不过来的时候,便会使工作人员互相推拖,导致工作效率的大大降低。这样的管理模式也必然导致了员工工作积极性不高、懒散等恶习,令企业失去客户、失去勃勃的生机.
ﻪ安顺公司的运营模式为典型的进销存模式,由公司向各配件生产厂家递交订货单,而后各公司将生产产成品运送到公司库房,最后由距离仓库100米左右的前台门市部(接待室、柜台)或公司内的汽车修理车间进行出售.ﻭﻪﻭ企业信息化程度过低是该公司的最大薄弱区,该公司甚至在2005年11月之前连台电脑都没有,当时唯一的信息化工具就是电话了。该公司的日常管理和运营等命令的下达靠的就是一根电话线,当然有时候也会用“白条”进行日常管理及运营命令的下达,甚至有的时候采用的是口头传达形式.5ﻭﻭ、实习体会ﻪﻭ ﻪ 首先,我要感谢安顺公司的董相良先生给予了我们这次珍
--
--
贵的实习机会,让我们可以将我们所学的所有知识用于实际的生活之中,并且令我们在实习的过程中体味到了书本和现实生活的差距,更让我们学到了好多书本中所接触不到的东西(包括开车和简单的汽车故障的排除和维修,呵呵)。 ﻭﻪ其次,在这次实习中让我更加深刻的了解了企业信息化管理的重要性.如果不是管理过于粗放,责权不够明晰,这家安顺汽车修理公司只怕早已经是飞黄腾达了,又怎么会只抱着这几百万的资产在原地踏步呢?雄厚的实力、先进的流水线设备、优秀的员工,几乎所有的优秀条件都集于一身,却只因为管理的方式方法不够科学,不够合理而导致了公司在发展上的原地踏步。在我们实习的时候,董相良先生曾经不止一次的抱怨过,他说道:“不知道怎么搞的,帐务核对每次都有合不上的地方,少说差个几块、几十块,多了那就没准了,几百块的时候都是有的,仓库里的东西也经常是到够着去用的时候才知道原来早已经没有货了,到时候车(要进行维修的车)要在车间仓库停个大半天,活计也要耽误大半天,要修的进不来,要干的干不了,这一天天下来损失可是很大的。”确实,在我们实习的工程中我们也发现,安顺汽车修配公司的进货没有个计划,有时候货物在仓库造成了积压,有时候又会出现董相良先生刚才所说的货物到用的时候才发现已经没有货者数目不够的情况,这样就产生了重复采购和小批量等不科学的采购方法,而这种不科学的采购方法又会增加采购成本
--
--
的增加,造成了成本的增加和采购资金的大量浪费。成本增加,利润减少,导致了公司竞争力的下降,虽然公司规模较大,共有8条重型车修理线,1个轿车修理专用车间(滦县雷庄地区车况轿车少,重型车多),但是试问,这样的管理,这样的“薄利”,只怕就是比尔盖茨也回天乏术啊。 ﻪ
ﻪ在这次实习中,我也看到了自己的不足,知识的欠缺让我的好多想法都成为了“理想方程式\尤其是在分析系统的时候,更是有一种手足无措的感觉.在这个时候,我们的那种初生牛犊不怕虎的“冲劲”就变得荡然无存,取而代之的是畏首畏尾,抑或不知所措。这也让我们看到了实践的重要性. ﻪ
ﻪ最后,我要衷心的感谢我的母校——河北理工大学,是您给了我这次实习的机会,是您让我明白了自己的价值。同样,我也要感谢吕震宇老师、赵爽老师、李玉光老师的悉心指导,正是有了您们的支持才让我们在实践中勇于知难而上,也是您们的教育让我们在看问题的时候能够科学合理的进行分析继而找出真正的症结所在!ﻪﻭ
1.研究课题的目的和意义以及国内外研究动态 ﻪﻭﻪ1.1研究课题的目的和意义
目前,各学校都很注重电子化、信息化校园的建设,学生和
--
--
教师可以方便地访问校园网和互联网。基于校园网的各种应用,包括信息发布、网络办公、选课排课等均已开展。构建一个在线的教学系统,完成实际教学的相关环节,可以打破学生学习所受到的时间和空间的,形成式的教学,充分发挥校园网络的作用,进一步将电子化、信息化校园的建设落实到实际教学中,切实推动教学工作,为进行网络化、个性化教育打下基础。本文根据实验教学的特点,构建一个基于web的在线实验报告系统,并在教学实践中进行了广泛应用.ﻪﻭﻪﻭ每个学期,亭林中学的教学过程中都涉及到很多要求学生实际动手的课程,这样,学生就有很多的实验报告要撰写,报告完成之后的、老师批阅报告、对报告进行评分都是必不可少的步骤,在以往没有实验报告管理系统的时候,这是一个很费时费力的过程,举例来说,学生不一定会遵守统一的报告命名规则,这样,教师在收集报告的时候就会浪费一定的时间和精力去重命名文档,而教师在批阅后,微软发布情人节安全补丁 浏览网页动画或被恶意。netframewor。需要手动打分,并作重复的填写工作等,这样,每个学期的课程都会产生大量的数据,给信息造成了很大的困难。ﻪﻭﻪﻭ本系统的应用可以较好地改善以上的问题,完全支持网络办公,节省成本,提高效率,改善流程。基于以上的原因和需求,经过亭林中学的校领导层决策,决定开发本项目,以提高学校教学工作效率,为教学工作提供有力支持。ﻪﻭﻭ信息化建设基本分为四个阶段,
--
--
学校也不例外.四个阶段是:第一阶段应用认识阶段,从零开始了解信息化,属于学习阶cobol方面实习报告软件工程硕士论文开题报告段;第二阶段关键应用阶段,为了满足教学科研的需要,采取的一些局部信息化应用;第三阶段扩展应用阶段,随着经验的积累逐步扩展已有应用,数据局部集中;第四阶段整合应用阶段:构建一个整合的信息网络,数据集中,以承载行政管理、电化教学、科研、数字图书馆、远程教育、电子收费等不同需要ﻪﻭﻪﻭ.这种情况育行业信息化建设资金投入比例中也可以看到.现在教育行业信息化建设投入中硬件、软件、服务三者比例为6∶3∶1,而一个成熟行业的比值应该是2∶3∶5ﻪﻭ
建设学校教育管理信息系统,就是把现代信息技术引入教育管理与过程,适应教育发展与的需要。教育部对各级学校管理信息系统的建立和发展决策早,行政驱动积极。原国家教委在1986年就组建了教育管理信息系统规划领导小组;1987年1月经国务院批准建立了国家教育管理信息中心,提出了建立以计算机为手段,利用现代信息技术和科学管理方法,对教育信息和与教育密切相关的社会、经济信息进行收集、处理、分析和的国家教育管理信息系统ﻭ
ﻪ;教育部1998年12月制定,国务院1999年1月批转的《面向21世纪教育振兴行动计划》明确指出:要以现有的中国教育科研(cernet)示范网和卫星视频传输系统为基础,进
--
--
一步扩大中国教育科研网的传输容量和联网规模,建立全国大学生招生录取、计算机学籍管理、毕业生远程就业服务一体化的信息系统ﻪﻭﻭ;1999年7月召开了全国教育信息化工作座谈会,提出了推进教育信息化的十项工作。综上所述,教育部十余年来,为推进教育及学校信息建设工作,从政策、规划、研究、推广、指导等多个方面给予了长期不懈的重视和领导.更为可喜的是,1999年8月中央、国务院颁布的《关于深化教育全面推进素质教育的决定》也明确提出,要大力提高教育技术手段的现代化水平和教育信息化程度ﻪﻭ 。国家支持建设以中国教育科研网和卫星视频系统为基础的现代远程教育网络,加强经济实用型终端平台系统和校园网或局域网的建设,充分利用现有资源和各种影像手段,继续搞好多样化的电化教育和计算机辅助教学。据有关资料表明,全国中小学建成校园网的有500余所,全国学校约有600所建成校园网,网上学校、电子教室、虚拟大学、远程教育与学习、cai等新的教学方式不断涌现,一种全新的面向信息时代的教育新体系正在形成
——校园网络建设。建设一个覆盖教学、科研、行政管理等楼宇主干网,并通过电话传送等实现分散用户、家庭计算机与校园网连接;在各院、系、所及管理部门建立局域网,通过由器与主干网连接;与cernet或chinanet连接,进入
--
--
internet
ﻪﻭﻪcobol方面实习报告——建立综合管理信息系统及管理使用的基础信息数据库.包括:在各部处、院系建立管理信息系统,维持内部事务处理和信息管理;在校园网主服务器上建立综合信息服务系统,面向校内外、国内外提供信息服务;以校园、主服务器为支持,集成部处、院系分系统,建立教学管理、科研管理、人事管理、学生管理、资产管理、产业管理、财务管理、后勤管理等分系统的综合集成管理信息系统。
——建立电子图书馆系统,包括以采购、编目、馆藏、流通及馆际互借等为核心的管理信息系统;建立情报资料检索系统,支持校内外、国内外用户查询;建立多情报资料阅览室,为师生提供阅读校内外、国内外多资料的。 ﻪ
——建立超级计算,为科学研究创造条件。按照现代管理科学的观点,管理就其职能来划分,大体包括科学的决策系统,高效的执行系统,灵敏的信息系统,严密的监督系统.处在信息时代的今天,教育信息已成为从事教育研究、制定教育规划、支持教育决策、调节教育活动、检验教育成效的基础与依据.学校在管理工作中,通过信息系统,可以及时、准确地将各院、系、所、处、室的管理信息传递给学校决策系统c
--
--
语言编程软件视频基于fpga的视频信号发生器设计,再经过决策部门的全面收集、定量观察、系统分析、结合评价、矛盾、发现问题、预测趋势、找出规律,然后做出符合客观规律的决策,提出行之有效的解决问题的办法与措施。同时,在教学、科研、学习等业务活动领域引入计算机,为教师和学生提供一个现代化的计算机网络,可以改善教学、科研手段。在教学上教学软件、学生实习作业、图书资料查询均可通过网上快速完成;在科研上可以实现数据资源、信息资源、硬件资源共享,加快科研步伐,开创新的科研领域,提高科研水平,使整个学校与世界靠得更近,成为提高学校知名度的工具。ﻪﻭﻭ学校信息系统的建设,目前在高等学校中如同校舍、教室、实验室一样,作为一个重要基础设施,成为提高教育质量、提高学术水平不可缺少的支持和衡量学校办学水平与管理水平的重要标志,是学校建设与发展的必由之。 ﻪ
教育信息化浪潮及其.信息时代的到来,掀起了教育信息化浪潮。所谓教育信息化,就是教学技术、教学手段、教学思想、教学目标、教学内容、教学过程、教学评价等的全面信息化,最终落实在培养信息社会所需要的高质量人才目标上。 ﻪﻭ1999年7月在全国教育信息化工作座谈会上,提出了教育信息化的四项任务:一是发展现代远程教育,构建终身学习体系,通过式教育网,为社会每个进行学习提供机会和可能;
--
--
二是推进教育的和发展,实现教育的现代化。教育的现代化主要指教育、教育手段、教学内容、教育技术几个方面,是教育信息化的基础和条件;三是培养信息化人才,为国家各行各业的信息化和信息安全服务;四是发展信息产业,建立新的经济增长点。对于推进教育信息化的十项工作中,明确指出:要加快cernet建设与发展,要充分发挥高等教育在推动教育信息化建设中的带头作用,加快信息化学科建设,培养一大批信息化创新人才
ﻪﻭﻪ实践证明,教育的整体最迫切的还是教育观念的,解放思想,勇于创新.一是树立正确的信息时代观念,增强重视信息、研究信息、利用信息的紧迫感;二是树立先进全面的人才目标和质量观念,培养知识、能力、素质全面发展人才;三是探索建立新的教学模式,提高教学质量和效益;四是形成教育合力,促进整体优化.如果不更新观念,仅仅是技术的介入并不会使学校发生真正的变化,即使大规模地购买计算机,也不会自动地在学生的学习活动中产生教育所预想的变化.教育信息化为所有学校的发展提供了机遇。ﻭﻪﻭ。这种运行值得我们学习和借鉴的是:学校要改变单纯依靠教材、黑板的传统教学模式,形成将书本知识和社会的各种信息相结合、教师传授和学生探索相结合的全新的现代化教学模式。概括来讲,一是确定教学内容的组成;二是对每个教学环节和方法予以配置;三是合理选用教学组织形式;四是选择利用教学,即选择
--
--
教学信息处理和传递的方式手段.ﻭ
根据信息社会对人才在素质、能力、知识方面的要求,要积极开发教学信息资源和应用系统,创建优化的网上学习,以适应培养新型人才的需要。重点抓好多教学信息库建设与开发,包括教学大纲、教学计划、教学资料、教案、习题、测验等,并可建立网上教室,提供给广大师生自学、研究使用;抓好教学课件的建设;要充分利用多种形式和人机交互方式,形成文、图、声、像并茂的多课件,用生动形象的效果激发学生学习,强化学习动机;重视在网上建设各类多阅览室,并开辟网上讨论渠道,提供网上协作学习和答疑等服务,为学生的学习提供方便;要针对学生的学习把学习资源重组,按照教学目标的要求,把有关学习内容、案例、测验和实验组合成专门的学习模块,创造良好的学生知识获取条件;要按照“教育面向世界,面向未来,面向现代化”的要求,优化各项教育资源,全面推进教育信息化,全面提高教育质量。ﻭ 2系统的研究内容及其实施方案2ﻪﻭﻭ。1系统的主要研究内容ﻭﻪﻭ本系统采用b/s结构,基于方便的考虑,采用mvc结构,即表示层、中间层和数据层。将数据和表示分离。系统主要分为管理员操作模块、教师操作模块、学生操作模块三个大的功能模块,涉及学生选课,教师在线评分,文件的上传,压缩等操作。管理员负责课程信息、学生教师信息、密码操作等;教师负责实验报告的评阅、信息;学生负责实验报告上
--
--
传、选课等。主要研究的内容就是怎样整合这三者的关系,处理好实验报告收集管理流程,使三者可以相互协作,提高。系统主要功能模块如图1所示。
ﻪﻭﻪ图1系统主要功能模块2ﻭﻪﻭ。2系统的实施方案 ﻪﻭﻪ架构设计是软件开发的基础,并往往决定一个项目的成败。三层结构是目前流行的架构设计模式,它是在由buschmann等提出的“层模式”基础上发展起来的,由表示层、业务逻辑层和数据访问层三个层次结构组成;其中将实现人机界面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中;数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按反的顺序依次返回将数据显示在表示层。三层结构通过任务分解来解决需要管理问题的复杂性问题,同时还可以有效地重复使用业务逻辑并保留与昂贵资源(如数据库)的重要连接,大大提高了系统的可型、扩展性和开发效率。ﻭﻪﻭasp。net技术是开发基于web的应用程序.web应用程序是一种分布式的应用程序,要由服务器端的web服务器和客户端的浏览器相互配合来实现系统的功能,所以其结构又被称为b/s(browser/server)结构。按照通行的三层结构的模式,结合web应用程序的运
--
--
行方式,并根据asp.net的技术特点,把web应用程序分为也三个基本层次:用户界面层、业务逻辑层和数据访问层,这就得到了基于asp.net技术的三层设计模型.三层之间的关系如图2所示.
图2三层结构关系图
ﻪﻭﻪ1)用户界面层(webformstier)ﻭ
用户界面层用来实现在客户浏览器中显示的用户界面,是系统的用户接口,主要提供系统与用户的交互功能,接收用户的输入并将业务逻辑层动态传送的数据信息呈现给客户。用户界面层主要通过使用html标记和css(cascadestylesheet)模式来实现。 ﻪ
2)业务逻辑层(businesslogictier)ﻪﻭ
ﻪ业务逻辑层是整个分层模型的中间层,也是整个分层模型中最为重要的一层,用于封装商业逻辑和规则.业务逻辑层为用户界面层提供功能调用,同时调用数据访问层所提供的功能来访问数据库,并将请求处理结果发回给浏览器。这样做可以简化设计,并可以提高系统性能. ﻪﻭﻪ3)数据访问层(dataaccesstier)ﻪﻭ
数据访问层是整个分层体系的最底层。主要实现与数据库的交互,即完成查询、插入、删除和修改数据库中数据的功能。
--
--
数据访问层为业务逻辑层提供服务,根据业务逻辑层的要求从数据库中提取数据或者修改数据库中的数据。ﻪﻭ ﻪ采用这种三层模型来设计和开发web应用程序具有以下优点:1ﻪﻭﻭ)层次结构清晰,各层的功能明确,与实际问题明显对应,简化了工程的设计工作。
ﻭﻪ2)各层的功能相对,提高了系统的开发设计的效率,降低了后续的和扩展的难度和成本。ﻪﻭ
ﻪ3)各层的内聚性好,非常有利于采用面向对象的开发方法,从而提高代码的可重用性和整个程序的鲁棒性。ﻭﻭ4)有效的实现了显示代码与逻辑代码的分离,有利于工程的ﻭ ﻪ3。系统的研究技术线
ﻪ(1)采用asp。net为开发工具,sqlserver2000为后台数据库,服务器支持多cpu冗余、通过建立实时数据库服务,解决数据与时间的相关性和共享大量数据,使现场过程中发生的历史数据进行记录,方便管理者们对其进行历史查询和事后的事故分析。
ﻪﻭﻪ(2)利用asp.net可以快速方便地部署三层体系结构,通过在网页中使用基于事件的处理,可以指定处理的后台代码文件。ﻪﻭ ﻪ4。系统关键技术 ﻪ
--
--
ﻪ(1)。net
ﻭ根据微软的定义:。netisarevolutionarynewplatform,builtonopeninternetprotocolsandstandards,withtoolsandservicesthatmeldcomputingandcommunicationsinnewways。即:.net=新平台+标准协议+统一开发工具 ﻪ
.net作为新一代互联软件和服务战略,将使微软现有的软件在网络时代不仅适用于传统的个人计算机,而且能够满足呈现强劲增长的新设备的需要。到底什么是.net呢?微软总裁兼首席执行官steveballmer把它定义为:.net代表一个集合,一个,一个可以作为平台支持下一代internet的可编程结构。ﻭ
。net的最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收就可以了.而所有后台的复杂性是完全屏蔽起来的,即没有。.netframework可以创建windows应用程序、web应用程序、web服务和其他各种类型的应用程序..netframework的设计方式它可以用于各种语言,包括c#语言,以及c++、visualbasic、jscript,甚至一些旧的语言,如cobol。为此,还推出了这些语言的.net版本,
--
--
目前还在不断推出更多的。net版本的语言。所有这些语言都可以访问。netframework,它们还可以彼此交互。c#开发人员可以使用visualbasic程序员编写的代码,反之亦然 ﻪﻭ。
ﻪﻭﻪ所有这些提供了意想不到的多样性,这也是.netframework具有诱人前景的部分原因。ﻪﻭﻪﻭ(2)数据库
ﻭ顾名思义,是存入数据的仓库.只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放的。当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。要是下定义的话,就应该是:指长期储存在计算机内的、有组织的、可共享的数据集合. ﻭ数据库包含关系数据库、面向对象数据库及新兴的xml数据库等多种,目前应用最广泛的是关系数据库,若在关系数据库基础上提供部分面向对象数据库功能的对象关系数据库。在数据库技术的早期还曾经流行过层次数据库与网状数据库,但这两类数据库目前已经极少使用。ﻭﻪﻭ数据库系统是一个实际可运行的存储、和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、
--
--
数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行.数据管理员负责创建、和整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任 ﻪﻭﻪ。
数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、和应用数据库系统所涉及的理论、方法、技术所构成的学科.在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域. ﻪ
(3)存储过程ﻪﻭ
存储过程(storedprocedure)是一组为了完成特定功能的sql语句集,经编译后存储在数据库中,类似于dos系统中的批处理文件.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程. ﻪ
--
--
ﻪ总的来说,存储过程具有以下一些优点:
ﻭﻪ(1)在不需要客户端的情况下在服务器端执行复杂的操作ﻭ
ﻪ(2)可以被多个客户端共享使用(代码共享)
(3)极大的减小网络流量,提高网络利用率 ﻪ
ﻪ(4)在服务器端执行,速度快ﻭ
ﻪ(5)可以将复杂的任务划分为多个简单的商业逻辑ﻭ ﻪ(6)存储过程对某些需要周期性处理的任务特别有用ﻪﻭ (7)存储过程在客户端和服务器端提供了良好的并发性
(8)触发器是数据一致性的基本工具ﻭ
(9)触发器常被用在为插入新行提供唯一主键值ﻪﻭ ﻪ(10)触发器常被用来保存一些状态信息
ﻪ(11)存储过程和触发器是interbase事件机理的有力组成部分
ﻪﻭ(12)存储过程增强了数据的安全性 ﻪ
使用sqlserver中的存储过程而不使用存储在客户计算机本地的transact—sql程序的优势有:
--
--
ﻭ(1)允许模块化程序设计:只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储过程可由在数据库编程方面有专长的人员创建,并可于程序源代码而单改。
ﻪﻭ(2)允许更快执行:如果某操作需要大量transact—sql代码或需重复执行,存储过程将比transact-sql批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行transact-sql语句时,都要从客户端重复发送,并且在sqlserver每次执行这些语句时,都要对其进行编译和优化。3(ﻭﻪﻭ)减少网络流量:一个需要数百行transact—sql代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码.ﻭﻪﻭ(4)可作为安全机制使用:即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。 ﻪﻭﻪ一、实习目的:
ﻭ检验与巩固理论知识,提高实际操作能力与社会实践能力.ﻭﻭ二、实习时间:
ﻪ2005—07-27 至 2005—10-23 ﻪ
ﻪ三、实习地点:
--
--
ﻭﻪ广东广州ﻪﻭﻪﻭ四、实习单位与部门:
ﻪﻭﻪ广州**网络科技有限公司·软件开发部ﻪﻭﻭ五、实习内容: ﻭ
应学校要求,本人于七月二十七号来到广州**网络科技有限公司实习。初到该公司,听公司负责人讲解了公司状况以及工作要求,就马上开始我的工作.从该负责人得知,公司的软件开发业务并没有多长时间,所以公司的很多工作流程还不太规范。在3个月的实习时间里,我参与了一个类似于erp的项目。项目的大致内容是:为一家中型制造业企业量身订做一套综合管理系统,包括了仓库管理,销售管理,采购管理,生产管理,财务管理以及人事管理,共六个子系统,且这六个子系统是有机的组合,以方便该企业的管理生产资源,人力资源以及财务.在整个参与过程中,在不同时间里担任的工作任务也不同。1ﻭﻪﻭ、八月份ﻭ
据了解,该项目早在3月份就开始了,而且该项目一直是处于不受控状态,控制不了的原因有诸多,例如客户的需求发生了巨大变动,该项目进行期间有很多其他的项目插入到开发过程中等等.于是,我参与了测试程序的工作,以熟悉整个项目的具体内容,功能实现,设计方法等.在做测试工作的过程中,发现实习单位目前对测试不太重视,在以前的项目中也很少有全面的软件测试阶段。主要表现在:一方面,在我实习期间,就陆续有以前做的系统拿回来,重新做测试工作并修改。
--
--
据了解,目前国内的绝大多数软件企业也是重编码轻测试,导致软件的强壮性低下,而在售后的维护阶段中经常性需要大幅度修改.这样一来,经常有不同的新老系统并行,给新系统的项目进度带来了外部干扰;另方面,公司要求的测试方法也较为简单,且测试文档的书写格式极其简单,这种书写格式在一些功能上的错误和明显的数据错误上有很好的表意效果,但是在表达程序的逻辑错误和内部数据错误时有很大的欠缺。在整个测试工作中也大概了解了该系统的各方面特性。该系统采用b/s结构开发,随着internet的高速发展、电信部门对网络线路的投入、带宽的增加等各个对b/s结构有利的条件下,采用b/s结构可以节省很多的成本。在以前采用c/s结构开发的系统中,需要为系统开发客户端,而且在维护过程中,除了对服务器端的维护,还要对各个客户端进行维护,而目前盛行的b/s结构,则只需要开发和维护服务器端,相比之下,开发和维护的成本也就大大降低。另外,b/s结构在internet里的应用性比较高。但是,b/s结构也不是完美的选择,它存在诸如b/s结构的用户界面上比较难控制,浏览器的安全性能没有很好的保障等问题。整个系统采用asp .net+ms sql server 2000做开发,编程语言采用c#和vb.ﻭﻭ测试工作和书写文档是比较枯燥的工作,测试更是要细心,有耐性的去做,在这个月里认真的完成了我的工作,还帮忙修改了用户界面.我的工作得到了负责人的肯定。
--
--
ﻪﻭﻪ2、九月份
ﻪ 八月末就得知要将整个系统重构,因为原有未完成的系统跟变动后的用户需求有太大的出入,而且系统存在比较多的错误,难以修复.负责人要求我参与到系统的重构工作中去,参与设计,代码编写。这对我来说是一个考验也是一个机会,于是我选择了“仓库管理\"子系统,用vb作为编码语言。在九月份的开发过程中,有两个方面的感触: ﻪ
第一是技术方面。由于采用了vb编写代码,而自身只学了c/c++、还有java.对vb只是一点点了解,另外,对asp dotnet更是一点不通。所以,这个时候需要发挥下自学能力,和领悟能力.在开发过程中印象最深的是web form里datagrid的操作,以及对整个web form的运行过程.首先,由于仓库管理绝大部分工作是填写单据,单据是由单头和单体组成,单头记录基本信息,单体记录明细信息.设计决定在填写单体时,采用datagrid行内编辑,所以datagrid的行内编辑将是技术的难点。dotnet的datagrid控件有编辑命令与删除命令,而新增则可以通过一个button点击来生成一个新行等待编辑。三个操作的代码清单如下:ﻭ ‘编辑命令代码清单ﻪﻭﻪﻭprivate sub datagrid1_editcommand(byval source as object, byval e as
--
--
system。web。ui。webcontrols.datagridcommandeventargs) handles datagrid1.editcommand
ﻭ if viewstate(“add\") 1 thenﻪﻭ
datagrid1.edititemindex = e。item。itemindex ‘将该行的编辑状态行
datagrid1。databind() ﻭﻪ end if ﻪﻭend subﻭ
‘删除命令代码清单
ﻭ private sub datagrid1_deletecommand(byval source as object, byval e as system.web。ui.webcontrols.datagridcommandeventargs) handles datagrid1.deletecommandﻪﻭﻪﻭ if viewstate(“add\") 1 then
ﻪ dim delindex as integerﻭ
ﻪ delindex = cint(e。item。cells(1)。text)ﻪﻭ ﻪ dim dr as datarowﻪﻭ
ﻪ dr = dataset1。tables(“tblbrand”).rows。find(delindex)‘找到该行在数据集中的编号
--
--
ﻪ
ﻪ dr.delete()‘将该行在数据集中删除
ﻪﻭ sqldataadapter1。update(dataset1。tables(“tblbrand”))‘更新数据库表ﻪﻭ
datagrid1。edititemindex = —1ﻪﻭ datagrid1.databind()ﻭ ﻪ end if ﻪﻭﻪend sub ﻪ
ﻪ‘新增按扭事件代码清单ﻪﻭﻭprivate sub button1_click(byval sender as system。object, byval e as system。eventargs) handles button1.clickﻪﻭﻪﻭ dim dr as datarow ﻪ
dr = dataset1。tables(“tblbrand”)。newrow()‘新增一行,并将该行插入到数据集ﻪﻭ
ﻪ dataset1.tables(“tblbrand”).rows。insertat(dr, ataset1.tables(“tblbrand”).rows.count)ﻭ
viewstate(“add”) = 1
end subﻪﻭ
--
--
其实datagrid中有很多很好用的特性,具体请参考msdn.其次,为实现一次性提交整张单据到数据库保存,采用了sqlaadapter与dataset结合,应用sqlaadatper的uapdate方法特性:对dataset 的数据行做检索,并发操作delete,update,insert三个命令,对删除行做数据库删除,更改的数据行做更新,新增的行做插入.最后,在web form的初始到消除整个生命周期也有了较全面的了解。但是感觉dotnet中的web form的生命周期中,所发生的事件有些凌乱,例如datagrid每一行的创建和数据绑定都是比较复杂的,在开发中涉及的技术较多,在此不一一阐述。ﻭ
第二是工作方面。在这个月中,同样发现了公司的开发工作有较多的问题.首先,人员工作地点变动大,不便于沟通。在开发工作中,由于人员没有固定工作地点,只是把任务分配了,接着就各自去完成,这样一来,在各个模块的协调中经常出现了问题,但又不能很及时的和相关模块的负责人商讨解决方法,工作效率也就随之下降.其次,对整个项目的规划,整个系统的设计,编码,测试等工作分工不明确且不统一。在项目开始时,只是草草的分了下模块,接着这个模块的设计、编码、测试就由这个模块的负责人来做,没有先对整个项目进行明确的整体的规划。而且在设计过程中缺少讨论,导致设计出来的模块独立性过高,没有考虑到公共的接口等问题.最后,
--
--
对解决问题的速度慢.当在开发的过程中出现了问题,对问题的解决途径多固然是好,但是,解决方案出现分歧的时候难以敲定具体实施哪个方案,导致进展缓慢,进度延期。
3、十月份 ﻪ
十月份是整个重构活动的收尾阶段,该阶段需要完成的工作是数据报表的设计与实现。数据报表设计方面,沿用原有的纸质报表的结构,所以整个设计过程相对轻松。但是在实现阶段,由于在决定采用何种实现方式的决策问题上出现了飘忽不定的状况,使得进度上又有了少许的延期,最后采用了crystalreports来实现。抛弃了打印分页控制难的html方法,以及技术不成熟,安全性差的ms sql server reportingservice报表工具。在这个阶段,我负责了仓库管理、销售管理、采购管理以及生产管理等四个子系统的报表实现,在此期间学会了crystalreports的使用和编程,收益颇多。这次重构活动涉及了数据结构的重构以及代码的重构,提高了系统的清晰性、扩展性以及重用性。整体性能有了明显的提升。 ﻭ六、实习总结:ﻪﻭ
ﻪ 在这为期3个月的实习过程中,通过担任各种工作任务,充分的检验了自身所学的知识,了解了自身知识结构的不足;
--
--
通过与接触其他同事以及自我体验,较深入地了解了软件开发从业人员生活状况,以及目前大部分中小型软件开发企业的经营模式和操作流程。总结如下三点:1ﻪﻭﻭ、知识“阅兵式”ﻪﻭ
ﻪ 大学3年来所学的知识,在这次实习中得到了真正的检阅,同样,也暴露了知识结构的不合理性。技术上,学校里所学的基础知识表面上看似用不上,但却是这些基础知识让我有很牢固的基础,学起其他的技术知识自然而然的变得容易,能应对开发过程中所遇到的技术层面的问题。但是在业务上,由于缺乏所涉及的业务的相关课程的开展与自身涉猎知识面不广,而造成了在业务流程转换为系统设计或程序实现的中间环节频频出现困惑.软件工程专业培养的目标是管理或系统规划与设计,这一类的高层次人才,而不是纯粹的编码人员,所以对相关的业务应当明确、清晰。建议学校开展一些行业纵向讨论课题来弥补这个不足。
ﻪﻭﻪ2、从业人员的生存状况ﻭﻪﻭ 大部分从业人员长期生活在一种“精神高压”的环境中。由于项目控制的难度大,有了进度表跟没进度表的项目都一样,员工基本都是天天在赶工。不管是在大型企业的软件开发从业人员,还是在中小型企业软件开发从业人员的工作时间一般都不固定。只要手头上有没做完的事情就要赶,也有的企业让这种不固定变成让员工灵活安排时间的方法:只要手头上没东西做,人可以不用摆在
--
--
办公室.但是,这种灵活性不是单方面的灵活,而是员工与管理者双方面的灵活。只要有事做,管理人员随时都可以叫上程序员一起“奋斗\"。项目验收交付后,员工才算有休息一下的机会.这样一来,人员的积极性、生产效率也随着项目时间的持续而下降.但是,作为一个黄金职业,大部分从业人员都愿意吃这个苦。
ﻪﻭ3、中小型软件企业的经营模式与操作流程ﻭ
目前,国内大型软件开发企业数量较少,就规模而言,有关数据表明:90%以上的企业人数不超过100人,人员超过1000人的只有10家,同样的,企业的盈利水平也普遍低下。在这些中小型的软件企业中,他们的经营模式与操作的流程也都是大同小异:从经营的模式来讲,一般是接或拉定单,按客户要求制定灵活性强,适应性强的软件.做自主研发,零售产品的软件企业极为少数。从规模到盈利,就好比一家家的裁缝店,而非制衣厂;从操作的流程来讲,从项目的规划到启动,再到测试验收交付,其中规划与测试一般都不充分,从而导致项目风险提高,进度延时以及交付后的产品强壮性差也是中小软件企业存在的一大问题。ﻪﻭﻭ 最后,在此感谢公司里共事的每一位同事,感谢他们在实习期间给我的帮助.ﻭ
--
因篇幅问题不能全部显示,请点此查看更多更全内容