先声明一下, 这篇文章是原创,而且无商业目的。里面引用到的他人资源都做了链接,并没有直接复制粘贴,如有侵权,请告知,谢谢~~~(可转载,不过转载前给个赞或者评论嘛!^,^)
本篇有众多学习资料干货,仅供学习之用 ,请轻拿轻放,切勿做商业用途!
暂无自己的网站,干货通过链接、网盘分享(他人或自己)、我的个人公众号等给大家!
请笑纳,并遵守上述约定,谢谢!!!
ps:我公众号上有也登了这篇文章,那个排版更好看,欢迎订阅公众号:PAYIZ
我会把概念性的知识点通过超链接给出,这样可以提升大家的阅读体验,请需要仔细阅读的同学点击蓝色字体跳转到相应的网页,看完再回来,谢谢~~~
《软件需求工程 》课程介绍
一、课程引入:
大家好!我是你们亲爱的“艾老师”~~~
首先,大家是否考虑过做一件事的过程可以分解成几个步骤,(冥想几秒~~~)
很好,分解方法可定很多,有些同学可能想的很具体,有些也可能啥都想不到,或者不想这么无聊,是不是想说“分解你个头,干就完事儿了!”。。。哈哈
没关系,居然大家来到我这里寻求知识,就不妨让我托大,给大家唠叨几句~~
竖起耳朵听好咯!自然界所有的事或物都遵循“因为所以,科学道理”, 就像人生终极三问:“我是谁?我来自哪里?我要到那里去?”(据说是苏格拉底提出),连人的一生都能分解成三个问题。
因此,我们必须承认,做一件事儿的过程是可以被分解的,最简单的分解就是:
第一步:考虑怎么做
第二步:动手做
对吧!“三思而后行” 嘛!而且“三思”才是做好这件事的关键!三思做好了,一般情况下就能“行”得通!
如果有同学想抬杠,说:
艾老师,我已经想好了做这件事儿的9种方法,但做的时候发现自己动手能力不足,即“三思”做好了,但是“行”不通,这怎么解释???
“艾老师”:
哇!我先问你,你为什么这么“突出”!!!
哈哈,艾老师就喜欢这种持有“怀疑一切”习惯的学生,不错!
你这个问题是思考不充分啊,我们可以在“三思”的时候就考虑一下光靠自己能不能做成嘛!
如果不成那就继续思考别的替代方法,比如寻人帮助之类的。对不对嘛~~~嘿嘿
顺着我的思路昂,跟上!
我们既然发现“三思”的重要性,那么如何做到优秀的“三思”呢?
我们在这里只讨论软件工程中编写一个软件开发前的“三思”:
这个软件是什么?我为什么要做这个软件?我将如何做这个软件?
既然提到“三思而后行”,我再多唠叨几句吧!
大家都知道“三思而后行”是孔子爷爷提出的提醒人们做事前多思考的方法,但是他的后半句了解的人很少。
孔子老人家不仅考虑到了易冲动的人,还考虑到了优柔寡断的人!
请先看看这两篇文章:(感谢这些作者提供正解)
因此,我们要做到充分,正确“三思”就行了~~~
回到课堂来:
终于进入正题咧!针对上述软件开发的“三思”,就专门产生了一门学科叫《软件需求工程》,它能帮助开发者理清思路,整理开发前的思考过程,思考结果。
推荐这本书(买个二手就可)百度百科介绍请参考《软件需求》《什么是软件需求工程》
如需电子版,请看这里
链接:https://pan.baidu.com/s/1ZYPuRN7jKHQt3GU0QNdGzw 提取码:ftsq
二、课程重要性
任何事都需要先“三思”,而后“行”,对于软件开发者来说,开发流程可以大致分为:
需求分析->编写软件->测试->发布->维护
而且,艾老师很负责任的告诉你,第一步需求分析是最重要的一步,关系到后面所有步骤的“痛苦程度”!!!【/手动滑稽/】
“突出”:
艾老师,我现在知道人生需要三思了,但是对软件进行那什么“需求分析”,我不看好啊,有些时候我已经做了“那个求需分析”了,不就是事先把自己的想法都写下来嘛,我写了呀,但是做的时候,发现自己做不出来,这可咋整咧???我的想法本来是这样的,故事背景是:很久很久以前,巨龙突然出现,带来灾难带走了公主又消失不见...
“艾老师”:
哇!等等等等 ,okkkkk , STOP!
我承认你很突出!但不许带坏我其他学生!
来看看你这个问题,你这是思考不充分啊,需求工程也不是要你把所有需求都写上啦!
你先看看这个视频放松放松,看看是不是跟你一样的情况(天马行空,异想天开)
视频地址:https://www.zhihu.com/question/350940491
该视频精彩片段1/n大家看看完视频就回来吧,再不回来我就生气了哦,我生气后果很严重!
。。。。
。。。。
。。。。
好了好了,那个“突出”同学,请您继续看,其他同学继续看黑板:
大家现在明确我们为什么需要做需求分析了吧!
因为,不是所有想法都能进入我们的“编写软件”环节的!我们又不是专家,咱们能力是有限的。因此,要对需求进行相关分析,比如:
(1)有哪些需求
(2)需求可以被分为哪几个类别
(3)这些类别,或者所有需求之中是否有优先级(如有,则给出优先级)
(4)哪些需求可实现,那些不能实现(不能实现的需求就不要进入“编写软件”环节吧,希望大家键盘买结实的,爱护键盘,爱护小手手~~~)
(5)针对可实现需求,提出一些解决方案
(6)将需求分析后的结果以《需求规格说明书》来呈现,供开发者用
(7)需求需要后期更新,修改,因此《需求规格说明》具有时效性,需求分析员和客户程序员之间的联系不能断
好啦好啦,“突出”同学都点头了,这下我放心了!
三、课程正式开始
如果您一直跟到现在,那我很欣慰地告诉您:您已经走上一个优秀的软件人才旅途了,请继续跟上!
我们来看看,这门课的主要章节:
第1章 需求工程概述
第2章 软件工程与需求工程
第3章 需求获取
第4章 需求分析
第5章 需求建模方法与技术
第6章 需求定义
第7章 需求的形式化描述
第8章 需求验证
第9章 需求管理
第10章 面向软件行为和视点的需求建模与检测方法
第11章 面向问题域的需求分析
第12章 面向多视点的需求工程
第13章 需求工程 和软件开发管理
大家看完了吧,有没有学习的热情了呀^,^
那就~~那就~~跟着自己的代课老师好好学习吧!
加油!!!哈哈,非常抱歉这个“画风突然转变”*_*
不得不告诉您,艾老师也只是个大四学生而已,所以讲课能力有限,需要学习这门课的同学还是从自己学校选课系统里找一找吧*,*
不过,我会经常更新的,会以学生视角写一写自己在这门课中的学习方法,和学习过过程,学习成果等等,欢迎大家关注、和我一起学习!共同进步!
网友评论