软件工程总结
- 格式:docx
- 大小:61.43 KB
- 文档页数:10
这个学期,通过学习软件工程这门课程我了解了什么是软件工程,以及怎样学好软件工程和如何学习软件工程。了解了软件工程中的DFD图和UML建模的区别。
一、学习课程总结
1,软件工程到底是一门怎样的课程,学软件工程吃力的地方在哪里?
“软件工程”课程是计算机科学与技术专业的一门重要的专业课程和核心课程。它将计算机科学理论与现代工程方法论相结合,着重研究软件过程模型,设计方法,工程开发技术和工具,是指导软件生产和管理的一门新兴的,综合性的应用科学。随着计算机科学和软件产业的迅猛发展,软件工程学已经成为一个异常活跃的研究领域,正在不断涌现新方法,新技术。通过本课程教学,使我们能够较熟练地掌握软件工程的基本概念,原理和方法,从软件开发技术,软件工程管理和软件工程环境等几个方面了解如何将系统的,规范化的和可以度量的工程方法运用于软件开发和维护中。要求学生通过本门课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法,面向对象的方法和基于构件的开发方法,为更深入地学习和今后从事软件工程实践打下良好的基础。 然而,软件工程的强实践性和快速发展这两个特点给该课程的教学带来了一定的困难,而且软件工程课程的理论多,内容比较抽象,技术更新快,大家学习起来普遍觉得枯燥无味,如何采取有效的教学方法和手段,提高教学质量,培养社会需要的复合型软件开发人才成为该门课程教学改革的关键。
2,为什么要学习软件工程
目前,大学生的英文阅读能力普遍不够高,也没有阅读英文文献的习惯,二国际上先进的科技论文大多都是用英文写的。特别是软件工程学是一门发展很快切实践性较强的学科,同时,它又是一门引进学科,该领域中大部分最新的思想和成果都源自欧美等发达国家,很多学术论文和新知识新技术文档只有英文版本。为了适应新形势,很多高校在软件工程课程中开设了双语教学。有效地双语教学能力很好的提升学生的专业能力,并在专业教学上缩小与国际先进水平的差距。同时,开展双语教学可以为学生搭建一个良好的学习平台,通过双语教学不仅能够使学生掌握最新的软件开发理论和技术,而且能够训练学生较强的外语应用能力,对于培养计算机专业学生在国际化环境中的工作,培养高层次,实用型,复合型的软件工程人才,提高学生的团队协作能力和创新能力都有很大的帮助。当前,国内外主流的软件工程CASE工具大多是英文软件 ,如IBM Rational 系列CASE工具,自动化测试工具 WinRunner 等,通过双语教学,学生们能更好地掌握这些英文软件。
3,软件工程中的DFD图和UML建模的区别
DFD图特点:DFD图不是流程图不表示软件的控制流程。
UML建模的主要特点包括:
统一的标准
面向对象,UML是支持面向对象软件开发的建模语言
可视化,表现能力强
独立于过程,UML不依懒于特定的软件开发过程
概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。
时间过的很快,转眼间已经学习将近4个月
二,个人经验总结
1 ,浅谈测试
一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑.但在实际情况中,测试是既重要且难以精湛的。其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是IT阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。
2 ,程序员的困惑
有些人,以为教学视频和代码看多,自己就懂的多,实际做起来却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?
有位同学告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。
3 ,如何调试追踪?
如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步step over,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。
页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误:例如缺少对象 ,这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(xxx=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。
4, 一些习惯
遇到问题先自己思考,无从下手再找高手帮忙看看,注意他帮你看的思路,别在一旁闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多。
解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问题再浪费同样的时间。
把代码写的漂亮,注释,空行,规范一样不能少,可读性是放在第一位。曾经看过一个高手写的代码。真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自己也方便别人。
任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比较好走了。
三,个人项目
1,项目
食品公司内部管理系统
2,要求
a. 系统管理单元同时段只能供一个用户登陆。
b. 服务器端实现用户账号、密码的管理,监控用户上下线状态管理。
c. 系统使用性强,使用便捷。
d. 系统能够供无登陆客户查看常规部分。
e. 客户端能够通过服务器进行数据共享。
3,项目设计人
朱文斌
4,系统架构
整体架构图:
5,实现的功能与未实现的功能
① 实现的功能:
客户端:
(1)普通用户登陆:用户运行客户端软件后,弹出登陆框,用户通过输入帐号和密码登陆平台,高级实现程度有记住密码选项。 (2)普通用户注册:登陆框有注册选项,供客户注册新帐号。用户需要输入新的帐号名,密码,以及一些基本资料:姓名,性别,公司名称,邮箱。
(3)用户修改资料:用户可以在登陆后修改个人基本资料,除帐号外其他资料均可选择修改。
(4)用户查看数据:用户登陆后,系统界面即会显示本公司常规数据,用户可选择要进行查看的单元。在高级实现程度下服务器更新数据通过即时刷新提供给用户。
系统管理员:
(1)批准新用户注册:基本实现程度为由服务器自动批准,既用户名不与现有用户冲突并且用户名和密码长度符合规范(用户名长度不超过十个单词或字母,密码不低于16位)及予以批准,限制最多五个用户。高级实现程度为双重管理员管理,既两个系统管理员同时登陆才可进入系统。
(2)删除用户:管理员可以自行从数据库删除自己用户名(所有用户资料项同时删除)。为防止误操作等情况发生,高级实现程度中删除用户操作只是暂时禁止该用户登陆,数据库保留该用户资料一周(或数周,示服务器硬件资源)后再自动删除。
②待实现的功能:
注册时对新用户名的符号(如非法字符)检查
6,项目总结
这个项目所涉及的技术比较多,主要包括:内部局域网网络通信,数据库通信与操作,用户的界面设计。采用C# 语言进行编程,具体的细节见详细设计文档。
7,经验总结
本软件在初期的设计中不是十分的完善,致使在进行编码的阶段不断地修改,使得软件件项目的进度和程序的质量受到很大的影响。
四, 题尾话
如果你有一份思想,我有一份思想,拿出来交换,我们大家拥有就是2分份思想,可惜这种观念,并不能深入每一个团队的每一个人,少一点自私,未必不是好事。职场到处都存在被排挤的隐患,要为自己找片草地实在不容易。但有一点要相信,只要自己不放弃自己,这世上就没有绝望的路,你可以被打趴下,可以被身边的人暗算,可以被深爱的人流放,只要你用自己决心站起来,受过的伤痊愈后就能增强你的抵抗力,一路前进!
5771001803090012095 579036822859633082
5771001803090012386 576137399735760696
5771001803090013594 578077579902515512 5771001803090012387 577164982601818051
5771001803090012138 572131192158918326
5771001803090012359 579036822361076053
5771001803090012356 576135286143791742
5771001803090012355 575087869704693279
17088100343355274 101229944325833379
17088100343355275 101866732938832008
17088100343356107 101581152501500522
17088100343356108 101000180059871732
17088100343354295 101074194142687017
17088100343356184 101878660869628802
17088100343356185 101775831174086674
17088100343356109 101086014373572846
17088100343356110 101152207216014916
17088100343355237 101027041605702709
17088100343355238 101229364861425414
17088100343356169 101862204402635718
17088100343354928 101760654089788804