zoukankan      html  css  js  c++  java
  • 《软件工程》课程的总结

    1.对前期提出的问题的回答

    1.  如何成为初级软件工程师?

    初级资格(助理工程师、技术员)需要掌握计算机与软件工程知识,并且会软件设计。

    需要考取初级软件工程师资格证书。

    2.初级软件工程师如何成长?

    初级的很容易, 掌握一定的技术, 就可以进入项目组了。个人认为最重要的还是项目经验, 系统的项目经验, 从无到有, 操作和掌握项目进程,

    有系统的经验, 这样才不会被取代。 我是朝着项目管理的方向发展,不是跟随。

    3.软件开发的工作量和质量怎么衡量呢?

    James Shore & Shane Warden的《敏捷开发的艺术》一书中看到如下段落:

    软件开发生产率是出了名地难以衡量。……在软件领域,我们没有一种客观的方法来衡量产量。一项特性的尺寸是多少?

    我们可以通过统计函数点或代码行来度量软件的大小,但这无异于使用立方英寸来度量蜂窝电话的特性。

    源代码行数(SLOC)及其语言相关的表兄弟:函数点(function point),是度量软件尺寸的常用方法。不幸的是,它们也常被用于度量生产率。然而,正如外形花哨的手机,软件的大小也并不一定跟特性或价值有关联。

    设计良好的代码是模块化的;它支持多项特性而没有重复。设计越好,重复越少,代码行数也越少。这种精心的设计需奥付出时间和精力,但带来的结果是更少的bug和更容易修改的软件。

    汇报源代码行数或函数点会鼓励团队每天都产出更多行代码。团队的生产率没有增加,却很可能花费更少的时间在设计质量上。SLOC产量将会提高,确实会,但设计质量却会下降。研究表明,一个程序拥有的代码行数越多,可能拥有的缺陷就越多,开发成本也越高。

    总的来说,SLOC和函数点是有问题的生产率度量方法。

    4.如何评价一个软件的质量如何?

    正确性
    高效性
    可靠性
    易用性
    可扩展性

    5.一个合格的软件工程师,首先要具备哪些基本知识?

    初级部分:
    1. Java 面向对象程序设计、Java API使用、数据结构及算法基础、Java高级类特性、异常处理;
    2. AWT及Swing图形程序设计、流、网络程序设计、对象序列化、Applet、多线程程序设计、Java应用国际化基础;
    3. Java桌面系统项目开发;
    4. Java编程基础提高课程:反射机制、设计模式(I)、正则表达式,Java SE5.0新特性等;
    5. 基于Oracle的数据库开发及管理、数据库设计、标准SQL、PL/SQL编程;
    6. JDBC、JSP2.0、Servlet2.4、JavaBean编程;Tomcat服务器使用、Jbuilder及Eclipse 等集成开发环境;
    7. Linux操作系统中的Java程序开发、Linux系统管理;
    8. Java Web编程提高课程:JDBC进阶、高效分页处理、过滤器使用技巧、Struts中动态表单验证、DispatchForm等;
    高级部分
    1. MVC设计模式、Struts架构核心工作机制、国际化、验证框架、Struts Taglib、ORM基础、基于Hibernate的企业级应用;
    2. JavaME手机游戏设计、界面程序设计、数据库程序设计、手机短信、多媒体短信(彩信)开发;
    3 .JavaEE核心技术、XML、Web Service、异构系统整合、分布式应用开发、WebLogic和JBoss等应用服务器;
    4 .CMM、UML与系统建模和设计、Rational Rose、软件工程和软件过程模型、版本控制及设计模式;
    6. Java 企业级应用开发提高课程:Hibernate使用技巧、设计模式(II)、Spring编程入门、提高Java EE应用的性能;
    .NET程序设计
    .NET架构、.NET桌面和Web程序设计、.NET与JavaEE平台应用的整合;
    职业素质
    IT职业规划、沟通技巧、团队合作、专业技术规范、面试技巧等职业技能培训。

    2.总结本学期这门课程的体会

          学习软件工程这门课程已经有一个学期了,整一个学期下来,我收获了很多,在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。

          这门课程教给了我们在完成一个实际项目时的一般程序及过程,我认为这是一份非常具有实际意义的教学内容。当我们在毕业之后,这是我们实际要运用的一项非常 有用的技能,而且不仅仅局限于软件工程的范畴,我们即使是从事与其它行业,也是要从需求获取开始,一直有条有理地到最后完成项目。应该说这就是这门课的价值所在。

         小组项目也增加了合作性的锻炼,在以后的日子能更好的工作学习。

    3.对课程的建议

         自行分组有助于同学们在学习过程中互帮互助,更加高效的完成项目。

  • 相关阅读:
    Win10系统的开机启动项如何去关闭?
    如何对Win10电脑文件夹选项进行设置?
    DNS缓存失败怎么解决?
    如何关闭Win10系统的时间轴功能?
    怎么处理Win7电脑打开软件速度慢的情况?
    Win10带有网络连接的安全模式怎么开启?
    如何解决Win10电脑网速慢的问题?
    【Beta】Scrum Meeting 5
    【Beta】Scrum Meeting 4
    【Beta】Scrum Meeting 3
  • 原文地址:https://www.cnblogs.com/HAOZHE/p/5582685.html
Copyright © 2011-2022 走看看