201771010114-李晓菁 实验一 软建工程准备-以《软件工程-构建之法》,初识软件工程

实验一 软件工程准备

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE?page=2
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html
我的课程学习目标 (1)学习博客园软件使用技巧和经验以及如何用Markdown来编辑博文的排版(2)学习如何使用GitHub进行代码托管(3)读邹欣的《软件工程构建之法》提出三个问题
这个作业在哪些方面帮助我实现学习目标 (1)通过老师及助教老师的指导完成了Markdown的使用(2)通过老师分享的链接以及自己查阅资料了解了GitHub代码托管平台的使用(3)通过粗略阅读邹欣老师的博客和书大概了解了什么是软件工程以及软件工程的流程有哪些等等
作业正文 如下博文
作业参考文献 [1]邹欣.现代软件工程-构建之法[M].人民邮电出版社:北京,2017.7:1.[2]Shaw_喆宇.Markdown插入表格语法[EB/OL].https://www.cnblogs.com/xym4869/p/11282650.html,2019-08-01.

实验内容

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:构建之法与博客首秀

快速浏览邹欣老师博客或《现代软件工程—构建之法》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。

  • 问题一 :在概论中pag17页提到能做到以下三点:(1)研发出符合用户需求的软件(2)通过一定的软件流程,在预定的时间内发布“足够好”的软件(3)能证明所开发的软件是可以维护和继续发展的,就是初步学会了软件工程。那么通过一定的软件流程,这些流程中是否有可以省略不做的呢?如果可以省略,那么省略后会对该工程产生影响吗?
**思考一** :在邹欣老师的书中第三章pag46页写道,软件工程包括了开发、运营、维护软件的过程中的很多技术、做法、习惯和思想。软件工程师把这些相关的技术和过程统一到一个体系中,叫做“软件开发流程”,他的目的是为了提高软件开发、运营、维护的效率,以及提升用户满意度、软件的可靠性和可维护性。所以为了软件给与用户良好的使用体验和软件的质量保障(包括后期维护等)软件流程不可以省略。 - **问题二** :本书的第四章讲的是“两人合作”,在该章节中讲述了代码规范,代码复审、,两人合作的技巧等......但是在“结对编程”中,每个人编写代码的水平各不相同,那么,两人如何分配任务,如何保证其中一人不是划水,而是实际做了一些事情? **思考二**:对于这个问题邹欣老师通过生活中其它领域的例子来对比,比如越野赛车时,驾驶的领航员,驾驶飞机时,主机和僚机。结对编程与这些任务很相似,一个人负责具体的执行,另一个人负责导航、检查、掩护等。在结对编程过程中,因为随时的复审和交流,能提供更好的设计质量和代码质量,两人合作,具有相互激励的作用,工程师看到别人的思路和技能,得到实时的讲解,受到激励,从而努力提高自己的水平,提出更多创意,结对工作能地阿莱更多的信心,高质量的产出能地阿莱更高的满足感。 - **问题三** 书中96页第五章中讲到了团队这个问题,如窝蜂模式、主治医师模式、明星模式、社区模式等。但在团队开发中,不可避免的会产生冲突、工作进展缓慢、合作不愉快等,那如何协调和解决这件事情,从而来保证团队的高度团结和团队开发的效率? **思考三**在书中122页,提出了一个概念敏捷的团队,敏捷对团队的要求很简单:自主管理(自己挑选任务)、自我组织(帮助工作落后的人改进)、多功能型(自己搞定规格说明书,和别人沟通,同时自己搞定测试)。这让我想到自己曾经组团队做的项目,虽然项目很小,但是各种需求分析,流程图,框架搭建,文档撰写等都要做到,由于团队队员或者组长不清楚每个人的长处,在执行过程中也出现了很多问题,但最终也在磕磕绊绊中完成了。所以我认为首先一个优秀的组长是非常必要的,这些过程也是为自己积累了经验。

实验总结

通过此次实验,首先,通过阅读邹欣老师的《现代软件工程-构建之法》,我对于软件工程这门课有了一个初步的认识,但此次阅读也只是粗略的浏览了一遍,对于一些细节问题并没有深究,在之后我也一定会继续精读这本书来辅助加深对于软件工程这门课的理解。其次我学习并运用了Markdown的编辑方式,与我之前学习过的web前端开发所用到的HTML形式相似,也让我不断重拾之前的知识。对于软件工程这门课,在日后还需要在老师的引领下,逐渐加深学习。最后,引用书中一句话,在理论上,理论和实践是一回事,而在实践上,理论和实践是两回事。

posted @ 2020-03-02 20:56  是木子呀  阅读(165)  评论(1编辑  收藏  举报