美文网首页
软件工程coursera第三课__软件需求

软件工程coursera第三课__软件需求

作者: Super_邓帅 | 来源:发表于2016-10-11 20:42 被阅读0次


    (一)需求的作用

    我们平时用的软件究竟有什么作用呢?
    1、起到了控制作用,如遥控系统
    2、集成其他的软件硬件,形成一个综合性的系统,起到耦合作用
    3、实现该软件本身具有的功能
    认识软件的这样一个作用,以及怎么去捕获软件的这样一个需求呢?
    所谓系统工程,是指从一定的问题 来出发,希望呢给出,分析出它诸多的解决方案,最终给出最优解。 也就是说,最优化是系统工程追求的一个目标,这是与我们软件工程中相当于 最大的这样的一个区别



    注:所以说第一步是要研究这个软件所处于的系统环境。 第二点看一下 这样的软件需求,又可以如何去对它进行进一步的细化。


    自顶向下开发:
    类似瀑布模型,先需求,再分析设计,再编码、测试、维护等,按照这一套流程走下来

    自底向上开发:
    先考虑可以复用哪些成熟的软件构件,根据构件能提供的功能, 往上去堆积。最终把新开发出来的软件单元,跟已有可复用的软件构件集成在一起, 构成满足目标软件系统。

    总之,需求很重要,它是指方向的,如果方向都错了,做的任何努力都白费



    (二)需求的定义

    描述了待开发产品或者系统功能上的能力性能参数或其他的性质。
    不光是功能的描述

    具备这些性质才能称得上是需求

    所以说,并不是看到一段话的描述它就是作为需求。要从这几点来检验,看符不符合这个五个性质。



    (三)需求的分类

    其中,功能需求是主体,其他几个都是非功能需求

    功能:


    性能需求:

    如:并发响应数
    外部接口需求:

    如:第三方插件

    可以理解为,交互数据时,数据的参数个数和类型要与接口相符合

    设计约束:

    涉及约束举例
    如:运行平台
    质量属性:
    质量属性规定了软件产品必须具有的一个 性质是否达到质量方面一个所期望的水平

    (四)需求的发现

    自悟:

    自悟 是指把自己作为系统的最终用户,来审视这个系统并提出问题。

    一般情况下你就要把自己放在一个用户的角度去考虑问题,如果我是这样一个用户, 那么我借鉴于以前使用过的经验以及我能查询的一些资料,想象这样的一个系统应该提供什么样的功能?

    它适用的条件是指需求工程师不能直接与用户进行交流的情况

    交谈:
    能很好地提出问题
    如果直接问客户 "你想要什么",客户可能会漫无天际地告诉你 说 "我想要什么,想要什么,想要什么"。 这就要求,要做一些相关领域的知识储备,可以给用户一些选择,叫用户选择,而不是让用户漫无边际地回答。

    观察:

    小组会:

    提炼:
    已经有了些可复用的文档,比如说有关需求的陈述,功能和性能目标的陈述(可能来自于其他类似的项目, 也可能来自其他地方),那么这个时候就可以采用提炼的方式 来从可复用的这样的一些技术文档里面 来针对已有的部分需求文档来提取出需要的东西。

    总之,上述技巧要综合、灵活地运用。



    相关文章

      网友评论

          本文标题:软件工程coursera第三课__软件需求

          本文链接:https://www.haomeiwen.com/subject/kqruyttx.html