实验一 软件工程准备
学习之旅初认识
项目表
项目 | 内容 |
---|---|
课程班级博客 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
作业要求 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
课程学习目标 | 了解并学习软件工程的相关知识,提高自我能力 |
本作业在哪些方面帮助我实现学习目标 | 课程学习工具的方面 |
作业正文 | (1)学习博客园软件开发者学习社区使用技巧和经验;(2)了解Github的基本操作 |
参考文献 | 《现代软件工程—构建之法》 |
实验内容
任务1:调查问卷
在本网址提交课程调查问卷(已填写)
任务2:在博客园平台注册个人博客账号和加入班级博客
任务3:注册Github账号
- 用途:管理项目,记录(源码、文档,历次版本变更,bug发现与修复)等信息。
- Github
- Github操作及如何托管项目?
- 参考文章
- 学习视频
- 本人github账号(已创建)
- 学习视频已于寒假期间观看;git管理工具已于寒假期间安装
任务4:各位同学点击以下超级表格链接填写博客园、github账号信息
超级表格(已填写)
任务5:构建之法与博客首秀
- 3个准备从课程学习中找到答案的问题
- 首先,我觉得这3个问题,既然是需要我们准备从课程学习中找到答案的,那么就需要我们完完全全地学习完整本书的内容并参与到学习过程的项目中,我们才能正确,实际的回答。综合邹欣老师博客中所发的学生感想,在此给出的是我初步学习和观看书籍后的答案。待课程学习完成后,我会在对这个三个问题进行全新的解答。
- 问题1:我阅读了《现代软件工程—构建之法》“第1章”概论 之后,有了这么一个问题:这本书需要我们在学习完软件工程后,达到什么样的目标?需要拥有什么样的能力?根据我的经验,我感觉以往的课程锻炼的是我们学习基础知识的能力和编程能力。但是我还是不太懂,我的困惑是这本书的内容与别的课程书籍内容大有不同(并不是侧重于知识点和编程能力的提升),那么学习完它后,给了我们一个什么方向,该达到什么样的目标。
答案:这个问题的答案可以引用《现代软件工程—构建之法》p17的内容
(1)研发出符合用户需求的软件
(2)通过一定的软件流程,在预计的时间内发布“足够好”的软件
(3)能证明所开发的软件是可以维护和继续发展的
但是仅仅只有这些而已吗?对此我感觉还需要深度的学习。 - 问题2:我粗读了《现代软件工程—构建之法》之后,有了这么一个问题:既然这本书中的内容并不是侧重于锻炼我们的编程能力,那么书中的内容是否有助于读者编程能力?根据我的经验,粗读完这本书后,我认为书中的内容锻炼的是我们的工程能力,而不是编程能力。但是我还是不太懂,我的困惑是:正如网上对这本书的反馈,学习工程能力的同时,是否也在无形之中提高了我们的编程能力?
答案:整本书还未学完,因此我这里先放个结论:肯定是有帮助的,具体什么样的帮助成果,还得待学习完整本书内容后才能得知。这里先给上我的看法:
何为代码能力?通常的定义是指程序猿或其他对代码的应用、读写、调试等一系列的能力。主要决定于对代码的熟悉程度以及将算法或思路快速转换为代码的能力。
初步阅读和学习这本书后,我觉得软件工程这门课中,其中的一些方法,一些理论,是为了让我们对工程有一个好的规划,好的设计。由此避免一些不必要的问题,进而减少不必要的bug和错误,提高效率和准确性。这种对问题进行分析,并且对解决手段先设计然后再编写代码的方法,毫无疑问有助于提高代码的一遍通过率。同一个人,通过有效的分析和设计后再编写的代码,以及直接编写的代码,我认为这两者的区别是十分大的。
因此,我认为书中的内容有助于读者编程能力的提高。 - 问题3:我看了《现代软件工程—构建之法》“第5章 团队和流程”的内容之后,有了这么一个问题:在具体的团队工作中,该怎么样分配各个成员的分工?以保证效率的最高,使软件项目最快实现。根据我的阅读,我认为书中第5章第二节内容中的主治医师模式,明星模式,社区模式,业余剧团模式,秘密团队模式,交响乐模式,爵士乐模式,功能团队模式和官僚模式都各有千秋,或多或少的适合团队发展。但是我还是不太懂,我的困惑是除此之外,团队协作还需要我们进行怎么样的协调与分配(是否有更好的模式)?
答案:这里我给出我在阅读邹欣老师博客时,看到的答案(邹欣老师所引用的学生感想)。
我也觉得答案正如这位学长所说,最关键的是扬长避短和动态分配(动态分配是重中之重),但是在实际的团队工作中,因为个体差异的不同,这仍然是个值得我们探讨的问题,需要我们在实际的团队协作中寻找答案。