项目 内容
课程班级博客链接 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-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>的更多相关文章

  1. 201771030115-牛莉梅 实验一 软件工程准备-<初学《构建之法--现代软件工程》的疑问>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...

  2. 201771010128王玉兰实验一软件工程准备——<阅读《构建之法——现代软件工程》初步了解软件工程>

    |||||||||||||| |:--|:--| |项目|内容| |软件工程|https://www.cnblogs.com/nwnu-daizh/| |作业要求在博客里|https://www.cn ...

  3. 201771010111-李瑞红 实验一 软件工程准备-<构建之法-现代软件工程-基础认识和理解>

    |||||||| | :--

  4. 8th 对软件工程的理解(读构建之法有感)

    对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系.然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的 ...

  5. 201771010105—达拉草 实验一 软件工程准备—<软件工程构建之法—初步了解和认识>

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  6. 201771030117-祁甜 实验一 软件工程准备—<阅读《现代软件工程——构建之法》提出的三个问题>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...

  7. 201771010117—马兴德—实验一 软件工程准备—掌握博客中MarkDown的使用以及通读《现代软件工程—构建之法》的总结

    实验一 软件工程的前期准备工作 在前期的准备工作以及老师上课的讲解中,我懂得了"软件=程序+软件工程"这句话的基本含义,以前只是对软件工程有一个很浅显的概念,现在在读了<现代 ...

  8. 201871030109-韩诚 实验一 软件工程准备—Blog

    项目 内容 课程班级博客链接 18级卓越班 这个作业要求链接 软件工程准备-Blog 我的课程学习目标 (1)学习博客园软件开发者学习社区使用技巧和经验(2) 掌握软件工程导论这门课程的基础理论知识 ...

  9. 201671030126 赵佳平 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于那个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...

随机推荐

  1. webpack进阶(二)

    1)webpack动态打包所有依赖项,避免打包未使用的模块. 2)转换css的loader有:css-loader,style-loader,加载图片或文件的loader是:file-loader,如 ...

  2. Flutter环境搭建以及快捷命令

    Flutter环境搭建 配置环境变量 用户变量 FLUTTER_STORAGE_BASE_URL : https://storage.flutter-io.cn PUB_HOSTED_URL : ht ...

  3. svn更新时同步web服务器

    1.重中之重:第一次更新需要先把数据库先检索出来,执行脚本./post.commit #!/bin/sh export LANG=en_US.UTF-8 SVN=/usr/local/subversi ...

  4. ubuntu16.04 + caffe + SSD 硬件配置

    搞了几个月,终于把SSD试通了,不是科班出身的就是弯路多啊.几个月才跑通了caffe + ssd,痛苦至极,好在柳暗花明.好了,废话不多说,入正题. SSD作为object detection的论文, ...

  5. 【BIM】BIMFACE中创建矢量文本

    背景 在三维模型产品的设计中,针对空间的管理存在这样一个普遍的需求,那就是在三维模型中,将模型所代表的空间通过附加文本的方式来展示其所代表的实际位置或功能,之前尝试过若干方式,比如直接在建模的时候,将 ...

  6. 大数据存储利器 - Hbase 基础图解

    由于疫情原因在家办公,导致很长一段时间没有更新内容,这次终于带来一篇干货,是一篇关于 Hbase架构原理 的分享. Hbase 作为实时存储框架在大数据业务下承担着举足轻重的地位,可以说目前绝大多数大 ...

  7. Python 小技巧:如何实现操作系统兼容性打包?

    有一个这样的问题:现要用 setuptools 把一个项目打包成 whl 文件,然后 pip install 在 Windows/Linux 两种操作系统上,但是该项目中有一些依赖库只有 Window ...

  8. element中的树形组件,如何获取父级菜单的id

    一般多选的树形组件,使用getCheckedNodes()方法只能获取到本级的菜单id,只有在子菜单全部选中的情况下才会选中上级.但我们想要不全选中子级的情况下也要获取它的上级,甚至上上级等,怎么办呢 ...

  9. Unity 随机数与随机种子

    随机数几乎应用于游戏开发的方方面面,例如,随机生成的地图,迷宫,怪物属性等,在Unity中,使用随机数非常方便: // // 摘要: // Return a random integer number ...

  10. Asp.Net Core 中IdentityServer4 授权原理及刷新Token的应用

    一.前言 上面分享了IdentityServer4 两篇系列文章,核心主题主要是密码授权模式及自定义授权模式,但是仅仅是分享了这两种模式的使用,这篇文章进一步来分享IdentityServer4的授权 ...