软件工程第五章与第三章 软件需求分析、软件过程模型
第五章
1.需求分析的目的是什么,有什么作用?
要求开发人员准确地理解用户需要什么,进行细致地调查分析,将用户的需求陈述转化为完整的需求定义,再由需求定义转化为相应的软件需求规格说明。
2.软件需求有那些分类?请举例说明。
业务需求(Business requirement):反映了组织机构或客户对系统、产品高层次的目标要求
用户需求(user requirement):用户的目标,或用户要求系统必须能完成的任务
功能需求( functional requirement):规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求
非功能需求(non-functional requirements):非功能需求主要与系统的总体特征相关,是一些限制性要求,是对实际使用环境所做的要求
3.需求分析过程有那些步骤?
需求分析主要是理解客户需要什么、分析要求、评价可行性、协商合理的方案、无歧义地详细说明方案、确认规格说明、管理需求以至将这些需求转化为需求规格说明定义。
过程包括: 沟通 导出需求 与客户和用户协商 可行性研究 精化需求 编写需求规格说明 验证需求 管理需求
4.需求分析获取方法有那些?
会谈技术 调查技术 场景分析技术 快速原型法
5.你所在的团队会采用那些需求获取方法?请具体实践获取需求,在博客中展示(问卷调查或会谈照片,小视频等)。并总结获取的功能需求以及非功能需求。
会谈技术
功能需求:购买皮肤功能,换肤功能,游戏功能。
非功能需求:运行环境要求是手机,并可以支持微信小游戏。
第三章
简述软件过程、软件生存周期、软件过程模型(软件生存周期模型)三者之间的概念区别。
软件过程是软件生存周期中的一系列相关过程所涉及的活动。
软件生存周期是指软件从生到死的过程。
软件生存周期模型是指一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从系统的需求定义到系统的使用终止。
软件过程就是软件开发过程么?为什么?
不是,软件过程还包括了软件死亡、开发之前的过程。
软件开发过程是软件过程的一部分。
请选择两个常见的软件过程模型,谈谈你对它们的理解?并对它们进行比较。
瀑布模型: 瀑布模型( Waterfall Model)将软件生命周期划分为软件计划、需求分析和定义、设计、实现、测试、运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。
从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。
瀑布模型是一种文档驱动模型,没有文档的软件是几乎不可维护的。
适用于定义非常稳定的产品,且产品的正确性非常重要,需要每一步的验证。
增量模型: 增量模型(Incremental Model))也称为渐增模型,98o年由Mills等人提出,是在项目的开发过程中以一系列的增量方式开发系统。
软件被作为一系列的增量构件来设计、实现、集成和测试。
瀑布模型和其他常见模型有什么关联和区别?
与增量模型在开发中用户可以及早看到部分软件功能,发现问题的好处相比,瀑布模型要在软件生存周期的末期才能看到开发成果,风险大,错误代价大。
与强调了其他模型均忽略的风险分析的螺旋模型相比,瀑布模型风险大。
与原型模型适用于不能预先确切定义需求的软件项目相比,瀑布模型适用于产品的定义非常稳定,且产品的正确性非常重要的项目。
根据你当前所在的团队项目,你更倾向于选择哪一种软件过程模型?为什么?
增量模型
增量模型中软件被作为一系列的增量构件来设计、实现、集成和测试,可以在开发过程中就看到结果。同时增量模型将软件划分为一些列增量构建,有利于团队开发。