zoukankan      html  css  js  c++  java
  • RTCSD第三次作业2017

    一、软件工程师应具备的能力素质

    拜读了邹欣老师的《构建之法》,对于这个问题我大致总结为如下几个方面的几点。

    面对职业发展的成长过程,我们首先要对于基础知识熟练掌握。例如: 对Java, C/C++/C#, 诊断/提高效能的技术,  对device driver, kernel debugger 的掌握;对于某一开发平台的掌握。其次,在掌握知识后应该在问题领域的具体实践中积累经验,随后就要开始着眼于软件设计思想,  软件工程思想的提高。(这里邹老师一直提倡软件工程师在学习和工作阶段应该保持良好的博客记录习惯,提高后续的行业工作竞争力)此外,学习专业知识之余,还需要过硬的职业技能。职业技能包括: 自我管理的能力; 表达和交流的能力; 与人合作的能力; 把任务按质按量完成的执行力; 这些能力在IT 行业和其它行业都很重要。

    《构建之法》中倡导在软件工程行业中量化指标。作为一名软件工程师,衡量其能力的一个方面就在于他所完成的工作量与其工作时间(效率)的匹配程度。软件开发的工作量和质量的衡量因素有如下四点:1、项目大小。2、所花时间。3、质量。4、按时交付能力。对于一个项目以及自身能力的评估后所得出的个人交付预计时间,也是个人能力的一种重要表现,对于之后的团队合作能力也有重要的意义。

    对于职业发展有几种发展模式

    第一种是通过考级证明专业能力。其中有其通用性也有其局限性。第二种是Personal SoftWare Process的成长模式。第三种Steven McConnell模式。第四种为大公司模式。找到适合自己的衡量标准模式,并且按这种模式进行职业发展和学习。

    此外,作为软件工程师,还需要具备与工作内容所匹配的团队合作能力。

     

    二、基于模型的设计流程相对于其他开发流程的优缺点

    首先阐述一下基于模型设计的基本特点。区别于传统设计方式,基于模型设计首先对于需求建立了系统模型,通过数学模型来精确描述客户需求。随后生成定点模型,在对于嵌入式代码的自动生成,并且每一个设计过程都在进行同步的连续测试和评估。对比传统设计流程,对于一般较大的工程,首先进行需求分析,系统工程师据此进行概念和算法研究,评估技术可行性。随后就是主要的设计师的设计开发阶段,其中包括了原样机的制作、程序的开发等,最后是测试评估。

    由此比较,可以看出基于模型设计的优势。

    第一,因为可执行的模型只有一个,所以减少了团队配合的难度,确定了标准的范畴,减少因为标准的失衡而产生的配合问题。

    第二,仿真过程减少了实物原样机的制造过程,减少了设计成本。

    第三,系统模型搭建后的嵌入式代码自动生成,减少了因为人为失误导致的编码问题,大大节省了排错编译调试的时间。

    第四,实时的测试减少了最后设计过程的总测试时间,同时减少了因为设计中途出现问题而造成的损失。

    对于缺点我认为在以下几个方面

    第一,基于模型的设计与传统设计方式在工业上可以类比于工厂生产中的自动化与半自动或人工生产方式。其适用于大产量的软件设计模式中。基于模型的设计主要工作量在于系统模型的搭建,如果模型本身的复杂程度不够高或者适用面不够广,采用基于模型设计反而会拖慢整体的工作进度,起到反效果。

    第二、基于模型设计对于所搭建的系统模型的要求比较高,需要很高的系统工程师的模型搭建水平。

     

  • 相关阅读:
    Java 理论与实践: 正确使用 Volatile 变量
    VS2005 C++,断点无法命中的解决办法
    IndexWriterConfig的各个配置项说明(转)
    LINQ&Entity Framework
    CDN
    德鲁克之沟通的四原则
    项目管理过程之项目团队
    OOAD & OOP
    双线接入(全网路由)简单介绍
    唐僧为什么可以领导孙悟空
  • 原文地址:https://www.cnblogs.com/element-white/p/7647677.html
Copyright © 2011-2022 走看看