软件工程思考题2

1.简述软件生存周期、软件过程、软件过程模型(软件生存周期模型)三者之间的概念区别。

        软件也有一个从生到死的过程,这个过程一般称之为软件的软件生存周期,可划分为定义、开发和运行三个时期,每个时期又细分为若干个阶段。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。 软件生存周期包括可行性分析、项目计划、需求分析、软件设计、编码与测试、运行与维护等阶段,每个阶段又包含一系列的活动

       软件过程指软件生存周期中的一系列相关过程所涉及的活动

       软件过程模型是一种软件过程的抽象表示,也称为软件生存周期模型,或软件开发模型。 软件过程模型一般使用直观的图形标识软件开发的过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种因素确立过程模型

三者之间的区别:三者都与软件的生存周期密切相关,但是每一个又代表着不同的含义,软件生存周期指的是软件从生到死的整个过程,软件生存周期过程主要指整个大过程中所涉及的一系列活动,软件生存周期模型则是一种软件过程的抽象表示。

2.软件过程就是软件开发过程么?为什么?

软件过程是软件生存周期中的一系列相关过程所涉及的活动,是软件开发过程中的一部分,两者并不等同。

3.请选择两个常见的软件过程模型,谈谈你对它们的理解?并对它们进行比较。

瀑布模型

将软件生命周期划分为软件计划、需求分析和定义、设计、实现、测试、运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落,每个阶段都会产生循环反馈,是一种文档驱动的过程线性模型

局限性:

在于软件生存周期的末期才能看到开发成果,风险大,错误代价大;不能很好的适应需求变化

螺旋模型

结合了瀑布模型和快速原型模型的迭代开发模型,强调了其他模型均忽略了的风险分析,包括风险识别,风险分析,风险控制。特别适合于大型复杂的系统。每一个周期都包括需求定义、风险分析、工程实现和评审

四个象限分别代表了以下活动:

制定计划:确定软件目标,选定实施方案,确定项目开发的限制条件;

风险分析:分析评估所选方案,考虑如何识别和消除风险;

实施工程:实施软件开发和验证;

客户评估:评价开发工作,提出修正建议,制定下一步计划

>>瀑布模型是自上而下,顺序进行的,而螺旋模型则是同步进行的。

>>瀑布模型强调的保证软件的质量,忽略人力,时间,资源等成本因素,以质量为第一目标,每次需求发生变更都要从头再来....适合于一些大型稳定的项目. 螺旋模型是比较适合于前期需求不稳定,后期需求新增变更较多的项目,他是一种增量迭代开发的模型,每一次循环都是一次版本的升级

 

4.瀑布模型和其他常见模型有什么关联和区别?

原型模型利用原型法技术尽可能快地构造一个实际系统的简化模型。实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求。


增量模型中某些阶段按照瀑布模型的整体方式开发;某些阶段按照增量方式开发,即融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征


螺旋模型(Spiral Model)由Barry Boehm提出,是结合了瀑布模型和快速原型模型的迭代开发模型
 

5.根据你当前所在的团队项目,你更倾向于选择哪一种软件过程模型?为什么?

更倾向于螺旋模型,因为它结合瀑布模型和快速原型模型,在每一个周期都会包括需求定义、风险分析、工程实现和审评。团队的项目在后期可能存在需求新增变更较多的情况,这有利于我们后期进行更多功能的添加和修改。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 嵌入式软件工程师是一种专业的软件工程师,他们主要从事于嵌入式系统开发。嵌入式系统是指嵌入于其他产品中以完成特定功能的电路系统和软件系统。嵌入式软件工程师需要掌握多种编程语言,如C语言、C++、汇编语言和其他高级语言。同时,他们需要掌握嵌入式系统的硬件原理和工作原理。 对于嵌入式软件工程师来说,试题主要包括几个方面。首先是嵌入式系统的基础知识,例如系统的结构、组成部分、软硬件接口、中断和时钟等方面。接着是熟练掌握C语言编程,包括指针、数组、结构体和函数等内容。此外,还需要熟悉协议栈的相关知识,如TCP/IP、RS232、RS485等。同时,了解嵌入式系统的调试和测试方法是必要的。 对于企业而言,拥有优秀的嵌入式软件工程师可以极大地提高产品的竞争力和市场占有率。因此,在职场中,嵌入式软件工程师的职业前景非常广阔,其薪资水平也相对较高。但是,能否成为合格的嵌入式软件工程师,取决于其专业知识和实践能力的积累。 ### 回答2: 嵌入式软件工程师试题需要具备以下几方面的技能和知识: 1. 熟悉计算机操作系统和嵌入式系统的原理和应用,具备嵌入式系统开发和调试经验。 2. 熟悉C语言及其编译器系统,掌握基本算法和数据结构,擅长利用硬件资源进行系统开发。 3. 熟悉单片机架构,能够进行底层芯片编程和开发,包括通信接口和外设控制等。 4. 熟悉嵌入式系统标准协议,如TCP/IP协议,串口通讯协议等。 5. 具备团队协同和沟通能力,良好的学习和自我提升能力。 在面试过程中,可以通过技术性笔试、手写代码、项目经验等方式来考察应聘者的技能和知识水平。在面试中重点考察面试者的思路和解决问题的能力,看是否能够从问题中提取关键信息,对问题进行分析和解决。同时,需要了解面试者的学习能力和自我提升能力,以确保其能适应不断变化的市场需求和技术要求。 ### 回答3: 嵌入式软件工程师是一种专门从事嵌入式系统软件设计、开发、测试等工作的职业,需要具备扎实的计算机基础、丰富的编程经验以及深入的嵌入式系统技术知识。在csdn上面的嵌入式软件工程师试题,主要测试面试者的技术水平、工作经验以及解决实际问题的能力。 这些试题涵盖了各种嵌入式系统开发技术,例如C语言编程、嵌入式架构设计、嵌入式操作系统、通信接口、调试技术等等。对应的题型也包括选择、填空、编程、设计等不同类型,从而全面考察面试者的知识广度和深度。 在应对这些试题时,面试者需要有很强的逻辑思维能力和独立解决问题的能力,能够从工程实际出发,分析问题、提出解决方案,并深入思考性能优化、效率提升、安全保障等实际问题,从而更好地满足嵌入式系统的实际需求。 总之,嵌入式软件工程师试题所考察的技能和能力是非常丰富和全面的,需要面试者具备扎实的理论基础和实践经验,同时在实践解决问题时注重细节、性能和效率等。对于嵌入式软件工程师而言,不断学习和技术提升才能更好的胜任这项职业。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值