201771030106-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>
| 项目 | 内容 |
|---|---|
| 课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
| 作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
| 我的课程学习目标 | 1.学习博客园软件开发者学习社区使用技巧和经验;2.学习GitHub的基本操作流程;3.阅读书籍《构建之法——现代软件工程》并提出3个阅读中遇到的问题。 |
| 作业对我实现学习目标的帮助 | 1.熟悉博客园的使用技巧;2.初步了解软件工程这一门课的学习内容以及学习方法。 |
| 参考文献 | [1]邹欣.构建之法——现代软件工程[M].北京:人民邮电出版社,2017. |
一. 实验准备
完成课程调查问卷,注册博客园账号以及GitHub账号并加入班级。
##二. 问题提出
###*问题一:*一个真正的软件项目在实际的开发过程中它的生命周期是一个怎样的过程?即是如何一步步构建展开并实现、如何运行维护一个真正的软件项目,以及在软件项目在将废弃时又是怎样的?
>1.学习某种编程语言的特性;
2.练习某些算法或按某种模式处理数据;
3.按照给定的需求实现一个较复杂的软件系统,但没有要求系统进行大规模的测试、模拟、实际运行或后续演化。
--引用自《构建之法——现代软件工程》P37
之所以提出这个问题,是因为我们目前所学习或练习的项目都属于是上述提出的三种作业练习,我们目前所完成的最复杂的一类软件项目,也不过是上述第三种所述的较复杂的软件系统。我们目前还没有接触到真正的软件系统开发,对于软件生命周期中各个时段所做工作不了解,不知道我们在每个阶段该如何做、如何做能够做好,而为了我们自身能力的提高,这各个阶段中的内容方法是我们在未来必须要学会的,因此掌握这各个过程的具体内容十分重要。
或许这个问题只有通过自己的实践才能真正得到答案并掌握它,不过这也是我们学习软件工程所必须要掌握的内容,希望在软件工程这一门课程的学习后,我能够找到满意的答案。
问题二:对于一个初创的团队来说什么样的软件工程模型更加适合他们?
在阅读了《构建之法》的五、六章后,我不禁在想,哪一种软件工程的模型更加适合一个没有太多基础的团队。众所周知,万事开头难,我们现在开始学习软件工程这一门课,我们在进行软件工程的实践中,什么样的软件工程模型更加适合我们入门学习呢?
根据我所查阅的一些资料,在目前常用的模型中,瀑布模型只有在项目的生命周期后期才能看到成果,并且瀑布模型需要开发人员对于应用领域十分熟悉;原型模型适用于那些不能预先确切定义需求的软件系统的开发;喷泉模型由于在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,且不利于项目的管理;敏捷模型则是需要资深的软件工程师且容易出现每个人工作分配不均或出现书中提到的那种“狗熊掰苞米”的情况。这些模型由于自身的一些特点或要求似乎都不适合一个初创的团队,那么有哪些模型是适用的呢?
问题三:现有的用户调研方法是否存在有问题?若存在,应当如何运用专业知识改进?
软件开发的过程,就是“用户最需要的东西”在下面这一链条中传送、转换、实现、扭曲或丢失的过程。
用户最需要的>
用户表达出来的>
软件团队能理解的+团队的商业目标>
软件团队成员具体表达出来的(PM写Spec)>
在各种约束条件下,具体执行表达出来的(Dev写代码)>
验证通过的(Test)>
通过各种渠道告诉目标用户(发布/推广)>
用户终于能用上了,但是他们不满意
--引用自《构建之法——现代软件工程》P160
在读到书本的需求分析部分,尤其是上述的用户调研问题时,我在想,我们目前的用户调研模块是否依然存在问题?无论是我们在日常的软件使用过程中或是在网上查阅资料,都不难发现,在目前在软件市场中,大多数软件的评价并不好,这一点在社交类软件更加得以体现,尤其是在目前国内移动端社交软件中腾讯一家独大的情况下,尽管用户有所不满,但受限于种种原因,无法放弃使用,而在其他类型的软件产品中,这一现象也不少见。对于软件企业而言,无法满足用户需求只会使自身面临的处境越来越糟。虽然时不时也会出现的很能够吸引人眼球的软件功能,但是它们往往也很难持续地抓住用户,即使是大如微软这样的企业,在进行一系列系统更迭之时,也有不少用户并不买账,即使现在仍有不少人使用已经停止更新的Windows xp与Windows 7系统。
如今,大数据、人工智能、神经网络等等技术发展迅速,采集用户需求不再是一件十分困难的事情,但是软件功能与用户需求相悖的情况似乎并没有好转,这一系列的问题是否意味着我们现在在需求分析的用户调研部分依旧存在问题?若是,以现在的计算机技术,我们有大数据、人工智能等等,为何这一现象并没有特别大的改善?而现在又有哪些好的解决方法呢?
##三. 实验总结
在此次的实验学习中,我熟悉了博客园的使用流程以及GitHub的基本操作方法,为之后的实验学习做好了准备,而且通过阅读邹欣老师的《构建之法——现代软件工程》,我收获颇多,同时也提出了我在阅读中遇到的一些问题,希望我在这之后的软件工程课程的学习中,能够基本解决它们,能够更加深刻地了解软件工程这一门课的艺术。
201771030106-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>的更多相关文章
- 201771030115-牛莉梅 实验一 软件工程准备-<初学《构建之法--现代软件工程》的疑问>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...
- 201771010128王玉兰实验一软件工程准备——<阅读《构建之法——现代软件工程》初步了解软件工程>
|||||||||||||| |:--|:--| |项目|内容| |软件工程|https://www.cnblogs.com/nwnu-daizh/| |作业要求在博客里|https://www.cn ...
- 201771010111-李瑞红 实验一 软件工程准备-<构建之法-现代软件工程-基础认识和理解>
|||||||| | :--
- 8th 对软件工程的理解(读构建之法有感)
对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系.然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的 ...
- 201771010105—达拉草 实验一 软件工程准备—<软件工程构建之法—初步了解和认识>
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 201771030117-祁甜 实验一 软件工程准备—<阅读《现代软件工程——构建之法》提出的三个问题>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...
- 201771010117—马兴德—实验一 软件工程准备—掌握博客中MarkDown的使用以及通读《现代软件工程—构建之法》的总结
实验一 软件工程的前期准备工作 在前期的准备工作以及老师上课的讲解中,我懂得了"软件=程序+软件工程"这句话的基本含义,以前只是对软件工程有一个很浅显的概念,现在在读了<现代 ...
- 201871030109-韩诚 实验一 软件工程准备—Blog
项目 内容 课程班级博客链接 18级卓越班 这个作业要求链接 软件工程准备-Blog 我的课程学习目标 (1)学习博客园软件开发者学习社区使用技巧和经验(2) 掌握软件工程导论这门课程的基础理论知识 ...
- 201671030126 赵佳平 实验十四 团队项目评审&课程学习总结
项目 内容 这个作业属于那个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...
随机推荐
- 【colab pytorch】使用tensorboardcolab可视化
import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from ...
- optimizing Wi-Fi solution for International School
https://aweisoft.azurewebsites.net/Knowledge/Cisco/OptimizeWiFi/OptimizeWiFi.aspx Connect me on Link ...
- 计算机网络原理实验_使用网络协议分析仪Wireshark
一.实验名称 使用网络协议分析仪Wireshark 二.实验目的: 1. 掌握安装和配置网络协议分析仪Wireshark的方法: 2. 熟悉使用Wireshark工具分析网络协议的基本方法,加深对协 ...
- des 加密解密工具类
最近在做des的双对称加密解密,特此记录一下. des对称加密,是一种比较传统的加密方式,其加密运算.解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码 ...
- Java Grammar(三):修饰符
简介 修饰符是用于限定类型以及类型成员申明的一种符号,从修饰对象上可以分为类修饰符,方法修饰符,变量修饰符:从功能上可以划分为访问控制修饰符和非访问修饰符.访问修饰符控制访问权限,不同的访问修饰符有不 ...
- [vue/require-v-for-key] Elements in iteration expect to have 'v-bind:key' directives.
使用VScode开发vue中,v-for在Eslint的规则检查下出现报错:如下Elements in iteration expect to have ‘v-bind:key’ directives ...
- [BUG]document.body.scrollTop=0不生效(回到顶部)
描述 让body回滚到最顶部,设置 document.body.scrollTop = 0; . 微信内,安卓设备可以,ios设备不可以. 原因 MDN中 scrollTop是这样定义的 一个元素 ...
- Git 基础入门
目录 git安装 基本设置 创建版本库 相关概念 将代码提交到分支仓库 版本回退 代码修改 撤销修改 文件删除 github 远程仓库 添加远程仓库 克隆远程仓库 分支操作 忽略特殊文件 git安装 ...
- 在Servlet端获取html页面选中的checkbox值,request获取页面checkbox(复选框)值
html端代码: 选项框: <input type="checkbox" name="crowd" value="选项一">选项 ...
- 《Python学习手册 第五版》 -第15章 文档
本章主要介绍Python中的文档,会通过多种方式来说明,如果查看Python自带文档和其他参考的资料 本章重点内容 1.#注释:源文件文档 2.dir函数:以列表显示对象中可用的属性 3.文档字符串 ...