zoukankan      html  css  js  c++  java
  • 个人期末总结

    1.回顾你的课程计划 (第一周的计划), 你完成的程度如何?请列出具体数据和实际例子。

      回顾我的第一周为本学期制定的课程计划,我认为完成度大概在80%,剩下部分主要是对一些编程过程仍不熟悉,在编程过程出现一些错误,仍然需要大量时间去调试。在接下来的学习生活中,我将在这两方面提高自己。

    2.你在课程开始快速浏览了《构建之法》,提了 5 个问题, 请回顾那些问题, 自己回答它们。如果不能回答,为何软件工程课不能让你回答这些问题?

    (1)软件开发的质量是如何衡量的?

    主要总结为两个方面:
    1、外部质量:从用户、使用者角度去衡量;
    2、内部质量:从员工、开发者角度去衡量;
    一、衡量外部质量
    1、正确性
    2、易用性
    3、高效率
    4、适应性
    5、精确性
    6、完整性
    二、衡量内部质量
    1、可维护性
    2、灵活性
    3、可移植性
    4、可读性
    5、可测试性

    (2)如何衡量团队绩效

    1:衡量完成的故事点(或功能点),速率或价值。

    用"完成的故事点数"或者"速率"来取代"工作小时数"或"代码行数"无疑是个进步。因为前者相比后者更加关注团队在单位时间内完成了多少有价值的功能点,而不是单纯堆砌代码。

    2:工作质量

    工作质量不管是在传统项目中和敏捷项目中,都是必不可少的衡量条件。与质量相关的参数最直接的就是bug数量。提升质量也有很多方法,比如提升研发测试人员的专业技能, 制定编码和测试规范,增加自动化测试和回归测试的覆盖率,使用更先进的监控检测工具。

    3:任务完成周期(Cycle time)

    (3)个人开发流程特点

    (1)不局限于某一种软件技术,而是着眼于软件开发的流程,这样,开发不同应用的软件工程师可以互相比较。

    (2)不依赖于考试,而主要靠工程师自己收集数据,然后分析、提高。

    (3)在小型、初创的团队中,很难找到高质量的项目需求,这意味着给程序员的输入质量不高。在这种情况下,程序员的输出(程序/软件)往往质量也不高,然而这并不能全部由程序员负责。

    (4)PSP依赖于数据(工程师输入数据的时间代价、数据可能遗失或者不准确的风险、可能会出现一些数据不利于工程师本人的情况)

    (5)PSP目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度,工程师有可能很高效地开发出一个顾客不喜欢的软件。

    (4)团队协作的优势

    1、团队协作有利于提高企业的整体效能。通过发扬团队协作精神,加强团队协作建设能进一步节省内耗。如果总是把时间花在怎样界定责任,应该找谁处理,让客户、员工团团转,这样就会减弱企业成员的亲和力,损伤企业的凝聚力。

    2、团队协作有助于企业目标的实现。企业目标的实现需要每一个员工的努力,具有团队协作精神的团队十分尊重成员的个性,重视成员的不同想法,激发企业员工的潜能,真正使每一个成员参与到团队工作中,风险共担,利益共享,相互配合,完成团队工作目标。

    3、团队协作是企业创新的巨大动力。人是各种资源中唯一具有能动性的资源。企业的发展必须合理配置人、财、物,而调动人的积极性和创造性是资源配置的核心,团队协作就是将人的智慧、力量、经验等资源进行合理的调动,使之产生最大的规模效益,用经济学的公式表述即为:1+1>2模式。

    (5)怎样定义典型用户

    我们首先要定义用户的角色。正如戏剧中有正面和反面的角色,软件系统中也有受欢迎的和不受欢迎的典型用户。

    • 受欢迎的典型用户——指那些按设计者的期望使用系统的用户,如“网站的购物者”
    • 不受欢迎的典型用户——指那些有不正当目的的用户,如在一个房地产业主论坛中滥发房屋中介广告的用户——这些用户也许在别的系统中(如房屋中介论坛)是受欢迎的

    典型用户只是我们的设想,还要和这些典型用户的代表交流,理解用户,理解他们的工作方式和需要。然后再修改,细化典型用户

     3.看看还有什么新的问题产生,请列出来,建议列出 2-3 个新问题。 可以让老师和助教来回答

    (1)大多数的“程序”都是用单一的语言写的,如果软件有多个语言写成的不同模块,如何定义模块的接口呢?

    (2)一个初级软件工程师怎样一步一步成为一个卓越的高级工程师?需要做哪些方面的努力?

    4.你看了一些软件工程的文献, 你的团队也做了一两次 “事后诸葛亮”分析, 可以再去看一遍,现在有什么新的感想?

      在做项目之前一定要做好需求分析和数据库分析,这样呢,才有利于后续团队开发。

    5.对比一些技能评价表,你有什么提高? 还有什么收获是不能用数字衡量的?

      经过这一学期的学习,我认为我的编程能力和解决问题的能力得到了很大的提升,还有很多在项目团队开发中的经验是无法用数字衡量的,这对我帮助很大。

    6.设想一年之后, 你到了你职业发展的下一个阶段(高年级, 读研,工作),回头看这门课, 你对于这门课的教学方法, 老师和助教的工作,和其他课程的衔接,有什么意见和建议?

      我认为可以增加跨年级交流会,各年级的人相互促进相互学习开发经验,更有助于提高。这门课团队开发是一个亮点,“三人行必有我师”,多人结对开发不仅可以看到自己身上的缺点还可以从他人那里学到很多知识,这比自己慢慢摸索,慢慢学习要快得多。

  • 相关阅读:
    Markdown标签
    macbook使用
    git的使用
    HTTPS的原理
    javascript中的对象
    javascript中this的指向问题
    javascript中的闭包
    javaScript中的return、break和continue
    Promise对象
    ORACLE_11G归档空间满,由于数据库装完后使用的是默认空间是闪回区
  • 原文地址:https://www.cnblogs.com/mjhjl/p/14902036.html
Copyright © 2011-2022 走看看