软件工程基础 - 1st 个人博客作业

快速阅读《构建之法》后产生的几个疑问

1. 现在我的编程基础差,怎样才能通过自学提高编程能力?

2. 我学习&用中文已经7年多了,上课老师听讲几乎没有问题,可是在课下自己学习的时间,用每一门科目老师指定的中文教材学习仍然消耗太多时间、理解起来也比较困难,我要怎么克服这个问题呢?难道我在中国上大学,还要每次都花那么贵的国际邮费、买韩文教材学习......

3. 被限定的project时间短暂,结对编程的效率会比个人编程的效率高吗?

4. 如果在团队编程中想做测试,对于编程基础比较差的我来说,如何才能更好地做软件测试?编程水平一定要很高,才可以把一个软件测试得好吗?

5. 在团队中,是不是跟其他每一个组员关系比较好的人来做PM是最合适的?

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

i) 软件:1953年,Rand Corporation Research Memorandum,by Richard R. Carhart。

In 2000, Fred Shapiro, a librarian at the Yale Law School, published a letter revealing that Tukey‘s 1958 paper "The Teaching of Concrete Mathematics"[9] contained the earliest known usage of the term "software" found in a search of JSTOR‘s electronic archives, predating the OED‘s citation by two years.[10] This led many to credit Tukey with coining the term, particularly in obituaries published that same year,[5] although Tukey never claimed credit for any such coinage. In 1995, Paul Niquette claimed he had originally coined the term in October 1953, although he could not find any documents supporting his claim.[11] The earliest known publication of the term "software" in an engineering context was in August 1953 by Richard R. Carhart, in a Rand Corporation Research Memorandum.[12]

https://en.wikipedia.org/wiki/John_Tukey

ii) 软件工程:1968年,世界上第一个软件工程大会的题目,Anthony Oettinger

The term "software engineering", coined first by Anthony Oettinger[9] and then used by Margaret Hamilton,[13][14] was used in 1968 as a title for the world‘s first conference on software engineering, sponsored and facilitated by NATO. The conference was attended by international experts on software who agreed on defining best practices for software grounded in the application of engineering. The result of the conference is a report that defines how software should be developed [i.e., software engineering foundations]. The original report is publicly available.[15]

https://en.wikipedia.org/wiki/Software_engineering

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

i) Mercurial

Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。其是基于 GNU General Public License (GPL) 授权的开源项目。

http://baike.baidu.com/link?url=SrdO_mqwofBUq5mPy2v9dAdFQPMqaipBoXMdBijPARB4Cfhf9ZUR02Y-LlqsN3puDkzy9ajeACvS-cSK15Uo_KodzO6sYPTuSfPlLbw_jL_

ii) Git

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

http://baike.baidu.com/link?url=z7i51kq9yTvLEWZRH7LA6M3tgav0HNaGsd3ST1epoDqxW3WTaYJZYUtLzUR6MvkIZTOm4Zff-1pa6aybLrdfMoTGnX5ieBw-JsHvYNdtTQC

iii) Github

开源代码库+版本控制系统。Github拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法

http://baike.baidu.com/link?url=iL32UNSQcu1qzXtMG4JCa88cs-D-KJmsJniUPcJmDSnlnT5d3qdNK6vRNCbiFgycciS377F8c2ufFMtASJZB4_

V) Bitbucekt

BitBucket 是一家源代码托管网站,采用MercurialGit作为分布式版本控制系统,同时提供商业计划和免费账户。

http://baike.baidu.com/link?url=Lsx6fehij-jQZDX58GfAAsinxvY7cVOuIZ_zAldQm-BH-CbBjfoD2mgj_SlNmdNnpykSFNW06IHkjXUmPAQKUa

Vi) Bugzilla

Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System),它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。[1]

Bugzilla是一开源Bug Tracking System,是专门为Unix定制开发的。

http://baike.baidu.com/link?url=Sv8Mf-TcUqB_UedP7bJyyLk_jWO59zHuuW25qmbt7g61lzzZsVz1UKl4M6T5yiGLXYcBgZ3LZneKGuAyFgjTBK

Vii) Apple Xcode

Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发。Xcode是开发OS X 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计编码、测试、调试都在一个简单的窗口内完成。

http://baike.baidu.com/link?url=Qun0U5rW-BCjy_S2GTh9Pwao0rfUHCKNmtbGMH4zwZFVPihFyqyphABv5Gn1OmlZalvQFeXHLRyr6phNgWbFJ_

时间: 2025-01-01 08:28:05

软件工程基础 - 1st 个人博客作业的相关文章

软件工程——第五次博客作业

构建之法:现代软件工程--读后感 我是一名学习软件工程的学生,这学期我们学习了软件工程这门课程,教材使用的是邹欣老师编写的构建之法这本书.学习了里面的内容之后,感觉对自己的学习很有帮助,所以这里有一些看完这本书之后的一点小体会和大家分享,希望能够一起交流一下! 在读这本书之前,我眼里的软件工程师就是在办公室里安静的敲代码的工作.但看完这本书之后,才发现原来我的想法真的是太天真了,代码编写在一个项目开发中只是冰山露出的那一个小角,项目开发中的写文档需求,代码编写规范,代码的复审,以及编完之后的测试

https的博客作业

博客作业:分别使用httpd-2.2和httpd-2.4实现 1.建立httpd服务,要求: (1) 提供两个基于名称的虚拟主机www1, www2:有单独的错误日志和访问日志: (2) 通过www1的/server-status提供状态信息,且仅允许tom用户访问: (3) www2不允许192.168.0.0/24网络中任意主机访问: 2.为上面的第2个虚拟主机提供https服务: 前提准备: 172.16.1.1测试httpd-2.4,这是centos7系统 172.16.1.2测试htt

文件服务相关博客作业

nfs和sameba博客作业 博客实践作业: (1) nfs server导出/data/目录: (2) nfs client挂载/data/至本地的/mydata目录:本地的mysqld或mariadb服务的数据目录设置为/mydata, 要求服务能正常启动,且可正常 存储数据 (3) 客户端(lamp)部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载nfs server导出的文件系统至/var/www/html:验正其wordpres

C语言博客作业--一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 定义变量n,i,j,max等于0,a[]10用于存放输入的值,b[10]用于存放a[]中各个数有多少个; 输入n的值 i从0开始,每次加1,输入a[i]的值,直到i==n结束循环 i从0开始,判断i是否<n,,进入下一步,每次加一,直到条件不满足 j从0开始,判断j是否<n,,进入下一步,每次加一,直到条件不满足 如果a[i]==a[j],b[i]加一 i从0开始,判断i是否 输出a[j

博客作业1--抽象数据类型

一.作业题目 实验题目 试仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子.分母均为整数且分母不为零的分数). 有理数基本运算如下所示: 1.构造有理数R,元素x1,x2分别被赋以分子.分母值 2.销毁有理数R 3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母. 4.将有理数R的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母 5.有理数R1,R2相加,结果存入有理数R3 6.有理数R1,R2相减,结果存入有理数

第八次个人博客作业

软工课程总结 一.回望开学初对于软件工程课程的想象,回望博客开篇时对于这门课和这学期的期望 对比开课前的我,现在的我写的代码的规范性和可扩展性越来越好了,可以更快更好地完成工作,最主要的是通过结对编程和团队编程学到了如何与他人合作编程,编程过程中与他人的意见出现分歧如何解决,走过整个软件开发的所有过程,受益匪浅.       最开始由于作业的紧张,觉得太占用自己的时间,有想过放弃,但后来还是坚持了下来,随后的结对编程和团队项目,证实了我的决定是正确的,虽然我的贡献不是最大的,但我从项目中学到了很

个人博客作业——结课总结

阶段再感触 在本学期接触软工之前,对软件工程的认知就只有一个:写代码.通过这一学期两个团队开发阶段后,渐渐对软件工程有了更深入的了解,自以为已经具备了最基本的团队开发素养和能力了.我是爱码室团队的成员,在M1阶段我们由于经验的缺乏,只能紧紧跟着老师所提示的开发模式走,不一小心时间规划有误还有可能导致阶段性目标的完成不理想.而在M2阶段我认为我们的开发虽然收尾不是特别完美,但这一阶段肯定是成功的.我们总结了M1阶段的种种问题,以及老师和助教老师给予我们的建议,重视单元测试.代码复审和TFS源代码的

第零次博客作业

第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目标,可以说整个高三自己一直都是迷茫的状态,就这样一直保持到了高考.我当年高考是先出成绩,后填报志愿,等到成绩出来之后发现意外地比期望要高,而北航应该是最适合我的学校了.身为一个比较"宅"的理科男,我当时打算将专业锁定在"数学"."计算机"."

C语言博客作业—一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 Begin 输入整数个数N 定义数组a[N] 输入数组a for(i 0 to N-1){//进行N次判断 for(j 0 to N-1) if(a[i]和a[j]相等) count加一 i等于0//第一次判断 使max=count; n=i;//n放下标,max放次数 i不等于0且count大于max 使max=count; n=i;//重新赋值 count为0//每次循环count为0