软件工程实践寒假作业

222000412李伟杰 2023-02-10 16:39:52

软件工程实践寒假作业

这个作业属于哪个课程<软件工程-23年春季学期>
这个作业要求在哪里<软件工程实践寒假作业>
这个作业的目标<回首过去、立足当下、展望未来>
其他参考文献《构建之法》、菜鸟教程

目录

  • 软件工程实践寒假作业
  • 1.准备工作
  • 2.回首过去
  • 2.1 当初为什么选择软件工程这个专业?
  • 2.2 当初对软件工程这个专业的期待和想象是什么?
  • 2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
  • 3.立足当下
  • 4.展望未来
  • 4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下思考。
  • 4.2 未来的职业规划
  • 4.3 对于软件工程实践课程的理解和期望
  • 5.思维导图和学习路线
  • 5.1 思维导图
  • 5.2 学习路线

1.准备工作

仓库地址

在这里插入图片描述


在这里插入图片描述

2.回首过去

2.1 当初为什么选择软件工程这个专业?

选择专业的时候,非常迷茫,并没有特别感兴趣的专业,好吧,感兴趣的都是文科的专业,或者一些稀奇古怪的专业。最大的原因当然就是因为计算机的热门了,学习软件工程专业的学生毕业以后在找工作方面应该是没有什么太大的问题的。所以是比较现实的原因呵。

2.2 当初对软件工程这个专业的期待和想象是什么?

期待高薪,想象着自己可以参与到一些好玩的有趣的游戏的开发中去,希望能玩到或者使用到自己参与开发的软件,当然,还有想象中的头秃,是这么的秃然,我愿称之为现象级。

2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

希望自己能好好学,能多接触编程。FLAG的话,就是想学很多语言,最后基本都是浅尝则止。

3.立足当下

个人信息
姓名LWJ
年龄21
爱好小说,游戏,动漫,运动
专业水平
编程语言C、C++、Java、C#、html、css、javascript、php、Android
技术框架 Yii2
开发软件Dev-C++、IntelliJ IDEA、Visual Studio、VsCode、Android Studio
累计代码量15K+
项目经历
学生管理系统 该项目是使用c语言编程实现的简易学生管理系统。
实现查找学生,删除学生,修改学生信息,新增学生,
学生信息排序等功能,实现了数据的增删改查。
由个人独立编写
基于Yii2的博客系统 应用Yii2.0框架的博客系统,使用MVC模式
前台:文章列表 ,阅读⽂章,发表评论,注册,登录和退出;
后台:⽂章的增删查改,存档⽂章,评论的删查改,评论的审核,会员⽤户管理,
管理员⽤户管理,管理员权限设置,登录和退出 前后台界面使用bootstrap模板美化,通过echart插件进行Dashboard界面制作;
引入summernote增强了文章编辑功能,RBAC等;由个人独立编写

4.展望未来

4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下思考。

一、如何能“证明”一个软件是可以继续发展的?

能证明所开发的软件是可以维护和继续发展的。例如,对用户需求的分析有详细的文档说明,包括对将来发展的分析和计划。我认为大体上是能证明的,时代有时代的风向标,政府的政策,潮流的变化,用户需求,市场的需求等等,在有了大量依据的情况下,可以合理的推理证明一个软件是可以继续发展的。当然事务是在发展变化的,由依据体现的继续发展的可能性不是必然,但是依旧具有参考意义。

二、如果程序的作者在程序的设计实现阶段便忽略了对某些情况的考量,此时再由作者构造单元测试,是否仍然不能注意到这些在程序设计实现上的漏洞呢?

我认为这是不一定的。《面向对象设计与构造》课程,在互测环节中,同学们的确需要通过查看代码进行针对性的样例构造进行测试;如果只是进行黑盒测试,则效率较低,也不易发现潜在的 bug。作为程序的作者,对于程序的了解程度几乎就是最高的了,这将非常有利于查缺补漏,作者对于全局的更大范围的搜查漏洞。作者测试可能找得到漏洞,也可能刚好没发现,每个人对于程序的理解思路不同,所以让不同人来查看程序有利于多角度地寻找问题。

三、如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?

在一个团队,大部分时间要做的就是互相学习。为自己的行为负责,更重要的是为自己所写的代码负责。熟能生巧,代码也一样。如果不经常练习看代码,自然学不会快速阅读。开发人员的工作是写出优秀的代码,但是如果不多看看那些优秀的代码,可能会有些力不从心。不断的学习会让自己成为一个更优秀的开发者。

四、学完了这些理论知识后很久的一段时间都用不上,那么学习那么多的理论知识还有没有用呢,在理论知识和实践知识的方面我们又该怎么权衡呢?

这是学习积累和实用性的匹配问题。第一,知识不等于技能。技能不是生搬硬套知识,能背出一本书,但无法没有正确下判断和在具体问题面前运用所学,就造成了工作障碍。第二,跨行业能力和具体技能的冲突。我认为学习理论知识要有重心,对于重心中的理论,付诸实践巩固。

五、顾客真的知道他们想要什么吗?

我认为顾客知道总体的大方向上的需求,但是细化到产品的细节时候,会有模糊的需求,即产生矛盾,可能这时候是这样,过后就是那样,我愿称之为 “你的甲方” 。记得刚进入大学,第一门编程课C语言的老师就明确的表示出了对于甲方的无奈。这时开发者团队和顾客的沟通交流就很重要了,满足用户最基础要求的最小化试用版本,和产品功能调研十分重要。

4.2 未来的职业规划

现在尽量多学习新知识,寻找自己比较感兴趣的重点,然后广泛涉猎新技术知识,为后面的工作生涯打点基础。

4.3 对于软件工程实践课程的理解和期望

对于这门实践,我认为这是非常具有挑战性的,毕竟他以专业命名,具有系统性和综合性,要学好这门课,或许不光需要打代码本身,更多的应该还是包含今后开发项目过程中要做的必要工作,这对之后的就业是很有帮助的。希望通过这门课程,可以把自己之前学到的编程知识应用到项目开发中,并且能够带动自身学习其他新的知识。同时也希望理论课上的知识也可以应用到实践中去。

5.思维导图和学习路线

5.1 思维导图

在这里插入图片描述

5.2 学习路线

在这里插入图片描述

...全文
297 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoftwareTeacher 2023-02-11
  • 打赏
  • 举报
回复

但是细化到产品的细节时候,会有模糊的需求


我们有什么办法让这些需求更清晰呢?

222000412李伟杰 2023-02-11
  • 举报
回复
@SoftwareTeacher 我们可以设计表单来记录和梳理客户的需求,引导客户明晰自己的需求,确认后记录下来。 还有就是在确认需求时,要描述得详细准确,而不是出现尽可能,大概等的模糊字眼。 开发者和客户站在不同的角度对产品的理解不同,关注点也不同,可以考虑换角度思考需求, 看到隐含需求并主动挖掘需求。
SoftwareTeacher 2023-02-11
  • 举报
回复 1
@222000412李伟杰 你还可以问:用户最不喜欢什么? 最不需要什么? 如果用户使用了产品一个月后,会有什么新需求?

586

社区成员

发帖
与我相关
我的任务
社区描述
软件工程-2022-23学年(第二学期)
软件工程 高校
社区管理员
  • LinQF39
  • chennuo.
  • 助教-钟宇煌
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧