软件工程之软件需求

简介:

       软件需求是什么呢?是不是如同我们渴了,需要喝水一样呢?软件需求可以从以下三个方面进行阐述:首先,用户解决问题或达到目标所需条件或权能,其次,系统或者是系统部件要满足合同、标准、规范或者其他正式规定文档所需具有的条件或权能,最后,一种反映上述两种条件或权能的文档说明。早在八十年代中期的时候,就形成了软件工程的子领域-需求工程,从1993年起每两年举办一次需求工程国际研讨会,自1994年起每两年举办一次需求工程国际会议,可见需求分析的重要性。

      需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码的编写,需求分析很少受到重视后来软件开发引入了生命周期的概念,需求分析成为其第一阶段。软件需求的重要性不言而喻,现在就软件需求这一小节,做个简单的总结(点击打开链接`(*∩_∩*)′)。



       随着软件系统的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。需求分析活动不再仅仅限于软件开发的最初阶段,她贯穿与系统开发的整个生命周期,简单的来说,软件需求就是该软件需要什么东西,拿这些东西做什么,存在怎么样的标准与需求,根本的就是要明白要做什么,就像上一篇博客软件计划中的例举盖房子的例子,盖房子的需求就是,想要把房子盖成什么样子,是一般的平房还是欧式建筑,坐南朝北,还是怎样一个方位,达到你想要的一个理想中的房子。

  

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
AIGC最近很火,给大家推荐一个已经有1000位开发者使用的中文aigc开源模型,包括ai画图、ai聊天
作为2022年以来AI圈最大的趋势,AIGC意味着,AI进军到了此前被视为“人类独占”的领域,如艺术表达、科学发现。
2256 0
AIGC最近很火,给大家推荐一个已经有1000位开发者使用的中文aigc开源模型,包括ai画图、ai聊天
|
Rust 编译器 开发者
Rust中的进阶宏:派生宏与属性宏
本文将深入探讨Rust编程语言中的派生宏(Derive Macros)和属性宏(Attribute Macros)这两种进阶宏的用法。派生宏用于自动生成实现特定trait的代码,而属性宏则允许我们为模块、函数、结构体等添加自定义属性。我们将通过实例展示如何在Rust项目中使用这些高级宏来增强代码的可读性和可维护性。
|
安全 Java
【多线程面试题 六】、 如何实现线程同步?
实现线程同步的方法包括同步方法、同步代码块、使用ReentrantLock、volatile关键字以及原子变量类,以确保线程安全和数据一致性。
|
Java 容器 Spring
Spring-AOP
Spring-AOP
80 1
153Echarts - 旭日图(Sunburst VisualMap)
153Echarts - 旭日图(Sunburst VisualMap)
185 0
带你读《卫星互联网:助力新基建的有硬科技》——第三章 国内外卫星互联网的主要计划
带你读《卫星互联网:助力新基建的有硬科技》——第三章 国内外卫星互联网的主要计划
带你读《卫星互联网:助力新基建的有硬科技》——第三章 国内外卫星互联网的主要计划
|
C++
c++学习之运算符重载详解
c++学习之运算符重载详解
260 0
|
SQL 算法 关系型数据库
【MySQL】 MRR
【MySQL】 MRR
233 0
|
运维 Kubernetes Dubbo
服务网格技术开源、自研、商业化三位一体战略解读 | 学习笔记
快速学习 服务网格技术开源、自研、商业化三位一体战略解读
387 0
服务网格技术开源、自研、商业化三位一体战略解读 | 学习笔记