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级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...
随机推荐
- 浅谈JS之setTimeout与setInterval
概念 setTimeout与clearTimeout,以及setInterval与clearInterval均属于Window对象方法. 方法 描述 setTimeout 在指定的毫秒数后调用函数或计 ...
- WEB渗透 - 万能密码
asp万能密码 'or'='or' aspx万能密码 1: "or "a"="a 2: ')or('a'='a 3:or 1=1-- 4:'or 1=1-- 5 ...
- IRM3800 红外遥控器解码 linux驱动
这一次还是接在 Cemera 上.用 中断引脚 EINT20 也就是 GPG12. 之前焊的 51 板子上有一个红外接收器. 请注意了,是 标准的 NEC 码规范:首次发送的是9ms的高电平脉冲,其后 ...
- 【原创】(五)Linux进程调度-CFS调度器
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- Python模块三
collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...
- Hadoop集群搭建(三)~centos6.8网络配置
安装完centos之后,进入系统,进行网络配置.主要分为五个部分: 修改虚拟机网络编辑器:配置Winodws访问虚拟机:配置centos网卡:通过网络名访问虚拟机配置网络服务. (一)虚拟机网络编辑器 ...
- Ng-Matero V9 正式发布!
距离 Ng-Matero 第一版发布已经过去了半年多,该项目获得了越来越多的关注及喜爱,甚至得到了外国友人的赞助.借此项目也认识了很多对 Angular 和 Material 感兴趣的朋友,如今对项目 ...
- 迷你记事本 https://vladocar.github.io/Minimal-Notes/
迷你记事本 https://vladocar.github.io/Minimal-Notes/
- CUDA Pro Tip: Write Flexible Kernels with Grid-Stride Loops
https://devblogs.nvidia.com/cuda-pro-tip-write-flexible-kernels-grid-stride-loops/ One of the most c ...
- cat、head、sed 三盟友
在linux 中我们必不可少的会使用到这三个命令 他们有什么作用呢? 就是查看文档了,但他的功能远不止于此 来我们学习一下吧 cat [root@ESProbe ~]# cat --help Usag ...