zoukankan      html  css  js  c++  java
  • 软工个人博客作业

    项目 内容
    这个作业属于哪个课程 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:

  • 相关阅读:
    zoj 3627#模拟#枚举
    Codeforces 432D Prefixes and Suffixes kmp
    hdu 4778 Gems Fight! 状压dp
    CodeForces 379D 暴力 枚举
    HDU 4022 stl multiset
    手动转一下田神的2048
    【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
    poj 3254 状压dp
    C++中运算符的优先级
    内存中的数据对齐
  • 原文地址:https://www.cnblogs.com/wanzf-bky/p/12442087.html
Copyright © 2011-2022 走看看