2012广工软件工程课设

2012广工软件工程课设
2012广工软件工程课设

软件工程课程设计报告

课程名称______软件工程_____

题目名称 Android学生日常自助管理系统学生学院__ 计算机学院______

专业班级___ 10级软件工程1班 _

学号____ ______

学生姓名____ _ __ _

指导教师______ _ __

2012年 1 月 16 日

Android 学生日常自助管理系统

课题研发的背景

这两年来,Android平台的手机十分流行,基于此平台的手机应用也几乎涉及到我们生活的方方面面。前段时间在网上看到一个由在校大学生团队-- XTuOne工作室开发的Android手机客户端“超级课程表”,是一款以课程表为基础而展开的校园社交软件,面向高校大学生。其功能不仅能够帮助大学生查阅各个大学的课程信息(包括课程时间、授课地点、任课老师),还可以将自己的课程安排发布到应用中,与好友分享。除此之外,课程相同或者对此感兴趣的学生,可以在应用中讨论课程内容,分享上课的笔记,共享文件资源。甚至可以认识到同一节课任意课室范围内的同学,扩展交际圈,并可以向同班同学发送私信,方便同学间即时、便捷的联系。还可以查看到全校课程,并添加入为个人旁听课程,制订属于自己的学霸计划!绑定第三方应用(新浪微博)并分享到给第三方应用的粉丝。与其它课程表应用不同的是,“超级课程表”不需要用户手动添加课程,用户输入学校信息管理系统账号后,系统自动添加,方便,快捷。

受此启发,我想到了开发一款新的Android手机应用“Android学生日常自助管理系统”。此应用集众家所长,功能可谓应有尽有,能够极大的方便学生日常学习和生活。

因此,开发这样一套管理软件成为很有必要而且很有意义的事情。

课题研发的目的与意义

学生日常自助管理系统,为学生提供教务管理、图书馆管理、手机支付、通讯交友等服务。

本学生日常自助管理系统基本能够满足日常生活和学习管理的需求。其中教务管理模块提供了课程表的查询和通知功能、成绩查询功能以及网上选课等功能,图书馆管理模块提供了查询图书、挂失图书、预约图书和催还通知等功能,手机支付模块提供了校园卡充值、手机充值等功能,通讯交友模块可以绑定新浪微博、支持即时聊天功能。通过使用此手机客户端,为学生的学习和生活得到了极大的便利。

系统开发的总体任务是使在校学生可以轻松快捷地完成日常学习和生活管理任务。

第一章可行性研究

1.1.技术可行性分析

此学生日常自助管理系统使用Java语言开发,Java 编程语言的风格十分接近C、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,可轻松调用各种系统的接口,实现所需要的功能。

因此从技术方面讲开发此企业学生日常自助管理系统是可行的。

1.2.社会可行性分析

社会可行性研究是对系统投入使用后对社会可能带来的影响进行分析,比如是否为人们所接受,是否为社会带来利益。

1.3.经济可行性分析

主要是对项目的经济效益进行评价,一方面是支出的费用,其中包括设备购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益中可以用钱来衡量的那部分(收益的另一部分难以用钱来表示)。如果可以的话,申请学校项目并获得学校的设备支持,建设这样一个可以极大方便学生的系统。由于企业工资管理系统是一个比较小型的系统,可由几个同学小组进行开发的,所以从人力、物力、财力方面来说都是可行的。

1.4.操作可行性

主要是管理人员对开发信息系统是否支持,现有管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等,学生日常自助管理系统比较完善的规章制度和管理方法为系统的建设提供了保障。

第二章需求分析

2.1 系统主要功能需求分析

系统的功能要求

①整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。

②开发方法,文档规范化,便于管理,可扩充。

③完善的数据输入,维护,输出。

④自检性能高,用户误输、错输均有提示。

⑤容错性能高,某个用户的操作错误不会引起整个系统的瘫痪,每一功能的操作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。

2.2层次方框图

第三章概要分析

3.1系统总体设计

本部分主要介绍系统要实现的功能,搭好设计的总体框架,使我们对要开发的系统有一个系统、全面、确切的认识。

系统开发思想

本系统是采用面向对象的程序设计思想进行编制的,整个系统由若干个表单、类、报表以及一个主菜单组成,有项目管理器统一管理全部程序的编写和调试。用户可以通过主菜单或总表单调用系统的各项功能。

(1)、面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。

(2)、所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。

(3)、类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。

(4)、面向对象设计的核心是类的设计。

(5)、设计的系统也是建立在一系列类基础之上的,其编程的思想是:先根据一定的需要创建一系列的子类,编制程序时,由这些类派生出相应的对象,所派生出的对象继承了其父类所有的功能,而且具有很好的封装性,这样就可利用派生出的对象像搭积木一样来设计自己的程序。打个比方,就比如要制造一台机器,首先要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就只是如何把这些零件组装起来,这样一台机器就很容易制造出来了。实际编程也是如此。每个表单都是由一定数量的对象按某一种

方式组合在一起的,程序编制的核心是类的设计。

3.2 数据库总体设计

总体设计

概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、易如理解的数据模型,其独立于计算机的数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。

概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。同时也是一种相对稳定统一的数据模式,一般情况下很少变动。概念性数据在用户和设计者之间建立了桥梁。是设计数据库结构的基础。

第四章详细分析

4.1学生日常自助系统功能

学生日常自助管理系统主要有以下几大功能:

(1)教务管理,提供了课程表的查询和通知功能、成绩查询功能以及网上选课等功能。此功能是基于登陆学校教务管理系统之上的,通过学生在校的账号登陆到学校教务管理系统,然后进行课程表信息同步,日后便可十分方便的查看课程表,还可以设定课程提醒功能。成绩查询功能和网上选课功能则直接调用学校教务管理系统的相关接口实现。

(2)图书馆管理,提供了查询图书、挂失图书、预约图书和催还通知等功能。此功能同样基于登陆学校图书馆主页,进行相关功能操作。其中图书催还通知可以设置提前设定的日期进行提醒。

(3)手机支付,提供了校园卡充值、手机充值等功能。学校的银行卡和自身的校园卡和手机号码进行了全部绑定,本人的银行卡账号只能给自己的校园卡和手机号码进行充值,避免了发生账号被盗取而导致经济损失的安全问题。此功能可能涉及到商业问题,要和学校或者一卡通公司进行协商。

(4)通讯交友,可以绑定新浪微博、支持即时聊天功能。通过新浪微博账号,可以实现新浪微博查看和收发。还集成了校内即时聊天平台,可以跟校友畅聊无阻。

4.2功能模块说明

本系统大致分为如下四大功能模块。

(1).教务管理

(2).图书馆管理

(3).手机支付

(4).通讯交友

(5). 退出

4.3功能模块实现

(1)用户注册与登录

分为新用户注册和老用户登录:

在新用户注册子模块中,要求输入新用户的学校、邮箱等信息。在此模块中添加找回密码子功能,如果用户忘记密码,可以凭借注册邮箱或者学号找回密码。

(2).教务管理

通过学校教务管理系统的账号登陆之后可实现以下子模块的功能:○1课程表的查询与通知。从学校教务管理系统同步数据之后,可以实现课程表的查询。用户还可以手动设定课程通知。

○2成绩查询,通过网络接口直接打开查看。

○3网上选课。

(3).图书馆管理

通过学校图书馆系统的账号登陆之后,通过相关接口可实现以下子模块的功能:○1查询图书,在用户输入要查询的图书书名之后,返回相关数据,提供分类查询和快速查询方式。用户还可以查询自己当前借书情况。

○2挂失图书,用户可以在已借图书的目录中找到要挂失的图书,提交挂失申请。用户还可以查看目前挂失图书情况。当然,数据的维护和处理还是学校图书馆系统上面实现的,用户通过此子模块只能实现查询和提交挂失申请功能。○3图书预约,用户可以在查询到的图书目录中选取自己要预约的图书,进行预约,用户还可以查询目前预约情况。

○4催还通知,一旦系统检测到学校图书馆系统上面有用户的图书催还信息,就会以通知栏的形式通知用户。

(4).手机支付

用户需要输入支付密码(与登录密码不同)方可实现下列子模块的功能:○1校园卡充值,输入充值金额并按确认键时,系统会把当前输入金额数再次显示在屏幕上,并提示用户再次按确认键确认。在收到用户再次确认信息之后,系统通过相关接口连接到一卡通公司的系统,进行充值。

○2手机充值,此子模块实现方式与校园卡充值子模块相似。

(5).通讯交友

○1绑定新浪微博,用户通过新浪微博账号登陆之后,可以方便的进行相关操作。

○2即时聊天,可以显示当前在线的用户,可以通过加对方为好友的形式进行即时聊天。提供好友搜索和筛选功能。

(6). 退出

此功能块为退出系统。

第五章系统维护

系统的维护主要包括四个方面:

(1)程序的维护:指的是修改部分或全部程序,这种维护往往是在条件发生变化或原系统的效率低的情况下进行的。

(2)数据文件的维护:指的是按照用户的要求对数据文件进行不定期的修改。

(3)代码的维护:随着系统的发展和变化,可能会出现旧代码不能适应新要求的问题,因此,有必要变更代码,予以维护。

(4)硬件的维护:指的是对系统所使用的设备进行维护。

本系统的日常维护由学校的专人来负责,如果出现一些不能解决的问题,则由开发者来负责。

《软件工程导论》实验报告

2011-2012(2)《软件工程导论》实验报告 学院:计算机学院 班级:软件工程114 姓名:黄芳恺 学号:119074258 目录 实验1:项目计划、分析和设计 实验2;编码 实验3:代码复查、编译 实验4:项目测试总结

软件工程导论实验一:项目计划、分析和设计 [ 实验日期 ] 2012 年 4 月 20 日 [ 实验目的 ] 初步了解结构化分析、设计方法的原理、步骤以及各阶段的文档,练习撰写简要的需求文档、设计文档。 [ 实验内容 ] 贪吃蛇程序:贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物则表示食物被蛇吃掉,这时蛇的身体长一节,同时计1分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,游戏结束。根据编写贪吃蛇的游戏规则,我们利用c语言来进行编辑具体步骤,从而使游戏能够运行,根据编写贪吃蛇程序,掌握软件工程思想及要领,进一步巩固编程思想和掌握画图函数底层,依据项目可行性研究的结果,进行需求分析和设计,编写简要的需求规格说明书,绘制程序流程图。 [ 实验原理和步骤] 当前的建模方法主要有传统的结构化分析、设计方法(SA/D)和面向对象分析、设计方法(OOA/D)两种。 分析阶段: 结构化分析(SA)是一种建模技术,它通过一定方法帮助开发人员定义系统需要什么功能,系统需要存储和使用哪些数据,以及为完成这些功能,系统需要什么样的输入和输出以及如何把这些功能结合在一起来完成任务。 设计阶段: 分总体设计和详细设计两阶段。总体设计阶段的任务主要是确定系统由哪些模块组成,以及这些模块之间的相互关系;详细设计阶段的任务主要是设计每个模块的处理过程。常用的结构化设计(SD)方法有面向数据流分析(DFA)的设计方法和面向数据的设计方法。DFA设计技术实施的通用步骤:(1)复查并精化DFD;(2)确定DFD类型; (3)把DFD映射到系统模块结构,设计出模块结构的上层;(4)基于DFD逐步分解高层模 块,设计出下层模块〈初步结构〉;(5)根据模块独立性原理,精化模块结构,得到更为合理的软件结构;(6)模块接口描述;(7)修改和补充数据词典;(8)制定测试计划。 详细设计阶段的任务主要是确定每个模块的处理过程,包括(1)确定每个模块的算法。(2)确定每一个模块的数据组织。(3)为每个模块设计一组测试用例。(4)编写详细设计说明书。详细设计阶段采用的方法是结构化程序设计(SP),与SA,SD方法衔接。目标是给出可以直接用以编码的程序逻辑结构,强调清晰第一。 设计思路: 这个程序的关键点是表示蛇的图形以及蛇的移动。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不

软件工程实训心得体会3篇

软件工程实训心得体会3篇 软件工程实训心得体会一:软件工程实训心得体会 这次软件工程实训是从2010.12.26号开始的,截至2010.12.31号.实训内容是用java相关知识(主要是jsp)做一个物流配送系统.下面谈谈对这次实训的看法. 因为自己平时对java知识储备不足,特别是jsp这一块基本不了解怎么回事,所以一拿到这个项目,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了.呵呵,26号,实训开始了,我们的老师是来自中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样.老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就后悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的机会啊.后悔也没用啊,开始还勉强能理解一点,后来就直接晕了.然后再给大家介绍了一些即将用到的工具,比如rationalrose,svn,myeclipse等等.接下来的几天就不再细讲了.下面谈谈通过这次实训的心得体会吧. 通过这次实训,让我了解到工程开发的过程,可行性分析——> 需求分析——> 概要设计——> 详细设计——> 代码编写——> 测试——> 验收.从技术方面上,我开始jsp基础基本上就是零的,在老师和syz2(另外一个物流小组,我一个人基本上是跟她们做的,或者说是

看着她们做的)的帮助下,对jsp有了一个大概的认识.其实实训开 始前,我还以为做个系统没什么大不了,可是当真正拿到一个项目,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编 写时,一样寸步难行.通过这个实训,也让我了解到,团队协作是多么 的重要.一个人的精力是多么的有限.进一步理解到,企业为什么如此重视团队协作.同时借用老师的话就是团队协作固然重要,但是是建 立在个人素质的基础上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多贡献了.**老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导. 还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个 问题吧.然后他说出来,我也觉得这个问题确实其实是个大的问题.就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了.小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一 起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各 种问题,老师也会尽力为你回答.将来出身社会就不一样了.虽然,我 就算个打酱油的水平,但是这个酱油也要打得有涵量啊.不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自 己的一个肯定. 这次实训的心得基本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题, 脸都变红了,还在继续努力,这点我并不会觉得老师知识储备不够,我想应该是这个问题的突发吧,一时没想到怎么处理.相反让我感觉更 多的就是老师很认真,很负责.还要感谢就是syz2小组的倾力支持, 辅导. 软件工程实训心得体会二:软件工程实践学习心得(2607字)

软件工程课程心得

软 件 工 程 项 目 心 得 姓名:李永聪学号:32号 班级:软件二班

在我们整个软件工程过程中,我体会到了许多,也学到了许多。 在项目要进行自由分组后,我们组成了自己的项目小组。我们小组由五个成员组成,在相互商量后我们也确定了我们小组的项目及名字,是做一个学生管理系统网站。我们按照老师要求进行了分工,由于我们团队只有我和另一名成员会编一些比较复杂的C#代码,所以我们便担起了更重的任务。最后由于在整个团队中,对于界面开发这一块变交给了我们组的两个女生,我们的项目也正式开始了。 需求调研和分析对于软件开发过程至关重要。我们在开发时如果不进行调研和分析,那么对于后来的项目进展将产生严重的影响。我们在项目的开发中便遇到了这样的问题。老师作为我们的客户,他对这个学生管理系统网站的要求便是我们必须了解的,我们也必须以客户的要求为根本构建我们的这个系统。我们开始自己随意的计划整个网站的设计,然后报给老师,老师作为一个客户并不是全部认同,随后我们也必须按着客户的要求更改我们的设计报告。我也明白了,再做一个系统时,必须随时和客户保持沟通,随时了解他们需要什么,他们想要什么功能。如果我们不去和客户沟通,不去调研客户的需求,做出来的系统即使在我们看来是一个很好,很完美的产品,但是如果客户不认同,那么我们所做的一切都是徒劳,还要返工去修改,费时费力。所以在做任何一个项目时,前期的需求调研和需求分析都是必须的,这是在做一个项目的基本,是关系成败的重要一环。 对于一个项目,它的需求设计也非常重要。在我们的学生管理系统网站开发的过程中,遇到了一些问题在管理员应该实现的功能上反复增删等,这些问题很多都是由于设计不够清晰,不够完善而导致的。出现的这些问题很多都是非常棘手的,我们为了解决这些棘手的问题浪费了大量的时间,我们不得不在工程代码上改了又改,在数据库里增表、删表、加数据、减数据,当然,在文档里也要做出相应的修改以适应新的功能。还好,我们能及时地发现问题,通过相互沟通讨论,问题也得到了解决。通过总结,我们也意识到,我们大家在做需求分析和进行需求了解时仅仅考虑了一些基本的功能,而至于管理员和客户之间的联系,以及具体的一些流程我们都没有深究,而导致我们到后期花费了大量的时间用于修复之前没有考虑周全而带来的问题。如果我们的需求设计能够比较清晰和完善,

软件工程导论总结报告

软件工程总结报告 序言 本期软件工程专业导论课程结束后,为圆满完结本期此课程的学习,特此总结个人学习所得以求些许回报先生无私教导。 主体 第一节课主要讲述了软件工程各领域之间的联系以及贯穿始终 的基础为何。其中较为基础并相当重要使的应该是算法。对于算法重要性与基础性的理解,我个人有比较切身的体验。比如前不久的 ACM 竞赛,在比赛中我所在的小组以及当场几乎所有小组都遇到这样一个 问题:超时—这无非就是个人设计的算法的效率不够高,这也证明我 们对算法理论知识的匮乏(不清楚优化个人算法的方法)。我对软件 工程这一专业有了一个较为全面的把握,对我个人未来进取方向而言 也起到了一定的指导作用。 第二节课老师带来了三位本专业的前辈向我们传授大学生活应 如何度过以及对我等一些问题作出解答。其中我个人印象深刻的是其 中一位学姐 PPt 中引用李开复的那部分内容。即试着记录下自己一整天做的所有事以及其所花费的时间,再仔细研究自己在哪些事上浪费 了时间,应该如何整改。我个人认为这方法可能有一定直观性,因为 直观的数据更能深刻的反映真实和刺激一个人整改,但此法实施起来又太古板,中觉得生活有些教条化、章程化,缺乏新意与自由。求上进,珍惜时间也无需以丧失人生情趣为代价。还有就是学长再提潘老师曾讲过的那些重要、紧急优先次序。他提到的个人的学习生活情况

倒没什么深刻感,但我认为他引用的一番话较有道理,大概意思是比 起个人兴趣更为优先的应该是谋生的本领,尤其是当自己感兴趣的正 好是冷门时。当掌握了一些实实在在有能保证自身良好发展前景后,再 去做一些自己感兴趣的事也来得及。于我而言,一个人尚不能独善其身,何求其兼济天下。成己方成人就是如此道理。 第三节课主要讲解了大学学习生活中应着重的基础课以传递重 基础的要旨。据个人体会,其中英语科目实是基础中的基础,主要是 为辨认单词(即代码变量以及注释)意义以达到理解他人算法并顺利 接手他人接下来的工作。企业和公司出于其本身利益主张雇方市场 -- 讲究项目的可接手性,而不希望对现有人员的过分依赖。离散数学则应该是为之后学习其他编程专业知识做理论知识的铺垫。概率统计更多应是对统计有关算法及理论的学习(个人认为现实生活中许多问题都可以运用概率统计的方法加以解决,因此应是很重要的基础知识)。C/C++(Java)语言是作为编程的工具使用,无疑是基础(现今水平下的 我们主要用 C 编代码)。数据结构则应是提供特定的解决问题的结构 思想以便进行数据处理方面工作。算法的重要性以及基础性的个人体 会已包含在第一节课中。计算机体系结构与汇编课程与操作系统原理 课程主要在于理解计算机系统运行原理能加深对代码运行原理的理 解,对于现今水平的我也能更深层次的理解 c 语言的指针操作等方面知识。汇编语言能够直接对硬件进行操作,生成的程序与其他的语言相 比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型程序的核心模块以及工业控制方面大量应

软件工程导论实验报告

<<软件工程概论>> 实验报告 姓名:李治 学号:100511210 班级:网工1001 指导教师:桂兵祥 实验一“图书馆系统”结构化需求分析

上机任务: 用结构化需求分析方法完成下列任务: (1)对“图书馆系统”问题进行描述; (2)对该系统进行功能分析; (3)建立数据流图; (4)建立实体 - 关系图; (5)建立数据字典; 一、图书馆系统的问题描述: ① 一个图书馆藏有图书和期刊杂志两大类书籍,每种图书/杂志可以有多册。 ② 图书馆可以维护(注册、更新和删除)图书资料。 ③ 图书馆管理员负责与借书者打交道。 ④ 借书者可以预约目前借不到的书或杂志。 ⑤ 所有人员都可以浏览图书馆的图书信息和各种告示。 ⑥ 系统能在流行的技术环境下运行,有一个良好的图形交互界面。 ⑦ 系统应具有良好的可扩展性。 二、图书馆系统功能分析: ① 浏览功能:所有人员都可以浏览图书馆的图书信息。 ② 借还功能:借书者可以借/续借、还、预约图书。 ③ 图书管理功能:图书管理人员可以做录入、更新和销毁等图书信息维护工作。④ 借书者管理:系统管理人员可进行注册、更改、注销借书者信息等维护工作。 三、建立数据流图: 1、图书馆系统的基本逻辑模型: 浏览图书 浏览者 图书信息 浏览信息 2、借/还功能数据流图: (1)借/还功能(第一步)DFD : 借书还书 续借预约 书目号和借书 证号 书目号 书目号 标题号和借书 证号 管理员 借书者 借书者 显示信息 (2)借/还功能(修改)DFD :

借书还书续借预约 书目号和借书 证号 书目号 书目号 标题号和借书 证号 管理员 借书者 3、维护功能数据流图: (1)维护功能(第一步)DFD : 更改借者注销借书者 录入新书更新图书管理员 注册借书者销毁图书处理罚金 管理员 (2)维护功能(修改) DFD : 录入标题修改标题删除标题录入新书管理员 销毁书目修改书目 标题信息 标题号 标题号 书目信息 书目号 书目号 4、借书功能细化的数据流图:

软件工程心得体会

软件工程心得体会 未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。 曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。 经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。 吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。在划分模块后明确了各自分工,渐渐形成良性循环。 在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。 学习能力体现在能尽快接受新的知识,顺应变化,学为所用。上《软件工程导论》这门课,我的收获大概如下: 我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。 其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和DEBUG。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。 具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。 1.可行性分析就是关于当前项目能不能干的分析结果。 2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。 3.需求分析就是对客户要求的功能的定义。 4.软件设计这就是对程序的每一个模块的详细设计的说明文档。 5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。 6.测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。

《软件工程导论》课程设计说明书

《软件工程.课程设计》 医药公司进销存 管理信息系统 专业:计算机科学与技术 指导教师:欧阳浩 班级:计071 班 学号:200700401006 姓名:苏建 完成时间:2010年7月7日 广西工学院计算机工程系

1.需求收集、描述 (3) 1.1 发掘业务过程(活动图) (3) 1.2 领域分析(确定候选类) (4) 1.3 确定系统完全需求(生成包图和高层用例图) (5) 2. 系统USE CASE模型……………………………………………………………,,,..6 2.1 分析(按照需求设计用例) (6) 2.2 角色定义…………………………………………………………………… ..6 2.3 USE CASE工作描述 (7) 2.4 USE CASE视图 (7) 3. 系统逻辑结构设计 (8) 3.1进货系统(描述涉及概念、映射对象、涉及角色) (8) 3.1.1事件流过程(操作描述映射成为方法的表示格式为类和方法 (8) 3.1.2 Sequence Diagram(顺序图) (8) 3.1.3 Collaboration Diagram(协作图或通信图) (9) 3.2销售系统(SaleSystem) (9) 3.2.1事件流过程 (9) 3.2.2 Sequence Diagram (10) 3.2.3 Collaboration Diagram (10) 3.3库存系统(V alueManager) (10) 3.3.1事件流过程 (11) 3.3.2 Sequence Diagram (11) 3.3.3 Collaboration Diagram (12) 3.4系统整体类的组织结构 (12) 4.程序框架 (13) 4.1详细类图(系统静态结构,应该包含类的详细关系) (13) 4.2生成程序框架(参照自己设计的4.1) (14) 4.2.1 类1 (14) 4.2.2 类2 (14) 4.2.3 类3 (15) 4.2.4 类4 (15) 4.2.4 类5 (16) 5.个人总结(自己在使用软件工程建模工具进行系统分析、设计的心得体会) (16) 6.参考文献 (18) 一、需求收集、描述 1发掘业务过程(可用活动图描述)

软件工程导论实验报告

软件工程导论实验报告 一、实验题目: 学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统、招聘考试成绩管理系统 二、实验目标 通过独立完成项目开发,加深对软件开发分析过程的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。 实验一 实验要求: ①.在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求,并建立系统的分析模型。 ②.对系统进行需求分析,掌握ER图、DFD、DD的设计与编写 ③.熟悉Visio环境和基本操作,制作一个简单的系统流程图和数据流图、主要数

据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。 ④.撰写需求分析规格说明书 用户需求分析 作为图书管理系统,其主要的需求人员是借阅者,借阅者对其的要求可 以大体概括如下: 1)能按各种方式,比如书名、编号、作者等查询图书馆的藏书情况; 2)能熟悉使用图书管理系统; 3)能方便地借阅图书、续借图书、归还图书; 4)能查询自己的基本资料、借阅图书情况; 5)能方便图书管理员对图书的录入登记、注销; 6)能方便对新生的登记或注销已经毕业学生的信息; 7)能及时发布一些学院学生借阅图书超期情况、馆藏书情况等。 功能说明 1)、读者管理系统 (1)未注册者可以进入注册系统进行注册;

(2)已注册借阅者可按、编号或号登陆进入借阅者检索系统查询借阅者情况; (3)、已注册借阅者可按书名、或作者对图书信息进行检索查询或 提出预约请求; 2)、图书管理员管理系统 (1)图书管理员通过图书管理员身份认证进入图书管理员管理系统; (2)读者可借阅在库图书; (3)在规定期限借阅者归还借阅图书; (4)读者在不违规情况下可继续借阅已借阅图书; (5)读者可以预约图书。 3)、系统管理员管理系统 (1)系统管理员通过系统管理员身份认证进入系统管理员管理系统; (2)系统管理员可以对图书进行图书管理(如:查询、删除、修改图书资料或图书分类查询修改、删除管理); (3)系统管理员可以对借阅者进行学生管理(如:查询、删除、修改借阅者信息或借阅者类别

软件工程实习心得体会-

软件工程实习心得体会| 软件工程实习心得体会一 时间过的很快,转眼间已经实习将近5个月,其中有2个月是属于完全被流放的。 最先在内部系统组参与内部管理系统开发 (struts+mysql+spring+hibernate),之后是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。 至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。 1、浅谈测试 一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人

员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是it阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。 2、程序员的困惑 有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化? 有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然

软件工程导论课程设计图书馆管理系统

图书馆管理系统 1.系统需求分析: 1.1主要功能 (1)能够输入图书的综合情况和进行新书入库、现有图书信息 修改以及删除; (2)能够实现对读者档案的查询、密码的修改以及编辑管理; (3)能够进行借阅、还书功能; 1.2 系统性能要求: (1)系统安全、可靠; (2)功能齐全; (3)操作方便、界面友好; (4)易于维护和扩充。 1.3 针对管理员需实现的基本功能: 1.3.1 查询: (1)书籍信息查询:管理员可以根据书籍名,书籍分类,书籍作者、编号、出版社等信息来检索查询图书馆的书籍,便于管理。 (2)读者信息查询:根据相应的读者资料进行所需查询。‘读者编号’、‘读者姓名’、‘读者种类’。

1.3.2 读者信息维护: (1)修改读者信息:管理员可以录入、修改、删除读者信息。 (2)修改密码:管理员可登录平台对遗忘密码的读者的密码进行修改。 1.3.3 图书信息的维护:包括新书的入库,以及现有书籍资料的修改和删除,方便读者的查询。 实体—联系图

2.总体设计 2.1系统功能模块划分: 图书管理系统需要实现的功能主要有四大模块,分别为日常工作管理、基本资料维护管理、查询管理和系统管理。其中日常工作管理和基本资料维护是整个系统的核心。

料的修改和删除 2.1.3查询管理:包括图书资料查询、读者资料查询。 (1)图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:‘图书分类’、‘图书编号’、‘图 书名称’、‘作者’、‘出版社’。 (2)读者资料查询:根据相应的读者资料进行所需查询。‘读者编号’、‘读者姓名’、‘读者种类’。 2.1.4系统管理:系统的登录、标准数据管理 (1)系统的登录:管理员的登录。 (2)标准数据管理:用于常用数据的系统维护。 2.2各模块结构图

软件工程实训报告总结

软件工程实训报告总结 软件工程实践作为软件工程专业本科生企业实习前的综合实践课程在培养体系中占有重要地位,怎样写软件工程实训报告? 篇一:软件工程实训总结转眼间实训已过去一段时间,之前的兴奋、喜悦如今已经让我熟悉,在实训的每一天都会让我有成为一名真正的财富者拥有的冲动。也许,在这期间不一定会让一个人有着翻天覆地的变化,但变化就是这样一点一点产生的。通过这一期的实训,虽然倍感折磨,但是收获却是很大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。 在实训的过程中,我深深的体会到了自己在专业知识方面的欠缺和不足,也意识到了自己作为计算机软件专业的学生,要想在以后的 职业中崭露头角,除了要有过硬的理论知识,健康的体魄之外,还必须具备良好的心理素质,是自己在以后的途中无论经历什么样的困难,都立于不败之地。通过实训老师的课堂讲解与企业文化标准的培训,使我加深了对自己专业的认识,从而确定自己以后的努力方向,要想在短暂的实训时间内尽多的学到东西,就需要我们跟老师或同学进行良好的沟通,加深彼此的了解,只有我们跟老师多沟通,让老师更了解我们,才能更真切的对我们进行培训工作。由此,班级

的文化“共享”就在生活中慢慢形成了。 “纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学来专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而老师在专业认识周到中所讲的,都是课本上没有而对我们非常有实际意义的。这又给我们的实训增添了浓墨淡彩的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中的各个成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每一个成员的意见,是我们的组合达到更加完美。 这次实训除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心就由然而生,这应该就是工作的乐趣。有时候不懂的就需要问别人了, 虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了在工作中与人的合作与交流,同乐同累,合作互助,这是团体的精神,也是必须学习的东西。

软件工程课 心得体会

心得体会 通过本学期的学习,独立完成了软件工程方法实践与案例的作业,同时也收获了学习方法和思维方式。由于我是从电气专业调剂到计算机专业,几乎没有基础,所以在刚开始进入学习时感觉非常的困难。但是,李老师每节课都循序渐进的引导教学,让我慢慢理解了软件工程的学习思维,并且坚持学习,逐渐找到了学习软件工程的方法。在整个的学习中,一点一点的学习:上网搜索、问同学和老师、找参考书、查文献,甚至下仓库管理的软件进行使用研究,用了很多方法,也终于对软件工程的整体设计有了深刻概念和理解。 老师给我们分组分配任务,同时又每个人有不同的具体任务,这样既锻炼了我们的合作沟通的能力,同时也强调了独立自主的思考。我们仓库管理小组进行过好几次集体讨论,大家互相讨论,共同学习,也曾出现过意见不统一,通过探讨,共同解决,我觉得这也是学习提升的过程。明确了自己的任务后,就努力去完成,按时完成自己的任务。 在完成作业的同时,学到了很多的数据库知识和软件使用方法。首先接触了visio软件,发现了它画图比较方便,之后老师介绍用rose软件后,发现其功能更加强大。由于rose软件是英文版,所以刚开始用的时候比较吃力,经过搜索使用教程和多次使用练习后,终于可以熟练使用了。 整个设计过程,包括调研设计、需求分析、概要设计、数据库设计、详细设计等。其中,我对UML图印象最为深刻,也是从这个地方开始,我对软件设计有了质的改变,体会和理解了软件设计应该树立的思维方式,对以后的学习和任务有有很大帮助,后期做作业时也没有那么困难了。 在这整个课程学习和完成作业过程中,收获知识,提高能力的同时,我也学到了很多人生习惯,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把这种习惯带到生活中,不畏,勇往直前! 最后感谢李老师对我们耐心的教育和指导,认真细心的给我们批改作业,给予我们这些没有基础的学生耐心指导,谢谢老师!

软件工程导论课程设计[定稿]

软件工程导论课程设计 作者姓名:彭杨 专业名称:08级计算机科学与技术 学号:3200805030102 指导教师:唐云

人事信息管理系统 人事管理信息系统 作者姓名:彭杨专业班级:08计科指导教师:唐云 摘要 随着计算机技术的飞速发展和计算机技术的普及,计算机越来越多的应用在企业管理中。企业的人事管理是企业管理的一个重要内容,传统的人事管理方法不仅繁冗复杂,而且低效。如企业内部发生人事调动,工资变化时,传统的人事管理方法处理这些变化十分复杂。这样,传统的人事管理很难及时的反映企业的人事组成,导致企业的人力资源不能得到合理,有效的配置,给企业造成了损失。 本系统正是基于改变这种现状的一个尝试。本系统用ACCESS 数据库实现,用ASP语言开发,界面友好,操作简单,可以大大的提高人事管理的效率,减少企业在人事管理上花费的人力和财力。本系统可供企业管理人员查询,修改企业的人事信息。企业新聘人员,减员,或企业内部发生人事调动,工资变化,只需及时对系统进行数据更新,系统即能反映企业当前的人事情况。初步实验表明,本系统可基本满足小型企业和部分中型企业的需求,并切实提高企业的人事管理效率,节省了企业的管理支出,从而具有一定的经济效益。 关键词:人事管理系统企业经济效益 ACCESS

Abstract With the rapid development of computer technology and the popularization of computer technology, the computer more and more applications in the enterprise management. Personnel management of enterprises is an important part of enterprise management, the traditional method of personnel management is not only cumbersome complex and inefficient. Such as personnel changes occur within the enterprise, wage changes, the traditional personnel management approach to these changes is very complicated. Thus, the traditional personnel management is difficult to timely reflect the company's personnel, which makes for corporate human resources can not be rational and effective allocation, result in a loss to the enterprise. The system is based on an attempt to change the status quo. ACCESS database to achieve with this system, using ASP language development, friendly interface, simple operation, can greatly improve the efficiency of personnel management, reduce business costs in personnel management, human and financial resources. The system for enterprise managers to access, modify corporate personnel https://www.360docs.net/doc/a08721779.html,pany recruits, attrition, or personnel changes occur within the enterprise, wage changes, just in time data the system updates, system that is able to reflect the organization's current personnel situation. Preliminary experiments show that the system can meet the small business and some of the basic needs of medium-sized enterprises, and effectively improve the efficiency of personnel management of enterprises, the management expense savings, which has some economic benefits. Keywords: Personnel management system ,economic efficiency ACCESS

软件工程导论试题集46172(1)

第一章:软件工程学概述 一.填空题 1. 计算机科学中的研究成果均可用于软件工程,但计算机科学更侧重于(原理和理论)、而 软件工程侧重于(如何建造一个软件系统) 2. 计算机程序及其说明程序的各种文档称为(文件)。计算任务的处理图像对象和处 理规则的描述称为(程序)。有关计算机程序功能、设计、编制、使用的文字或图形资 料称为(文档)。 3. 软件开发环境是相关一组(软件工具)的集合,它支持一定的软件开发方法或按照一定 的软件开发模型组织而成的。 4. CASE这一术语的英文是(Computer Aided Software Engineering)。 5. (平台集成)是指工具运行在相同的硬件/操作系统平台上。(数据集成)是指工具使 用共享数据模型来操作。(表示集成)是指工具提供相同的用户界面。 6. 根据支持的范围,CASE工具可分为(窄支持)、(较宽支持)和(一般支持)工具。 7. 软件危机的主要原因有(软件本身的特点)和(缺乏好的开发方法和手段)。 8. (增量)模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发处理的, 开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 9.结构化方法总得指导思想是(自顶而下逐步求精)。它的基本原则是功能的(分解)与(抽象)。它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。 10. 面向对象开发方法包括(面向对象分析)、(面向对象设计)、(面向对象实现)、三部分。 11. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括(可行性分析)、项目开发计划、(需求分析)、(概要设计) 、(详细设计)、_ (编码)、(测试)、(维护),它规定了由前至后、相互衔接的固定次序 ,如同瀑布流水,逐级下落。 12. 瀑布模型本质上是一种(线性)顺序模型。 13. 构造原型时,必须注意(功能性能)取舍,忽略一切暂时不关心的部分。 14. 属性指的是类中对象所具有的(性质(数据值))。不同对象的同一属性可以具有相同或不同的(属性值)。 15. 结构化方法和原型化方法是软件开发中常使用的两种方法,在实际的应用中,它们之间的关系表现为(相互补充)。 二.判断题 1. 瀑布模型的存在问题是缺乏灵活性。(√) 2. 软件是一种逻辑产品。(√) 3. 软件工程学科出现的主要原因是程序设计方法学的影响。(× ) 4. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。(√) 5. CASE开放式工作台或者提供控制集成机制,或者可剪裁,其数据集成或协议是独立的。(× ) 6. 在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是版本控制工具。(√) 7. 平台集成是指工具运行在相同的硬件/操作系统平台上。(√) 8. 软件生存周期模型有多种,功能模型是软件生存周期模型。(× ) 9. 从结构化的瀑布模型看,在软件生命周期中得8个阶段中,详细设计阶段出错,对软件

《软件工程》学习心得

《软件工程》学习心得 时光匆匆,不知不觉间《软件工程》的课程已经快学完,虽说没有具体的项目来开发应用,但我们知道软件工程就是将系统化的,规范化的,可度量的方法应用于软件的开发,运行与维护的过程,在整个学习期间,总的来说还就是学到了很多实用的东西,老师的介绍,教会我们如何去分析与处理问题,教会我们编写项目软件的流程与注意事项,总的来说还就是获益匪浅的。 初学软件工程,或许很多人都会迷茫,不知道软件工程学有何用,其实,软件工程还没有精确地定义,但老师的实例我就是深有体会,比如巧用建筑学知识,软件工程可以指导您分析出框架结构,项目实现的大体步骤及具体的细节等等,高效的开发、使用及维护软件,软件工程就是必不可少的。 下面我来回顾一下各章的内容,第一章初识软件工程,这一章主要讲解的就是一些概念性与基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。第二章软件需求分析,这一章主要讲了需求分析的任务,需求分析的步骤及各种描述工具、分析文档;需求的各种描述工具有实体关系图、数据流图、数据字典、等等;这就是软件项目开发的第一步。第三章软件设计,本章详细介绍了概要设计、详细设计及用户界面设计,我们掌握概要设计方法及详细设计方法。第四章程序编码,这一章重点讲解了结构化程序设计,设计风格及效率,程序设计语言的选择。第五章面向对象技术,这一章重点讲解了面向对象的概念、分析及设计,掌握什么就是面向对象,面向对象有哪些优缺点,了解面向对象的分析与设计方法。第六章统一建模语言UML,本章讲解了静动态建模机制,理解UML的形成、内容、特点及应用领域并掌握例图、类图进行静态建模的方法。第七章软件测试,本章详细介绍了软件测试方法及黑白盒测试用例设计方法,还讲解了软件测试步骤。第八章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。 在学习软件工程过程中,或许有诸多不解,我们要从整体概念上较好地理解与把握、学好软件工程,学习时要注意多瞧多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但就是还要注意什么都学,肯定就是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟就是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。还要注意与其她科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展,多思多想,把从各个科目学到的知识通汇贯通。 在写软件的时候,我们首先要有整体的结构与思路,这样才能照着一定的思想一定思路去写下去,有人说其实写软件并不难,只要给您一个思路您就可以不断地往下写。我觉得确就是如此,其实我们平时写软件我觉得并不就是很难的事,平时即使遇到处理不了的技术问题,哪里编译出现错误等等其实都可以在网上提问。技术问题一般我们都可以在网上得到答案,但软件的思想不就是我们瞧了一下就能真正理解的。

(学习心得体会)软件实践课程学习心得体会

软件实践课程学习心得体会 经过潘老师讲授软件工程实践后,感觉对软件工程这门学科有了深一层的认识。软件工程是一门重视实际操作的科学。对于软件产品,无非是产品定义、设计代码、调试维护几个步骤,看似简单,可是实际操作却复杂困难,它不比其它行业产品可预见可触及,所以学好软件工程能为以后从事软件开发行业打好基础。 在软件实践这门课中,讲到了有效利用现有资源进行软件编程的方法。提到软件开发也可以像练习书法一样,采用临贴的方式,借鉴他人的优秀代码资源。临摹优秀软件是学习软件开发的一个重要方法。正如一首诗中说的:熟读唐诗三百首,不会写来也会吟”。软件开发也是一个道理。为了真正地掌握软件开发的技巧,临贴”是个不错的起步方法。 以前总是觉得,既然编写一个程序,就应该完全靠自己,那样写出来才有成就感,才算是自己的程序,可是这门课程教会我原来适当地借鉴别人的东西,也不算抄,相反,还可以提高效率,节省时间。这可真是与以往的观点不一样了。具体如下: 软件编程,拿来主义的作用很大: 1、源代码交换方便。 2、可行的例程序用处大。 3、借鉴现成少走弯路。

不过借鉴别人的东西可是有说法的,可不是盲目地抄袭,下面是一些提到的途径: 1、既有系统:借鸡下蛋,买来就用; 2、书本例子:简单修改、直接使用; 3、联机帮助:帮助文档、官方支持; 4、开放软件源代码:linux apache eclipse … 5、资源:论坛、搜索引擎、新闻组 借鉴过来后,还要多方面综合考虑,比如说代码的具体作用,完整性,还要考虑每个借鉴过来的东西的好坏。这些都要多方面考虑,可不能因为前面说软件编程可以借鉴别人的,就盲目地抄袭。到时候代码弄一堆凑在一块儿,谁也不知道它们会不会好好工作。弄不好乱了程序计划是小,公司的损失可不是哪个人都能承受得起的。 课程还提到,应该用一个小项目先从头到尾地练完,这样,有个整体性的了解,可以增加不少开发经验。看来,不学习此门课程,还不能深入地解读软件工程的奥义。这门课程为我们深入地了解软件工程这个庞大的前沿学科起到了推动性的作用。以上是我就此门课中提到的众多方法的一小段做的一些浅谈,更多的知识还在于我们自己去学习体会。

相关文档
最新文档