• 软件工程——个人总结


    本课程对我带来的提升如下:

    学习和使用的新软件:

    Enterprise Architect、Git软件。

    学习使用的新工具:

    MarkDown排版。

    学习和掌握的新平台、新语言:

    MFC、Java平台。

    软件工程实践中,完成得代码行数:

    1000+

    学习和掌握的新方法:

    在课堂上学习了一些新方法,比如、单元测试、代码复审、分而治之等。本次项目主要负责程序代码这块,所以项目中基本没有学习到新方法。

    总结与展望:

    经验总结:

    团队成员一定要力往一处使,任何困难都能解决掉。还有就是认真、认真、认真一定要认真,做事不用心思考很难取得成果。

    对学弟妹的建议:

    在组团做项目的时候,团队成员的选取一定要谨慎,成员选的好项目就会好,成员之间一定要多交流探讨。

    团队经历及到达阶段:

    刚组成的团队大家在交流上会有些小摩擦,思想上也会有冲突,我们团队也不例外,有时候会为了一个小问题吵个把钟头都不能解决,但后来随着逐渐的磨合,
    我们渐渐的能把问题看到一块,解决问题来也是得心应手,合作的很愉快。我想我们已经到了团队的融合阶段。

    补充

    在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。

    1.软件工程师的职业发展方向如何,有哪些?
    课本第三章第二小节
    我看了这一段文字:软件工程师的职业发展——考级之路,计算机等级考试、全国计算机技术与软件专业技术资格考试等,并且谈了局限性。我有这个问题:软件工程师都必须走考级之路吗?看完课本我还是对软件工程师的发展方向不了解。我查了资料,有这些说法:走向管理、走向行业、走向专业,但是我还是不太懂,希望得到一针见血的答案。

    2.如何去评价一个软件的质量?
    第十四章第一小节
    书中提到软件的质量要看程序的质量和软件工程的质量,我查了相关资料,资料说了功能性,可靠性,易使用性,效率,可维修性等。
    我有这个问题:在开发软件期间,用户并未直接参与到其中,而我们是否只需要实现了一定的功能就不考虑其他要素,换句话说,软件的质量是否就是其功能的多少?能否避开那些繁琐的开发过程?

    3.分而治之(WBS)原理是什么?
    第八章8.7节
    书中提到WBS通常从最终的产品开始,一层一层往下,把大型交付件分割为小型,具体的交付件,持续分割下去。我有这个问题:那么每次进行这样的分割原则是什么?或者说原理是什么?我查阅了相关资料并未得到准确的答案,还是很疑惑,请老师赐教。

    4..关于图形建模都有哪些分析方法?
    第十一章11.2小结
    书中提到图形建模和分析方法(思维导图、实体关系图)等,但并未给出分析方法,我看了很久还是不理解,于是查找了相关的资料:资料说要理解,抽象:理解问题,过滤掉非核心信息, 找到合适的数学模型根据模型和解法,按部就班地解决问题。但我还是不理解,所以提问:是否要进行图形建模?图形建模有哪些分析方法?

    5.功能的定位和优先级的实现?
    第八章8.5小结书中提到了四种划分,就得到了功能分析的四个象限,有(杀手功能,外围功能,必要需求,辅助需求)。资料显示:如何准确划分优先级,根据我的经验,一般需求分析人员对用例的优先级划分上没有具体的原则和标准,往往跟着感觉走,要么是客户认为重要的,急着要实现的功能,优先级就高。那么如何定义分类这些功能的划分,从竞争对手中抢的先机?因为有时候不能保证感觉都是对的。

    学完软件工程后自我回答:

    回答问题1:
    学完软件工程后我认为软件工程师职业发展方向有两个。一、程序员、系统分析员、架构师技术经理、CTO;二、程序员、项目组长、项目经理、项目总监、CTO.这两个方向都是从低到高,从基层做起,所以我认为软件工程师的发展方向是个循序渐进的过程,方向比较明确,一步一步的发展。

    回答问题2:
    要评价一个软件的质量不能仅仅看其功能的多少,必须做出综合的评价。可以从移植性、功能性、可靠性、易使用性、效率、可维修性、这六个方面做出评价。功能性看软件是否实现了用户的所要求的功能;可靠性指在规定的时间和条件下,软件所能维持其性能水平的程度;易使用性指对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度;可维修性指为了满足用户需求、环境改变或软件错误发生时,进行相应修改所做的努力程度;效率指用软件实现某种功能所需的计算机资源(包括时间)的有效程度;移植性指在计算机间移植的容易程度。

    回答问题3:
    我认为分而治之的原理就体现在“分”和“治”上,分开处理,比如一块蛋糕一下很难吃掉,把它分成若干小块,就容易吃掉。我们在做项目的时候也是这样我们要把一个项目拆分成若干个需求,一个一个的完成。所以我认为分而治之的原理就是拆分处理,将大问题化成小问题,逐一解决。

    回答问题4:
    在软件工程中图形建模很有必要,建模就是给事物造出一个“模型”描述事物的属性、事物之间的关系。所以建模表达实体与实体之间的关系。方法:(1)思维导图法;(2)实体关系图法;通过查找资料还有如下方法:结构化方法、面向对象方法、面向目标建模方法、情景实例方法、形式化方法。

    回答问题5:
    关于这个问题我认为其实并没有具体的原则和标准,我查了很多资料还是理解的不够深刻,只能说优先级的高低应该理性思考,理性划分。比如说用户认为重要的,急于要实现的功能,优先级就高。这样说也并没有什么不对。课本上有(杀手功能,外围功能,必要需求,辅助需求),在做项目的时候我们应该按照实际确定这些功能的范围。筛选出这些功能,一一对应、我认为这样就可以实现功能的定位和优先级了。

  • 相关阅读:
    mallocbrk/mmap
    CMAKE相关
    cmake指定编译器版本及路径
    mmap 详解
    linux——tool 好好工具
    nm C /usr/lib/libstdc++.so.6 | grep runtime_error显示operator=存在
    程序可执行文件分析常用命令
    Linux中多种方法实时记录历史命令(转)
    HTML——CSS的基础语法1
    HTML的正确入门姿势——基本结构与基本标签
  • 原文地址:https://www.cnblogs.com/RealQ/p/7064474.html
Copyright © 2020-2023  润新知