201771030126-王元宗 实验一 软件工程准备—<学习现代软件工程-构建之法>

项目 内容
软件工程 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
作业要求连接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html
软件工程准备 (1)学习博客园软件开发者学习社区使用技巧和经验;(2)了解Github的基本操作。
学习目标 了解软件工程,提出问题并且寻求答案
参考文献 邹欣.现代软件工程—构建之法,现代软件工程[M].人民邮电出版社,2014,

实验内容

1.调查问卷(已提交

在以下网址提交课程调查问卷:(https://www.wjx.cn/jq/60177777.aspx)

2.在博客园平台注册个人博客账号和加入班级博客(已注册并加入班级

用途:师生交流、同学交流、发布作业、学习先进技术与工程经验
博客园地址:(http://www.cnblogs.com/)
请参考这篇博客创建个人博客园博客账号
班级博客地址:(https://edu.cnblogs.com/campus/xbsf/nwnu2020SE)
登录博客后,在浏览器中打开链接,加入班级(若链接失效请在群内联系助教)

3.注册Github账号(已根据链接并自己百度学习了GitHub的基本操作,但仍需通过练习来更进一步的掌握

用途:管理项目,记录(源码、文档,历次版本变更,bug发现与修复)等信息。
Github地址:(https://github.com/)
Github操作及如何托管项目?
参考文章:(http://www.cnblogs.com/edisonchou/p/5990875.html)
学习视频:(https://www.bilibili.com/video/av10475153/)

4.各位同学点击以下超级表格链接填写博客园、github账号信息(已填写表格

https://www.chaojibiaoge.com/index.php/U/url/daldh614

5.构建之法与博客首秀

《现代软件工程—构建之法》之后,我有以下几个问题:

1.每个程序员写的代码都是不同的,都会觉得别人的代码写的不好甚至读不懂,新成员到来后需要读已有程序,大型软件的程序代码量需要上百万甚至千万行,如果让一个新成员去读这些程序代码,不仅数量多而且看不懂,这应该如何处理?

  • 思考起因
    第1章1节写着

我上班后,发现以前同事写的程序真是垃圾,根本看不懂,无法维护。我要推翻重写!后来一个老员工笑嘻嘻地告诉我,我们现在看到的程序,就是去年的新员工愤怒地推翻重写之后的结果,大家反映还没有以前的版本好用呢。
-- 引用自《现代软件工程-构建之法
软件团队的人员也会流动,新的成员要尽快读懂已有的程序,了解程序的设计,这叫程序理解(ProgramComprehension)。
-- 引用自《现代软件工程-构建之法

  • 我的思考与疑惑:
    • 对于一个新入职的软件工程师,进入到一个项目组后,需要去读已有的程序,他是只读自己负责的那个模块还是读整个项目的代码,如果代码量过高,会不会由于读已有的程序代码浪费太多时间,若是读不懂已有的程序代码或者觉得写得不好,是继续专心读代码还是提出自己的改进方案。

2.用户的需求各种各样,难易差别很大,这怎么解决?

  • 思考起因
    第8章第1-3节

软件的功能和用户想要的一样么?不大一样。用户满意吗?不大满意,那用户到底想要啥?我们调研一下,然后开始新的循环....如何准确掌握用户需求?大家可以靠直觉,靠老板的命令,靠互联网上传来的各种信息,靠拷贝其他产品,靠其他不靠谱的手段......
-- 引用自《现代软件工程-构建之法

  • 我的思考与疑惑:
    • 用户的想法千差万别,我们需要花费大量的精力去调查研究,但是这个调查结果可能会出现很大的分歧,有些用户走向极端化,这些极端化往往比较难实现,我们应该如何让用户满意,抛弃极端化,做到大部分用户都满意还是去将那一部分难实现的也做完,这样会浪费时间并且消耗大量人力资源。

3.如何发挥团队合作的高效性?如何发挥个人作用?

  • 思考起因
    第5章第1-3节以及第9章第4节写着

平时开会讨论特别杂乱的原因是,在每个具体时段,每个人在扮演的角色不同,别人也没能理解不同人的角色和出发点。
-- 引用自《现代软件工程-构建之法
第3章中写道
软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。
-- 引用自《现代软件工程-构建之法

  • 我的思考与疑惑:
    • 我们的团队模式应该如何构建与完善,在日常的开发过程中,我们会遇到各种各样的问题,但是每个人的问题都可能会互相影响,有些人可能会觉得你提出的想法是没有必要去实现的,我们应该如何进行高效的讨论,团队成员需要做到各自分工,互相依赖,但是怎么样才能做好这一点,互相看代码还是其他方法。

实验总结

通过阅读《现代软件工程-构建之法》,我大致了解了软件工程这门课的学习内容以及学习目标,同时也对博客园和github的使用有所了解,我还学习并运用了Markdown的编辑方式,希望自己通过软件工程的学习收获到更多的知识与能力。

你可能感兴趣的:(201771030126-王元宗 实验一 软件工程准备—<学习现代软件工程-构建之法>)