[2017BUAA软工]第1次个人作业

  • 快速看完整部教材,列出你不懂的5-10个问题,发布在你的个人博客上。

1. 为什么说软件是人类创造的最复杂的系统类型?大型建筑、飞行器甚至长篇小说的结构也可以非常复杂,并且容易变得难以理解和维护,认为软件系统十分复杂是不是因为软件工程还没有充分发展?

2. 用形式逻辑的方法验证需要高可靠性的大型软件的正确性是否可行?例如航空的软件系统。

3. 如何发现社会的潜在需求?类似小黄车这样的项目,之前从未有人提出来过,这种颠覆性的创新是如何提出并且恰好被市场认可?

4. 为什么作者坚持认为代码应该手写?用技术提高写代码的效率,除了造轮子,实现代码的自动生成是否也是一条出路?

5. 作为领导者,当团队急需看到成就时,是应该更多依赖直觉快速决策还是依赖分析决策?

6. Program Manager 如何保持和开发、测试、UX等人员平等的地位?如果PM负责统筹规划,其他人员是否还是他实际意义下的下属?如果PM和DEV发生不可调和的分歧,该听PM的吗?

7. 该如何控制项目的风险?特别是在中国当前的经济、文化政策下,很难预知软件发布时是否出台了更严格的审查政策,在这样的环境下,如果资金和人力不丰厚,如何保持项目的健壮性?

8. 客户不断增加新需求,打乱开发流程该怎么办?如何让软件架构适应不断变化的需求?

9. 一般的项目经理需要怎样的技术能力?工程师觉得项目经理不懂技术,不服领导,是否有道理?项目经理是否应该有足够的技术功底?

10. 作为以编程为生的程序员,在这个人人会编程的年代,保持不可替代性的方法,除了学习软件工程等专业开发知识,还有什么?

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

1. “软件(software)”一词用于描述电脑程序最早出现在1958年1月,由John W. Tukey在Princeton大学提出.(http://www.historyofinformation.com/expanded.php?id=936)

2. “软件工程”在1968年,由Peter Naur和Brian Randell提出,在Garmisch, 德国。(《构建之法第二版》,邹欣,P19)

3. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (提示:搜索一下Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rationale,Apple XCode)?

Microsoft TFS:

优点:

    • 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用
    • 集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM
    • 能与 VS 无缝接合

缺点:

    • 用ASP实现,用浏览器访问很慢
    • 团队的邮件细节配置很复杂

Git:

优点:

    • 免费的开源软件
    • 很好地实现分支、合并、提交、回滚
    • 项目安全性好,误操作警告丰富

缺点:

    • 概念过于复杂
    • 语法设计比较随意
    • 对初学者不友好,代码封装性差
    • 总有办法破坏版本库的内容

Mercurial:

优点:

    • 命令有双字母简称
    • 命令兼容svn
    • 命令封装性好
    • 服务器部署相对容易

缺点:

    • 分支管理不灵活
    • 支持社区略差

Github:

  优点:

    • pull request和issue功能方便社区协作
    • 个人展示、合作平台
    • 有大量优秀的开源项目

缺点:

    • wiki 功能太弱
    • 学习曲线陡峭
    • 可能未来某天被墙
    • 企业应用费用太高

Bitbucket:

优点:

    • 支持私有免费项目
    • 支持git

缺点:

    • 受欢迎度不如Github
    • 网站功能不如Github丰富

Trac:

时间: 2024-11-06 11:15:07

[2017BUAA软工]第1次个人作业的相关文章

[2017BUAA软工]第0次个人作业

第一部分:结缘计算机 1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 我觉得我选择计算机系完全是误打误撞吧.当时我的分数上北航是没问题的,所以填专业时就是机械,电气,自动化,计算机等专业一个一个报,反正都不了解,更不用说感兴趣吧.应该是计算机专业排在第一个然后就被录取了...不过我觉得我真的很幸运,来到这里才知道北航的计算机系是相当不错的. 大学之前没有接触过编程知识.我觉得高中时数学的程序框图可能是我接触的唯一的和程序有关的东西...在我们学校听说过物理竞赛,化学竞赛, 数学

软工网络15个人阅读作业1

软工网络15个人阅读作业1 Task1:注册个人博客账号 博客园地址:齐畅 http://www.cnblogs.com/qichang/ Task2:注册码云账号 目的:管理你的项目,记录(源码.文档,历次版本变更,bug发现与修复)等信息. 码云地址:https://gitee.com/hudkahfk/ Task3:完成博客-阅读与思考 阅读参考材料,并回答下面几个问题: (1)回想一下你初入大学时对网络工程专业的畅想 当初你是如何做出选择网络工程专业的决定的? 答:听专家意见报的志愿,他

软工第0次个人作业

一.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 首先说明,在进入大学之前,对于计算机专业的相关问题一无所知,对编程一无所知,对于计算机的理解仅仅存在于玩游戏和瞎捣鼓的层面上,唯一感兴趣或者自己能够想到的问题就是计算机的硬件是如何处理我们的操作指令的,软件又是通过怎样的方式写成的. 抱着这样的观点,以及相比于其他的工科专业,计算机专业给我有一种高大上的感觉,充满科技气息,再加上口耳相传的计算机专业人员在未来一定会发挥重大作用,报酬丰厚等等原因,最终选择了计算机专业,这也是我的第一

[福大软工] W班 团队第一次作业—团队展示成绩公布

作业地址 https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/906 作业要求 根据已经组队的队伍组成, 每个队伍发表一篇随笔,包括: 队员姓名与学号(标记组长),其中3-5人一组,特殊情况经老师允许后可以突破限制:(1分) 队名(体现项目内容,并要求有亮点与个性):(1分) 拟作的团队项目描述:一句话(中英文不限):(1分) 队员风采:介绍每一队员的风格.擅长的技术.编程的兴趣.希望的软工角色.一句话宣

[2017BUAA软工]第零次作业

第一部分:结缘计算机 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 我当初选择计算机,是因为:1.北航的前辈对北航计算机专业评价非常高:2.我也喜欢通过编程来代替我完成一些繁琐的任务(如,用按键精灵写简单的脚本来打游戏)3.我觉得计算机很神奇,怎么靠电路完成了这么多神奇的操作(如,IO.计算.存储等) 我觉得我的条件:1.肯定在dalao们面前毫无竞争力,不过也不至于就因此无法弥补差距2.在学习两年后,感觉当初dalao们的一些很666的知识,现在看来其实也不算太难掌握(

2017BUAA软工第0次作业

第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 我在上大学之前,其实一直就没怎么考虑过自己以后想要选什么专业,只知道一个大致的方向一定是理工科.毕竟大学之前,只有一个目标,那就是高考嘛,高考之前,一切都是虚的.考完以后,面对自己不上不下的分数,照往年的资料胡乱圈了几个学校,就开始面对五花八门的专业发愁了,物理,电子,生物,化学,看起来都挺有意思的(因为自己高中的时候数理化竞赛都搞过一点).忽然瞄到七个字:"计算机科学与技术",心想,要不就选计算

[2017BUAA软工]第一次个人项目 数独的生成与求解

零.Github链接 https://github.com/xxr5566833/sudo 一.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划     · Estimate · 估计这个任务需要多少时间 10   Development 开发     · Analysis · 需求分析 (包括学习新技术)  120   · Design Spec · 生成设计文档  60   · Design

软工2017第三周作业之找bug——测试报告

作业要求来自:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/957 环境:windows7  cmd命令行 一.被测试程序的作者:吴雨丹 吴雨丹的代码git地址:https://git.coding.net/clairewyd/wf.git 1.标题:没有用控制台命令输入,输入格式不对 2.内容: (1)重现步骤:命令行打开到含有wf.exe的文件夹下面,按照SPEC的命令执行命令进行测试 (2) 结果:出错.如下佐证材料中截图

软工网络15个人阅读作业2——提出问题

本周作业 通读<构建之法>后提出的五个问题 问题一:见书本P8软件工程是什么 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程. 软件工程包括下列领域:软件需求分析.软件设计.软件构建.软件测试和软件维护. 软件工程和下列的学科相关:计算机科学.计算机工程.管理学.数学.项目管理学.质量管理.软件人体工学.系统工程.工业设计和用户体验设计. 我的理解:<构建之法>这本书是服务于我们的学科软件工程的,所以我当我在绪论中看到这个问题时,就产生了兴趣.软件工程