个人作业-Week1


Part1:教材中不懂的问题

1.根据书中“除了前20的学校之外,计科和软工没有区别”所以计算机科学这个专业也许在我们学校是和软件工程有区别的,但是可以料想的是大多数人将来都会是码农,那么我们专业和其他学软件工程的人相比有什么优势呢?

2.既然用户的需求是不断变化的,那么如何才能在设计过程中最大限度地使得软件易于扩展?另一方面,如果这样考虑会不会又进入了过早优化的思维误区呢?

3.项目经理看起来是一个需要具有多领域知识的人(管理、营销、计算机),但大多数人都不会在大学毕业时就具备这些知识,那么如果将来想成为项目经理,现在可以做什么准备呢?各个部分的知识需要掌握多少?

4.团队开发中一个比较困难的问题是,团队成员之间如何更有效地沟通?特别是在学校的时候我们除了软工以外还有很多课程,平时也很忙,这样成员之间的沟通就非常困难了。

5.第四章中提到,变量命名的时候需要避免不必要的修饰词,判断必要或者不必要的方法是问自己,但是这种方法是否太过武断?毕竟看程序的都不是写程序的,对自己易懂,对别人就一定易懂吗?

6.16章中讨论了技术创新的问题,并用金钱和知识的转换过程来阐明科研和创新之间的关系,但是科研和创新是否真的是对立的过程?Viterbi创造的Viterbi算法让无数人受益,也让他获得了名誉和金钱,所以这两者之间也许并非是对立的,毕竟工业界的要求是要work,科研需要的东西也包括这一点。


Part2:软件和软件工程

  • 软件:文献记载中软件一词是在1953年由Richard R. Carhart提出,1958年John Tukey也在一篇论文中使用了这个词,这是软件一词在电子类文献中最早出现的记录。

  • 软件工程:Margaret Hamilton 1968年在阿波罗11计划中提出了软件工程这个词汇,她提出这个词语的原因是因为当时软件还不受到大家的尊重,所以她希望为软件以及它们的发明者争取应有的正统性和尊重,所以她使用“软件工程”这个词汇来将之与硬件还有其他工程学类做出区别。但是,Peter Naur和Brian Randell是第一次在正式文献中使用这个词的人。


Part3:项目管理软件相关

名称 具体信息 优点 缺点
Microsoft TFS 全称为Team Foundatioin Server,是微软研发的提供源代码管理、项目管理、测试发布管理等功能的工具。它的功能涵盖了软件开发的整个生命周期 功能强大基本没有其它类似的工具,和VS无缝对接。 访问速度慢,不适用于需求较少的小团队
Git Linus开发的免费开源的分布式源码管理系统 用户群体大,功能比较强大,分布式管理 指令复杂,上手困难
Mercurial 分布式版本控制系统,简称hg,比较流行 命令行简单,容易上手,跨平台 功能比起git来略少,分支管理不灵活
Github 用git做版本控制的项目托管平台 容易上手,用户量大,有issue和request 国内访问速度慢,还会被墙,不适合私有项目
Bitbucket 同时支持git和Mercurial的项目托管平台 支持免费的私有仓库,同时支持hg和hit,支持中文 用户量与git相比较少
Trac Trac是一个基于python的为软件开发项目需要而集成了Wiki和bug跟踪管理系统的项目管理工具,开源 和各种VCS轻松对接,性能高,免费 功能齐全但不强大
Bugzilla 开源的bug跟踪系统,管理软件中bug的全生命周期 开源免费,处理速度快,有中文版 界面不友好,安装繁琐
Rationale 一款在线绘制Arugument Map的网站 简单方便,容易上手 功能不够,没有客户端,推荐xmind
Apple XCode Apple开发的Mac上的IDE mac上可用,免费 相较于VS功能不足够

参看:
[1] https://www.zhihu.com/question/20401926
[2] https://www.zhihu.com/question/21905835
[3] https://www.zhihu.com/question/20403480
[4] https://www.zhihu.com/question/19591651
[5] https://www.zhihu.com/question/20053312
[6] http://www.cnblogs.com/mq0036/p/3725920.html


Part4:附加题-一些行数过百万的软件

下图展示了一些常见的代码行数过百万的软件:

一般软件的复杂度可以由行数衡量,我们熟悉的Windows操作系统算是一个非常复杂的软件了,Windows10的代码量达到了5000万行。
google代码量有20亿,不过这是所有google相关的网络应用代码相加的量。

转载于:https://www.cnblogs.com/Aria-K-Alethia/p/7592893.html

[buaa-SE-2017]个人作业-Week1相关推荐

  1. 「BUAA SE Pair Programming Work」软工结对编程博客

    「BUAA SE Pair Programming Work」软工结对编程博客 Part 1 前言 项目 内容 这个作业属于哪个课程 2023年北航敏捷软件工程 这个作业的要求在哪里 结对项目-最长英 ...

  2. 软件工程实践 2017 第一次作业

    砥砺前行 软件工程实践 2017 第一次作业 今年又重拾 cnblogs,上一次也是张栋老师教的面向对象程序设计,在我所经历过的教学方式中,这样的可以说是较为独特的--强烈的实践和理论相结合的模式,鼓 ...

  3. BUAA(2021春)大作业—— 文本摘要生成(数组字典树+快排=0.087s)

    BUAA数据结构大作业-- 文本摘要生成 看前须知 题目内容 问题描述 输入形式 输出形式 样例 样例说明 题解 思考和详解 参考代码 看前须知 要点介绍和简要声明. 题目内容 问题描述 在自然语言文 ...

  4. 软件工程2017第一次作业——随笔汇总

    随笔一 开通博客十一天了,还没开始写东西,今天软件工程第一节课结束了,开始了我的第一篇随笔,有点小心奋. 这篇博客就写以下几点: 1.自我介绍 2.本科对计算机的想法 3.对这门课的期待 一.自我介绍 ...

  5. 软件工程实践2017结对作业

    1.结对成员 031502643 朱晓健 031502626 孙浩楷 2.需求分析 Need 每到开学的时候,各大部门就会挤满青春广场通过各种方式来招收新成员.新生顶着烈日填写完申请表交由部门筛选,部 ...

  6. 软件工程实践2017第一次作业

    (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 高考之后,综合分数.地理位置.专业考虑,搭上了福州大学这趟动车,不过选报的专业给我打了个折,意外的在生工完成了一 ...

  7. BUAA 数据结构总结——大作业(文本摘要生成)

    << 其他专栏文章 文章目录 综合作业 1. 文本摘要生成(综合) 算法 「代码」 综合作业 1. 文本摘要生成(综合) [问题描述] 在自然语言文本处理中,有一种分析文本.自动抽取文本主 ...

  8. 2017寒假作业 计科1501 李俊01

    寒假预留作业1 1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 从小到大,遇到过不少老师,我最希望的和邹欣老师一样是健身教练和健身学员的关系,教练本身应该在所教的项目中是很有经验的身体力行者 ...

  9. BUAA OO第二单元作业总结

    一.作业设计策略 (一)第一次作业设计方案 模型:生产者消费者模型 两个线程:输入线程(生产者).电梯线程(消费者) 共享对象:请求队列 退出模式:输入线程读到null,退出run,并将null传入请 ...

最新文章

  1. windows客户端安装
  2. 警告:使用隔离见证可能会丢失你的比特币
  3. 数据结构 --静态队列 讲解
  4. Vue.js说说组件
  5. ProcessBuilder执行bash脚本
  6. 数据链路层(2层)数据帧结构
  7. 企业数据分析,搞定这3个重点事半功倍!
  8. 实验平均梯度与图像的模糊程度(matlab 代码)
  9. Linux下安装禅道
  10. java实现将base64编码转图片
  11. 【校园快递信息系统——开题报告 分享(仅供参考呀)】
  12. 2022-2028全球沉浸式投影行业调研及趋势分析报告
  13. QQ农场之新图鉴江苏印象
  14. 成功项目经理的能力提升
  15. iOS系统3DTouch全解析
  16. Windows BAT批处理脚本教程
  17. 微软远程桌面0x104_如何处理WIN10上的远程桌面错误0x104教程
  18. maven项目转gradle
  19. python怎么打印字典_Python中的字典
  20. 未能打开这台计算机的策略组对象,Windows7 组策略错误:“未能打开这台计算机上的组策略对象。您可能没有合适的权限。”...

热门文章

  1. redis 内存管理分析
  2. spring3.1声明式事务管理
  3. 《0bug-C/C++商用工程之道》首版勘误表
  4. Expression Blend实例中文教程(12) - 样式和模板快速入门Style,Template
  5. 安装Sarge(六) 安装开发环境
  6. 强化简书社交属性,淡化官腔官调
  7. 读《编码-藏匿在计算机软硬件背后的语言》有感
  8. JavaScript——(function(){})()立即执行函数解析
  9. ArcGIS Maritime Server 开发教程(七)Maritime Server 正确的开发模式
  10. .NET Core 3.0带来桌面支持(Windows Only)