201771010118-马昕璐-实验一-软件工程准备-<构建之法与初识软件工程>
项目 | 内容 |
---|---|
这个作业属于哪个课程 | https://www.cnblogs.com/nwnu-daizh/ |
这个作业的要求在哪里 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
作业学习目标 | 1.了解Github的基本操作;2.通过浏览《现代软件工程—构建之法》,提出自己在阅读中存在的三个问题和自己的见解 |
作业参考文献 | [1]邹欣.构建之法——现代软件工程》北京:人民邮电出版社,2017.7. |
任务一:调查问卷
- 以下网址提交课程调查问卷
- 已完成
任务二:在博客园平台注册个人博客账号和加入班级博客
- 用途:师生交流、同学交流、发布作业、学习先进技术与工程经验
- 博客园地址
- 请参考这篇博客创建个人博客园博客账号
- 班级博客地址
- 登录博客后,在浏览器中打开链接,加入班级(若链接失效请在群内联系助教)
- 已完成
任务三:注册Github账号
任务四:学习markdown编辑博客
参考文章学习使用MarkDown编辑博客,内容包括:
- 切换编辑器
- 排版章节
- 插入列表
- 插入超链接
- 引用别人的文字
- 行内修饰文字
- 插入代码
- 插入表格
- 插入图片
- 添加段落
- 已完成
任务五:提出浏览《现代软件工程——构建之法》后的三个问题
-
问题一
书中第一章提到软件流程的质量是为了评价软件团队和开发流程的问题太多而导致团队间无法相互协作而存在的,同时软件工程的教学和培训目标是让读者通过理论学习和具体项目的练习,做到通过一定的软件流程,在预计的时间内发布“足够好”的软件,指由团队经历了一定的软件流程,通过全体团队成员的努力,在一个长期阶段内逐步完成的。但是在现实的团队工作中,每个人性格不同,能力不等,如何确保团队间的工作效率?有什么科学有效的方法可以解决这个问题?
在往后的阅读中,我从第五章“团队和流程”这一章中找到了答案。软件团队有各种形式,适用于不同的人员和需求。基于直觉形成的团队模式未必是最合适的。其中包括蜂窝模式、主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式。同样一群人在一起做软件开发,也总有一些方式方法,写了再改模式、瀑布模型等等一系列变形模式。无论是用以上哪个模式,团队间的相互交流,平等协作都是完成项目的基础 -
问题二
同时书中提出软件工程的教学和培训目标是让读者通过理论学习和具体项目的练习,研发出符合用户需求的软件,通过实际的工作收集、推导、提炼需求,并在软件发布后通过实际数据验证需求的确被满足了。那么一个项目到底要做到流程中的哪一步才算是完成了,最重点的是什么?
*本书在第六章中提出做项目的人认为“任务完成”世界开发人员认为写完了改写的代码,并不代表项目已经结束,剩余的20%的长期任务才是软件项目中对艰巨和底层的任务。在衡量开发流程是否适合当前的项目或团队时,有以下几个要求:- 自主管理
- 自我组织
- 多功能型
那么既然我们已经明确之后的20%工作可能要消耗我们将近80%的时间与精力,为什么不能将这部分任务在代码部分提前完成一部分?*
-
问题三
书中提出一个软件要有一个合理的软件构架、软件设计与实现,同时还要做到配置管理、质量保障、软件测试、需求分析、软件维护等等一系列的工作,而软件工程是软件的组成部分。书中对软件工程的定义是这样的软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。人们在开发、运营、软件维护的过程中有很对技术、做法、习惯和思想体系。软件工程把这些相关的技术和过程统一到一个体系中叫“软件开发流程”,其目的是为了提高软件开发、运营、维护的效率。那么软件工程与上学期开设的工程经济之间究竟存在什么不同?
实验总结
- 本次实验的内容主要是为学习这门课程做了一定的准备工作,同时阅读了邹欣老师的《现代软件工程—构建之法》对这门课程有了初步形象的认识。之前三个问题是我粗略了解这本书后提出的,可能有所欠缺,在对课程定义方面还缺少系统性的框架概念,仍需要老师在之后的理论实际课中有所提点。