• 软工个人博客作业


    项目 内容
    这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健)
    这个作业的要求在哪里 个人博客作业
    我在这个课程的目标是 学习敏捷开发的流程,对软件工程有一个系统的认识和实践
    这个作业在哪个具体方面帮助我实现目标 阅读教材《构建之法》,对软件工程的含义初步了解

    阅读讲义后的疑问

    1.在Personal Software Process中谈到

    我个人比较重视一个程序员原创的博客, 在面试的时候, 我们别空口吹思想, 一起来看看你写的原创博客吧

    我想知道博客对于软件开发人员的重要性很大吗?哪些东西需要写在博客上呢?很多时候写的博客之后自己就不会看了,写出来的博客仅仅是给他人提供参考吗?

    2.在结对编程中谈到了结对编程的种种好处,但我有个问题:

    如果两人的代码风格习惯有较大差异,例如程序模块的划分、命名习惯差异等,还能保证较高的编码效率吗?

    3.在测试的计划和执行 中谈到

    测试不是在所有的开发工作完成之后才进行,而是与开发几乎同步进行的。一个软件项目的各个功能都可以有自己的测试计划,它们可以在不同的阶段发挥作用。

    而在前面章节又提到了代码自审这一环节,我理解的是开发人员和测试人员要同步的对代码进行测试检查,如果开发人员审查后交给测试人员进行测试,会不会存在工作重复从而导致软件开发效率变低的问题?或者说,开发人员和测试人员的测试任务划分有没有具体的原则和标准?

    4.第4章写道

    函数最好有单一的出口,为了达到这一目的,可以使用goto。只要有助于程序逻辑的清晰题现,什么方法都可以使用,包括goto

    在我之前的印象中,goto语句因为易导致程序的结构混乱所以不推荐使用,而且一般goto语句可以用其他循环语句来实现。因此这里提到的可以使用goto让我感到疑惑,而且我认为使用goto一般也很容易导致程序bug。

    5.在软件工程师的职业道德关于软件工程师需要遵循的原则中提到

    综合考虑软件工程师,雇主,客户,用户与公众的利益

    当雇主、客户、用户和公众之间存在利益冲突时,作为软件工程师一般都会收到来自雇主方面的压力,这个时候应该如何抉择呢?之前爆出的各种app盗取用户隐私信息的新闻都间接反映出这个问题,所以很多时候软件工程师并没有多大权利决定什么。而现在很多大互联网企业中都是产品经理来决定用户需求,这使得程序员变成了一个只负责代码实现的岗位。。。

    软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人

    在工程环境中,最早的“软件”一词的发表是在1953年8月,Richard R. Carhart在RAND Corporation的研究备忘录中发表的。http://en.wikipedia.org/wiki/John_Tukey

    “软件工程”最早是由玛格丽特.汉密尔顿在1965年6月发布的computers and automation的服务清单中提出。

    目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点

    按用户数从多到少排序如下(源自wikipedia

    各版本管理软件优缺点:

    SVN

    • 优点
    1. 不必担心有什么数据损失
    2. 统一控制访问权限控制,利用代码安全管理
    3. SVN会关心所有的文件类型,不需要你来手工操作
    • 缺点:
    1. SVN服务器管理复杂
    2. 不是本地化操作,如果要删除分支,也是需要将远程的分支进行删除,这会导致大家都得同步
    3. 所有操作都需要通过服务端进行同步,这会导致服务器性能要求比较高。如果服务器宕机了就无法提交代码了

    Microsoft TFS

    • 优点
      1. 与VS契合
      2. 任务版上能将需求、项目进度一览无余
      3. 对于小团队而言,比甘特图更有用
    • 缺点
      1. 搭建、维护tfs比较复杂
      2. 整个系统是用 asp 实现的,用浏览器访问相当慢

    Gitlab

    • 优点
      1. 同样是基于web的git仓库,易于代码的版本管理
      2. 相比于github,提供免费的私有仓库
    • 缺点
      1. 相比于图形界面,命令行操作更流行,因而有一定的学习成本

    Github

    • 优点
      1. 有着海量的代码资源
      2. 上手快,设计简洁,代码托管、版本控制比较方便
      3. 提供免费的公有仓库
    • 缺点:
      1. 国内访问速度较慢
      2. 因为是分布式的,每台机器都commit的时候,有的时候忘记了push到远程服务器

    Trac

    • 优点
      1. 非常灵活,可定制自由度高
      2. 权限体系比较完备
    • 缺点
      1. 用户偏少
      2. 中文化不完整
      3. 核心功能少,不装插件没法用

    Bugzilla

    • 优点
      1. 开源
      2. 有中文版本支持
      3. 网络用户界面友好
    • 缺点
      1. 只能管理缺陷

    动手实践

    Git:

    Github:

  • 相关阅读:
    Web——[HCTF 2018]WarmUp
    栈的设置+栈的越界问题+栈的极限大小
    栈的概念
    检测点3.1
    字节型数据和字型数据的小结
    汇编语言(王爽)学习记录_第一章
    sqli-labs less-1 --> less-4
    五角星
    STD二手图书交流平台团队博客-登陆问题的解决
    STD二手图书交流平台团队博客-界面构建
  • 原文地址:https://www.cnblogs.com/wanzf-bky/p/12442087.html
Copyright © 2020-2023  润新知