[buaa-SE-2017]个人作业-Week1
个人作业-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相关的网络应用代码相加的量。
[buaa-SE-2017]个人作业-Week1的更多相关文章
- BUAA SE 个人项目作业
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 通过个人项目实践熟悉个人开发流程 一.在文章开头给出教学班级和 ...
- 个人博客作业Week1
个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...
- 集大软件工程15级个人作业Week1
集大软件工程15级个人作业Week1 孙志威 201521123077 博客园主页 码云地址 阅读参考材料,并回答下面几个问题 (1)回想一下你初入大学时对网络工程专业的畅想 当初你是如何做出选择网络 ...
- 团队博客作业Week1 --- 团队成员简介
团队博客作业Week1 团队作业1 我们团队是一个以功能团队模式组建而成的团队,我们总共有5位队员,分别是:李剑锋.陈谋.卢惠明.潘成鼎.仉伯龙. 中间的那位就是李剑锋,我们的PM(项目经理).性格热 ...
- [BUAA_SE_2017]个人作业-Week1
个人作业-Week1 疑问 教材中说,PM在衡量需求时需要方方面面的能力与研究.可是,当下许多互联网IT公司只承担外包业务,即客户给什么需求就实现什么需求,甚至可能不要求其它先进的功能.此时,开发团队 ...
- BUAA软件工程个人项目作业
BUAA软件工程个人项目作业 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 学习软件开发的流程 这个作业在哪 ...
- BUAA 2020 软件工程 热身作业
BUAA 2020 软件工程 热身作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! ...
- BUAA软件工程结对项目作业
BUAA软件工程结对项目 小组成员:16005001,17373192 1.教学班级和项目地址 项目 内容 这个作业属于哪个课程 博客园班级连接 这个作业的要求在哪里 结对项目作业 我在这个课程的目标 ...
- BUAA SE | 提问回顾与个人总结
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 深入理解软件工程 这个作业在哪个具体方面帮助我实现目标 ...
随机推荐
- P1120 小木棍 [数据加强版]
题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度,编 ...
- ASP.NET MVC中Section、Partial View 和 Child Action(转载)
概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在应用程序运行的时候动态创建的内容.给View添加动态内容的方式可归纳为下面几种: Inline cod ...
- postmark使用
一.Postmark原理 Postmark是由着名的NAS提供商NetApp开发,用来测试其产品的后端存储性能. Postmark主要用于测试文件系统在邮件系统或电子商务系统中性能,这类应用的特点是: ...
- 转载:【架构师之路】依赖注入原理---IoC框架
原文地址:http://www.cnblogs.com/jhli/p/6019895.html 1 IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象 ...
- 【数据结构与算法】001—栈与队列(Python)
栈与队列 1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征 2.队列(queue)是一种具有先进先出 ...
- Scala-字符串操作
package com.bigdata object StringO { def main(args: Array[String]): Unit = { val s1 = "Hello&qu ...
- # 课下测试ch02
课下测试ch02 1.假设下面位串是基于IEEE格式的5位浮点表示,一个符号位,2个阶码位,两个小数位.下面正确的是(AD) A . 3.5的表示是[01011] B . -1.0的表示[01111] ...
- 查内存命令之free
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页 回到顶级页面:PostgreSQL索引页 [作者 高健@博客园 luckyjackgao@gmail. ...
- 【转载】完成C++不能做到的事 - Visitor模式
原文: 完成C++不能做到的事 - Visitor模式 拿着刚磨好的热咖啡,我坐在了显示器前.“美好的一天又开始了”,我想. 昨晚做完了一个非常困难的任务并送给美国同事Review,因此今天只需要根据 ...
- 24-[jQuery]-属性,文档,位置,筛选
1.jquery的属性操作 jquery对象有它自己的属性和方法,我们先研究一下jquery的属性操作.jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 h ...