回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升:
1.学习和使用的新软件
(1) Microsoft Visual Studio 2010
(2)Microsoft SQL Server 2005
(3)Dreamweaver CS5
2.学习和使用的新工具
(1)HTML
(2)Coding
(3)VS2010
(4)Git
(5)C#
3.学习和掌握的新语言、新平台
(1)html
(2)Vs.net
(3)博客园
(4)Coding代码管理
4.统计一下,你在这软件工程实践中,完成了多少行的代码
大概1500行以上吧.
5.学习和掌握的新方法
(1)学会使用.PowerDesigner完成数据库设计;
(2)学会许多HTML语言,完成一些界面设计。
(3)数据库链接。
(4)对网页制作有了更进一步的了解。
总结与展望
1.记录自己在软件工程课程上的经验总结
这次的团队开发对于我们组来说是比较成功的的,这取决于大家团结合作,有事一起干的这种团队合作意识,虽然作业最后做出来无论是功能还是老师的满意度都不是很理想,但是我们团队感觉还好,而且也对我们的这份项目的后续也是寄予很大的期望。做这份作业大家花了很大的心血。因为底子薄,所以说最开始的时候,花了过多的时间在学习各方面的知识上,因为对于我们来说基本上都是0基础,像C#,ASP.net,还有CSS3,以前从来都没有接触到过,像HTML和VS还好,因为毕竟我们有过接触和学习,学起来不是那么的吃力。后期开发软件的时候,查了很多资料,而且查的这些资料也很抽象,不懂,而且听说有人已经完成作业,而自己一筹莫展的时候是比较毛糙的。但是我个人觉得,我们还是从中学到了不少的东西,我觉得我们之间的团队关系沟通还是不错的,还有就是比如像ASP.net等后端语言的学习,从中获取到了不少的东西。还有最后一点就是,一个好的团队对你完成这个项目是至关重要的。
2.对于下一届的学弟学妹你有什么建议和告知呢?
自己做的不是很好,所以也没有什么告诫的,最主要就是认定一件事情的时候就定下心去做吧,最后结果不重要,享受这其中自己付出过的努力而,还有已经做到某种程度的成就感就好。
3.分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?
(1)萌芽阶段:一直讨论应该做一个怎样的网站,需要哪些技术,各有各的想法,很难统一
(2)磨合阶段: 项目时间有限,不能一直僵持不下,大家有意见就提出来,通过交流沟通,得以确定项目原型。
(3)规范阶段:项目原型既已定,通过各自擅长并感兴趣的技术,合理分配各自工作内容,大家开始各司其职。
(4)创造阶段: 大家积极提出问题并讨论难题,将每一部分连接起来,齐心协力完成项目。
个人总结的补充
(1)在书上的第一页就能看到说软件=程序+软件工程,这样来描述软件,那么软件工程是怎样在软件中扮演这个重要角色的,这里的程序具体指的是什么。
在学习期间我也懂得了软件工程的软件应当是广义的,并不仅指“软件系统”或“软件程序”。这里的“软件”应当包含实现目标软件过程中的很多因素,包括:人员、组织结构、开发质控流程、开发工具、所使用的标准、目标软件背后的业务逻辑、目标软件本身、目标软件服务对象的组织结构等。这其中,人员也应该考虑得更细一点,包括:生产者(管理、需求、设计、开发、测试、销售等),使用者(管理层、操作层),受益者(如银行系统是各种客户,医院系统是各种患者,当然如果是工业控制系统可能收益者更间接一些)
而软件工程是计算机软件的一个分支学科,主要研究软件开发全过程中的各种技术;主要包括
1、软件开发的原则与策略,
2、软件开发方法与软件过程模型,
3、软件标准与软件质量的衡量;
4、软件开发的组织与项目管理,
5、软件版权。
它一般应用于大型的软件系统的开发。
(2)书中第三章提到软件工程师的成长,我觉得非常亲切,提到发展和职业规划。那么对于初级软件开发者应该做点什么才能更加贴近自己的目标。
在这学期的软工学期中虽然我也遇到了很多困难,但是也让我对软件工程师这个名字更加亲切了。
首先,作为一名初级软件开发者,我觉得平时多练代码是非常必须的。技术才是硬道理,没有经验的没有技术的软件工程师不是一个好的软件工程师。
其次,应该是多潜心学习吧,在学校书发了很厚也很多,总感觉自己学到的这些已经够多了,但是我发现在这次软工实践当中我在网上学到了更多的东西,比如asp.net之类的,以前老师也就是简单的提过而已。
最后,我觉得应该是开阔自己的思维吧,我个人觉得软工这份职业独特的思维方式是非常重要的,毕竟世界上的人千千万万,每个人都有不一样思维方式,说不定自己会开拓出最最独一无二的想法。
(3)在软件工程师的成长这一课中老师专门设了个人能力的衡量与发展和软件工程师的职业发展这两小节,假如能够成为一名软件工程师,是从哪些方面来衡量他是一名优秀的软件工程师,仅仅是高超的代码技术么
在软工实践的过程中,也让我开始慢慢了解软件工程师这个职业,单单用高超的代码技术来形容一个软件工程师其实是有些片面的,对复杂项目的掌控能力,对编程语言的熟练使用,熟练使用各种工具固然是必不可少的,但是我觉得交流也很重要,如果一个软件工程师能造得出一件完美的软件,但不能很好的表达出自己的产品,那岂不是美中不足么。当然这是我举出的一个其中的看法。这里我应用了一句别人的话
“世界上有两种最赚钱的人,一种是真正的生产者,他们用自己独一无二的聪慧、灵感和劳动创造了价值;一种是极其老道的投机者,专门从别人口袋里把钱掏出来放到自己口袋里。他们都受人尊敬、受人瞩目,后一种让自己的生活变得更美好,但是前一种,让整个世界更美好。“大概软件工程师以及他自己所生产的东西可以这么形容了
(4)书中提到的开发软件的方案,对于同学组成的非专业的“软件团队”,应该怎样做才能将自己的这种开发思想更好的实现到具体的实践当中。
我觉得这跟团队合作有很大关系,在这次学习当中我做出了如下总结
(1)在任何场合言行适度
(2)对他人的想法和需求感兴趣
(3)具有合作精神
(4)勇往直前,寻找解决问题的办法
(5)能够决断能够支持他人
(6)自己提出来的问题要合理和公正
(7)承认自身的弱点,听取他人的意见考虑问题周到。
(5)在软件工程师的成长过程中,在个人能力里的衡量与发展中老师提到,软件团队是由个人组成的,可不可以理解为个人技术决定一个团队的技术能力,软件开发是不是不适合女生呢。
既然是团队,我觉得合作才是主题。这里的个人我是这样理解的,团队需要优秀的人才。软件开发是智力创作非体力劳动,优秀人才的创造力比平庸之人要高的多,如果团队没有优秀的人才,几乎不可能开发出有竞争力的产品。优秀人才要价通常比较高,但是他物有所值。而不是说个人技术决定一个团队的技术能力。另外有志者事竟成,普遍来说,女生的思维是比男生要弱一点,但是女生也有自己的优势,各有千秋,我觉得只要肯努力和热爱,性别没什么问题。
(6)在书中第八章提到了“分而治之“,不就前在数据结构中也接触到了“分而治之”这种用法,您可以将一个难题分成两个或多个较简单的问题来解决。然后,您就可以解决这些子问题,合并解决方案以解决原问题,这是在数据结构中的用法,那么数据结构是否与软件工程有一定关系,而且在软件工程中到底扮演着什么样的角色。
给我的感觉好像数据结构在软件工程中的重要性微乎其微,好像即使有什么重要的作用好像也没体会到,这是不足之处。
而分而治之这块在软件工程当中是和模块化一起来讲的,所谓模块化是将程序化分成独立命名且可独立划分的模块,不同的模块具有不同的职责和功能,其出发点是本着将一个复杂的问题“分而治之”的原则。是程序结构清晰容易修改测试之类的,其实和数据结构的本质是差不多的。