《软件工程》课程个人总结

《软件工程》课程个人总结

曾沅伟 M23120103

一、开课前对课程的主要疑问及解决方法

(一)主要疑问

1、学习这门课的目的是什么?

2、需要我重点学习并掌握哪些内容?

3、软件工程的定义是什么?

(二)解决方法

1、答:首先这个问题主要是我在学习本门课程之前对自己的反思之后所提出来的,结合自身专业及研究方向,已经在第一次作业中给出了相应答案,那就是我的大论文目标方向涉及到信息平台的搭建,这可能需要我开发并运用一些软件去创建这个平台,学习软件工程的相关知识有助于我实现这些目标。其次通过再网上搜索相关资料,我也认识到学习《软件工程》这门课程有着更高层次的目的,学好它能让我掌握软件项目开发的方法、工具和过程,在一定程度上能培养我软件工程和计算机思维,锻炼提升我的动手能力、对软件项目进行分析设计建模的能力以及阅读与撰写软件项目相关文档的能力,最终使我及我的团队拥有参与并完成中小型软件项目开发的能力。

2、答:结合自身课程学习目标及教授上课的内容,我认为需要重点学习并掌握的内容有:Visual Studio 2022的使用、Gitee仓库的使用、软件项目开发技术与流程、程序效能分析方法、程序单元测试的代码编写和具体操作过程、代码规范与复审、软件需求分析、软件设计、软件实现、软件测试与质量保证等相关内容。

3、答:对于软件工程的定义,我是直接从《软件工程:从理论到实践》这本课程书上寻找到了答案,“软件工程”这个概念最早是在1968年北约科学委员会召开的研讨会上提出的。软件工程包含两个方面的内涵,一是软件工程要提供系统的、规范的、可量化的方法来指导软件的开发、运行和维护,二是软件工程要研究方法本身。前一项工作属于软件工程的应用实践范畴,后一项工作属于软件工程的科学研究范畴,二者之间需要相互支撑。总体说来,软件工程既是一项工程,也是一门科学,并且包含三个核心要素:过程、方法学和工具。

二、每个阶段收获最大的知识或能力

(一)需求阶段

在《软件工程》课程的第三次作业:团队项目任务安排——需求分析中,我主要负责展示原型效果图以及描述原型效果,我收获的最大能力就是学会使用一种绘制原型效果图的软件——墨刀。通过墨刀,我能绘制出一些平时经常玩的一些游戏软件的效果图,感觉非常有成就感,同时也对一些软件界面有了更深层次的认识。我的团队也非常认可我绘制的原型效果图,虽然可能这些原型图形并不能代表最终的软件模型,但这足够体现出我们团队的创造力。

(二)设计阶段

在软件设计阶段,我最大的收获是学会了UML建模语言的使用。UML是一种基于面向对象的可视化建模语言,使用一组形象化的图形(如类图)符号作为建模语言,描述系统的各个方面。需求模型有四种,分别是用例模型、交互模型、状态模型和类模型,相应的UML表示机制也有四种,分别是用例图、交互图、状态图和类图。在此阶段,我学会了使用UML建模语言创建类图、对象图、包图等,帮助我们团队设计出软件系统的结构、组件和接口。

(三)实现阶段

在软件实现阶段,我收获的最大能力是学会了C语言代码的编写。因为在此阶段,我需要编写足够多的C语言代码来实现软件所具备的功能,通过代码积累练习,我能编写出复杂难度一般、长度适中的代码,相比学习这门课程之初有了较大的提升。

(四)测试阶段

在软件测试阶段,我最大的收获是学会了Visual Studio 2022编程环境中各种测试工具的使用,比如性能探查器、单元测试工具。通过具体实践,我了解了这些工具和技术的工作原理、使用方法和优势,并学会如何选择合适的工具和技术进行测试。

(五)发布阶段

在软件发布阶段,我最大的收获是学会了修复软件的缺陷问题。在软件发布后,软件可能会出现我们团队之前没有预料到的许多缺陷和问题,比如性能瓶颈、安全漏洞、定位问题、修复问题和测试验证等,需要及时的修复和解决,处理好这些实际问题一方面有助于改善软件的整体功能和性能,提升用户的满意度,另一方面也能锻炼我应对突发情况的能力,给我带来丰富的实战经验,便于我更加高效解决以后可能会再次出现的各种问题。

三、三次项目经历的理解与心得

在个人项目阶段,通过理论学习和实践学习,我主要了解掌握了软件工程相关的基本概念,对于Visual Studio 2022中代码编写、单元测试、性能测试等功能有了初步的认识,同时也学会了如何使用Gitee代码仓库完成代码的提交和评审,可以说为后续的软件开发设计打下了坚实的理论基础并提供了有力的技术支撑。

在结对编程阶段,我和我的搭档紧密配合,较好地完成了四则运算程序的编写、测试和性能分析,已经能熟练运用好虚拟机中的测试工具,包括新建测试用例、运行测试用例等,同时也能灵活使用Visual Studio 2022和Gitee代码仓库,完成程序的性能测试和代码的迁入迁出以及评审合并。我清楚地认识到小组成员的明确分工非常重要,正所谓“术业有专攻”,每个人都有各自擅长的领域,充分发挥各自的长处,互补相应的短板,将在完成任务的过程中起到事半功倍的效果。

在团队项目阶段,在良好的团队合作氛围中,我与团队成员紧密配合,完成了软件的需求分析、设计实现、测试、发布以及运行维护等工作。我从中意识到集体的智慧远远大于个人的智慧,正所谓“三个臭皮匠顶个诸葛亮”,我深刻认识到团队的沟通交流、协调配合在软件项目的开发过程中的极端重要性,同时我们自身也要时刻保持一颗对学习、科研持之以恒的认真态度,方能成就美丽绚烂的人生。

四、学习路线及开发技术描述分析

(一)学习路线执行情况

在第一次作业中,我为自己制定的学习路线就是为实现学习《软件工程》这门课程所要达到的四个目标,平均每周拿出20个小时用在这门课上,先通过阅读《人月神话》、《梦断代码》等与软件工程相关的书籍,同步进行学堂在线上的《软件工程》慕课学习,学习软件开发流程和各个阶段文档撰写的相关知识点,再将主要精力放在Visual Studio 2022中代码编写、单元测试、性能测试以及Gitee代码仓库中代码的迁入迁出和评审合并的实践锻炼,按要求完成老师布置的作业,最终实现目标。当然我还有一个软件开发技术的学习目标,那就是学会Bootstrap框架的使用。

根据自身实际情况,我基本上是严格执行上述学习路线,也最终实现了课程目标,并将在以后的课程结束阶段一以贯之。

(二)Bootstrap技术的描述与总结

通过上网搜索相关资料以及阅读相关软件开发技术书籍,我基本掌握了Bootstrap技术的基本知识,包括响应式设计、常用组件、以及基本的JS插件。我也通过在线教程学习了Bootstrap的一些高级特性,比如自定义样式、创建导航栏、下拉菜单、轮播图等,并且部分技术以及特性在此次团队项目开发任务中得到了应用。

Bootstrap技术描述:Bootstrap是一个用于前端开发的开源工具包,由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。它被设计成通过自己的操作使其自身处于期望状态的技术或设备。Bootstrap给软件开发者带来的好处极为明显,一是通过使用预定义的类和组件,开发者可以更快地构建网页,而无需从头开始编写所有的代码,进而提高开发效率;二是Bootstrap提供了一套统一的命名规范,使得开发者可以更容易地理解和维护代码;三是Bootstrap拥有完善的文档和大量的组件样式,使得开发者可以更容易地了解和使用它提供的各种功能。但是Bootstrap同样存在对于初学者来说学习难度大、可能会产生一些冗余代码、可能会与某些插件不兼容的局限性。总的来说,Bootstrap是一个强大且流行的前端开发框架,它提供了许多方便的功能和工具,但也存在一些可能的缺点。在使用Bootstrap时,我们需要注意这些缺点,并采取相应的措施来避免或解决它们。

Bootstrap技术应用情况总结:在团队开发中,我确实担任了开发角色。在我们的团队中,我主要负责前端开发和界面设计。我使用Bootstrap来创建用户界面,并使用JS插件增强用户体验。例如,我使用Bootstrap的轮播图插件来创建一个展示项目成果的幻灯片,使用模态框插件来增强用户交互等。

在开发过程中,我解决了许多技术问题。例如,我使用CSS和Bootstrap的特性解决了软件的页面布局和样式问题,使用JS插件实现了复杂的人机交互效果。我也通过学习和实践了解了如何在Bootstrap中使用变量和混合(mixins)来自定义样式和创建自定义组件。

总的来说,通过学习和实践,我对Bootstrap有了深入的理解,并能熟练地使用它来创建易懂、美观且具有良好用户体验的网页。同时通过团队开发,我也增强了自己的团队协作沟通能力和解决问题的能力,增进了同学之前的情谊。所以Bootstrap技术对我来说是一种非常有价值的技术,我将在课程结束后更加深入地去学习提高,为以后的论文写作以及学术科研工作打下坚实的技术基础。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值