您好,欢迎访问三七文档
1实习日记:2008年03月01日今天是实习的第一天,在实训的前几天里,公司主要采取了讲座的方式对本次实训内容涉及到的相关知识帮我们进行了一次总结和补充。今天我们主要总结了软件开发过程和软件项目计划的相关内容,其实这方面的知识我们在上学期的软件工程课上也已经学过了,只是当时学得比较浅,所以对软件开发过程尤其是软件项目计划没有形成一个系统和全面的认识。但经过今天老师的讲解,就觉得比较清晰了。软件开发过程是用以开发和维护软件及其相关产品(如项目计划、设计文档、代码、测试用例、用户手册等等)的一组活动、方法、实践和变换。软件开发过程分为需求分析、分析设计、实施、测试、部署等几个阶段。软件项目计划是一个综合的组装工件(即它是一个计划集),用来收集管理项目时所需的所有信息,包括项目在开始阶段中开发的许多工件,并且在整个项目过程中保留下来,它可能在不断的更新中。2008年03月02日今天是实习的第二天,还和昨天一样我们上了一天的理论课,上午讲了数据建模,下午讲了数据库的相关知识。上完之后觉得其实这些东西大部分我们在平时上课都是学过的,可是为什么有的内容听起来是那么陌生,就是平时学得还不够杂实,只是蜻蜓点水般听老师讲了一次,课后也没有做进一步的研究,所以造成上午老师让我们建模的时候,只有少部分同学做了出来。下午的数据库由于我们在校期间把这部分当作重点内容讲了又讲,而且在平时使用很多软件的时候,都要接触到数据库,所以这部分内容对我们来说相对不陌生。还有另外一个收获就是今天我们学习了一个数据库建模工具——PowerDesigner,这个软件我们在学校并没有接触过,是在这里第一次接触的。分析设计人员利用PowerDesigner可建立三类模型,即面向对象模型(OOM)、概念数据模型(CDM)、物理数据模型(PDM)。完成软件分析设计通常采用三种途径,一条途径是从面向对象分析设计开始,依次建立用例图、时序图及类图,由类图转化为CDM及PDM,第二条途径是从结构化分析设计开始依次产生流程分析设计模型、CDM、PDM及类图,第三条途径是前两条途径的结合。但是今天并没有实际操作该软件。2008年03月03日今天是实习的第三天,依旧和前两天一样,今天上的是理论课。因为我们这次做项目开发是用Java进行编程,但是我们之前没有学过这种语言,心里不免有了一点压力和紧张感。实训老师也提前向我们了解到了这个情况,所以今天一天老师讲得比较慢。上午的时候老师讲得很浅,都是基本的东西,当时的感觉就是其实Java和C++满象的,只是个别地方有一些不同,或者说是Java的应用更广泛一些。下午老师主要就某一个具体的系统中的一个部分阐开讲解了一下,当2时听得很晕,觉得很难。当时心里只有一个感觉,就是觉得这些老师太强了。课后也没有进行进一步的研究,因为毕竟一种语言不是凭听老师讲几个小时就可以精通的。在这其中有一个很核心的技术就是J2EE。J2EE简单而统一的基于组件结构,内建的可伸缩性和安全性支持,提供稳定和可靠的基础,与企业信息系统和遗留系统的集成,Web服务的内建支持,建立于厂家和平台的可移植应用,这些特点使J2EE解决了企业开发中的难点。2008年03月04日今天是上理论课的最后一天,上午我们补了两节课,一节是关于企业文化,一节是关于软件测试的。在企业文化课上,老师主要从我们学生的这个角度入手,然后指出好的企业文化对一个企业来说是多么重要。一个企业必须建立良好的企业形象,只有在这个基础上,才能更好地发展。接下来的软件测试也很重要,是软件开发过程中的一个必不可少的环节,在软件实施完成之后,接下来就要对软件进行测试,但这方面的内容在学校还确实没学过,所以听了之后只有个大概印象。软件测试是根据程序开发阶段的规格说明及程序内部结构而精心设计的一批测试用例(输入数据及其预期结果的集合),并利用这些测试用例去运行程序,以发现错误的过程。软件测试分为单元测试、集成测试、系统测试和接受测试几个层次。今天上午结束了我们这次实习的全部理论课,下午我们就进入了实际开发阶段。在下午我们分好了组,又确定了各自的角色之后,就进行立项,最后我们组选择了行政执法管理系统这个项目。2008年03月05日今天一天我们主要是确定及编写项目开发计划,项目开发计划是整个项目的关键所在,如果计划不好,那么后面的工作也不会出色到哪去。因为整个软件项目组分为项目经理、开发组、配置组、测试组和SQA组等几个小组,所以大家分工合作,各自岁自己所在小组所要完成的工作进行了进一步的明确之后,都把自己小组的初步计划制定出来,然后大家各个小组在一块互相商量和探讨了一下,经过协商和统一,各自对自己的计划进行修改之后,汇总到项目经理那里,进行进一步的总结,最终完成了整个项目计划,形成WORD文档。在整个项目计划中,首先对完成这个项目我们所要做的工作进行了描述,接着介绍了项目的组织和资源,并列出了我们在开发这个项目过程中的进度安排。最后列出了各个小组的具体项目计划。2008年03月07日今天进入了我们第二周的实习,同时也进入了项目开发的下一个阶段——需求分析阶段。对于设计一个系统和开发一个项目来说,需求分析都是非常重要的工作,如果需求做不好,后面的工作做得再好也是无济于事。开发软件系统最为困难的部分就是准确说明开发什么,最为困难的概念性工作就是编写出详细技术3需求,这包括所有面向用户、面向机器和其他软件系统的接口,同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。所以做好需求分析的工作显得极为重要。基于需求分析的重要性和难度,我们准备花两天时间进行需求分析。今天我们主要是对需求的目的和需求过程中可能遇到的问题进行了进一步的明确,以便接下来的需求分析做得更加合理。在需求分析中通常遇到的问题有:客户表面上统一需求,但完成的产品并不能满足需求;需求总是变化,无法确定;需求太多,无法在给定的时间完成;设计人员抱怨测试人员没有拿最新的需求版本来设计测试;项目经理发觉开发人员独自增加了新的功能,新的功能用了很长的时间进行开发,但客户认为价值不大;客户总是不想对项目进行验收,他们担心系统无法最终满足需要。2008年03月08日今天我们继续进行需求分析,针对我们自己选择的项目进行了具体的分析。需求分析的整个流程如下:制定需求管理计划、提取业务需求、需求开发、需求批准、基线化需求、需求变更控制、需求状态评审。制定好需求管理计划之后,到用户方进行需求调查,以获得项目的初始需求,接着进行需求开发,即对拥护的需要进行分析,并用清晰合理的方式进行描述,使客户方和开发方对开发的内容达成一致。然后进行需求批准:确认需求正式作为项目管理和其他工程活动的基础,并做为客户之间承诺对系统进行验收的基准。接着基线化需求,目的是在经过客户和项目组的授权下,将批准的正式的软件需求工件放入配置管理系统。需求一旦建立基线后,需要通过控制流程来改变,需求的变更需要经过双方的批准,变更后的需求需要经过客户、用户和相关组的评审进入配置管理库,作为工作基线。项目组通过需求状态评审对需求状况达成一致。经过上述诸多步骤之后,最终形成了需求规格说明书,完成了对行政执法管理系统的需求分析。2008年03月09日今天进入了项目开发的另一个阶段,即分析设计阶段。在这个阶段包括概要设计以及数据库设计等。其中用到的主要工具就是PowerDesigner。在今天主要是具体了解了一下分析设计的目的、任务、活动流程以及分析设计中各角色应该完成的主要任务。首先软件分析设计活动是建立系统的构架,它的目的是将系统的软件需求分配给软件结构,使设计适应具体的实施环境。分析设计的整个活动流程是软件构架设计(建立软件系统的构架,将系统的软件需求分配给软件结构)——软件构架设计评审(检查软件系统构架设计是否合理,其中包括发现和修复缺陷和一致性确认)——基线化构架(将评审通过的软件构架设计工件置于配置管理,作为详细设计的基础)——软件详细设计(根据需求工件、构架设计工件,进一步精确描述软件系统,并使之适于具体的实施环境)——软件详细设计评审(检查软件系统详细设计是否合理,包括发现和修复缺陷以及一致性确认)——4基线化详细设计(将评审通过的软件详细设计工件置于配置管理,作为实施活动的基础)。2008年03月10日今天我们主要完成软件项目的概要设计,概要设计说明书是根据需求规格说明书的要求所编写的,是为详细设计作依据的,为详细设计提供标准。基于行政执法管理系统是智能化、可扩展性、集成有效性和跨平台的管理系统,为了安全问题,本系统分成客户端和服务器端。在对该系统进行概要设计时需要做的工作主要有软件系统结构设计、数据设计、接口设计、出错处理设计和系统维护设计。其中软件系统结构设计中包括对各个模块(执法考试、执法证件注销、执法证件挂失、执法证件年审及吊销、执法证件发放)的数据流和控制流的复审,通过变换映射,并采用适当的优化准则进行软件结构的优化,画出软件体系结构的树状层次图并对各个模块进行了描述。数据设计包括对数据字典的复审并对各个数据项进行了描述。接口设计包括三个方面,即用户界面设计、内部接口设计和外部接口设计。在出错处理设计中采用对话框形式为用户提供警告信息。系统维护设计中要充分考虑系统的可维护性和移植性。2008年03月11日今天我们完成了软件项目的数据库设计,从而结束了全部的分析设计工作。在软件项目的数据库设计中我们主要用到了数据库设计工具PowerDesigner,这也是我这次实习较大的一个收获,以前没有接触过这个软件,在这次实习中对这个软件的使用有了一个基本的了解。虽然我并不属于开发组的,但是基本上我们这次实习都是大家互相合作,所以我们都参与了数据库的设计。做数据库设计首要的就是对系统中涉及到的那些实体,画好实体关系图,而各实体之间的关系又是重中之重,因为我们在操作中由于没有对实体之间的关系进行正确的判断,导致后面由概念数据模型(CDM)向物理数据模型(PDM)转换时发生了错误,以致后面的操作无法进行下去。另外在创建CDM时应该明确模型所描述的业务问题,例如,需要存储哪些信息,与业务有关的实体有哪些,业务流程如何,了解这些问题后,才可以开始建立CDM。最后经过修改实体之间的关系,我们完成了CDM的创建集向PDM的转换,最后给出了数据库设计说明书。2008年03年13日接下来的三天主要是根据分析设计的结果进行编码,由于之前没有学过Java,再加上我们所要完成的这个系统是非常庞大的。如果我们在短短几天内想要吧整个系统的功能都加以实现,这是不可能的。所以在这最后一个周里,我们花了三天时间进行编码。因为我们组只有一个同学之前学过Java,所以编码的重任就交给他了。我们其他人还是各负其责,做好自己的角色应该完成的任务。另外也展开了页面设计的工作。编码阶段的任务就是将详细设计翻译成计算机最终5可运行的软件单元、集成工作版本。在编码中有以下一些角色:编码员(负责编码、修复代码缺陷),集成员(负责制定集成计划、集成程序单元,创建工作版本基线),测试员(负责执行测试活动),集成计划评审人员(参与集成计划的评审,一般由设计员、测试、配置经理、编码员、构架设计师登组成),代码评审员(评审源代码,一般由非代码作者的编码员组成)。2008年03月14日由于系统过大,加上我们在这方面的弱势,所以我们只选择了整个系统中的考试系统这块来做。其实在之前我们有和实习老师提过我们这方面的问题,老师还建议我们把编码这块外包给是相对强项的团队,他说他们公司在日常业务中如果做不过来经常采取这样的方法。但是由于大家都是学生,以前从来没有真正开发过一个项目,其他学校的同学就算他们以前有学过Java,他们的工作量也是很大的,所以我们还是硬着头皮做了下来。在整个编码的过程中,很感谢实习老师对我们的帮助。我们有很多问题都不懂,一直不停地向老师提问题,老师都一一耐心地为我们讲解,从前台到后台,以及如何与数据库和服务器连接,这些虽然之前在学校也有过类似的操作,但是没有这样系统地完整地进行过操作,所以这次对我们来说真的是一个严峻的考验。
本文标题:实习日记与体会
链接地址:https://www.777doc.com/doc-3515206 .html