一.建立博客并介绍自己
这个作业属于哪个课程 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713 |
这个作业要求在哪里 |
https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713 |
我在这个课程的目标是 |
学习更多关于软件工程的知识 |
这个作业在哪个具体方面帮助我实现目标 |
软件制作全程 |
作业正文 .... |
https://i.cnblogs.com/EditPosts.aspx?postid=10557519 |
我的博客地址 https://www.cnblogs.com/Czay/
我是来自西南石油大学计算机学院软件工程2班的张鑫,目前主要学习ACM,然后一些专业知识。然后经常会在CSDN上写一些自己学到的东西,如果大家有需要的可以去看看 地址 https://blog.csdn.net/qq_41243063
二.阅读与思考
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
- 因为软件工程前景比较好,而且自己比较喜欢计算机
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
- 一般符合吧,有些课程其实在我看来没有什么必要,但是一些专业课程还是非常好的,很有帮助
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
- 我觉得是我喜欢的领域,也是我擅长的领域,因为喜欢所以会做好,所以会擅长
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
- 会。泸州或者成都,开发公司,软件工程师。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
- 算法,因为在ACM学习了两年,数据结构,数据库等等,代码量上万是肯定的。
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
- 在软件制作管理分析上还有很多欠缺
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
- 工作
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
- 优势是能多些工作经验,劣势就是知识上不如别人
- 针对你的选择,你给自己的大三设定的规划安排是什么?
- 在ACM比赛中拿奖,在数学建模比赛中拿奖,自己学会制作一些软件,网页之类的
三.提有质量的问题
问题一:都说程序=数据结构+算法,那么算法到底在程序中占了什么比重和什么地位,作用。因为我在ACM团队一直学习算法,所以还是有些疑惑(来自第一章概论)
问题二:如何在实际的工作中,做好一个软件工程师和IC,除了书上说的一些和技能外,还需要什么。因为我有了解到其实很多在学校里能力很强的人,不一定能做好。(来自第三章软件工程师的成长)
问题三:结合编程既然有那么多的好处,那么为什么在很多企业或者公司里面个人编程的比重还是那么大呢,还有就是如果个人不想结合编程,因为觉得自己的代码看起来方便舒适,那么该如何解决呢。
当然我知道有些公司都是每个人写一个板块,但是不免有些公司不会这样。而且有些人就是独来独往,代码风格迥异。(来自第四章两人合作)
问题四:成本,质量在软件的制作工作中,各自占的比重是如何的,之前老师在课堂上说过,自己开价的话其实往往不能够准确分析出该软件的价值,可能别人准备了20万,但是你只开价10万,该如何平衡处理?(来自第八章 需求分析)
问题五:我们都知道IT行业是一个年轻的行业,当年龄过大以后没有足够的反应速度,创新能力和学习能力,那么既然我们处于这个行业。当以后年龄大了之后,该如何去学会创新,如何进步让自己不被淘汰呢,仅仅多做项目够吗?(来自第16章 IT行业的创新)
四.了解和调查源程序版本管理工具
Microsoft TFS
- 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用
- 集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM
- 能与 VS 无缝接合
不过仍然有几方面小问题令我不爽,不知道其他人有没有碰到这样的问题,还是我们没有掌握精髓:
- 整个系统是用 asp 实现的,用浏览器访问相当慢(不知道是不是服务器性能太低还是我个人用的电脑配置太低)
- 从 IE 上访问、填写各种开发、测试记录,也是很慢,感觉不如 mantis BT 这样基于 php 的那么方便、迅速
- 用 XP 系统无法访问,还得是64位的? 所以把电脑的整体性能拖下来了
- 团队的邮件细节配置比较复杂,我不关心的项目的变更集也会给我发邮件
- 测试用例功能具体有无好的应用案例?如何配合自动化测试?
链接:https://www.zhihu.com/question/21943395/answer/20986092
来源:知乎
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1:查看邮件或者通过其它方式查看一般开发者的提交状态。
2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3:向公共服务器提交结果,然后通知所有开发人员。
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
(来自搜狗百科)
Xcode
优点
海量内存
编辑Xcode 将赋予你创建诸如计算和渲染引擎应用程序的能力,这些应用程序使用64位内存定址。这非常适合数据集中的应用程序,其通过访问内存中的数据运行速度更快,远胜于磁盘访问。Xcode 将为你提供工具来建立并调试适合 Intel Core i5, i7 和 Mac OS X Lion 的 32 或 64 位应用程序,还可以让你创建包含32位和64位执行能力的 Fat Binaries。
构建提速
编辑众所周知,在构建中引进多重处理器可以提高速度,Xcode 能帮你实现这个明显的结论。利用支持 Rendezvous 的分布式构建功能,可以轻易地把编译工作量分散到闲置的电脑上来寄放构建,或者更好是在单独的电脑上开发一个专门的 Xserve 构建寄放区,快速处理那些耗时的任务。
Java开发
Xcode 4 拥有众多功能,为 Java 开发人员赋予了更多的开发能力。利用改进的 Code Sense 索引及 Ant 项目模板,Java 用户可以继续使用他们的标准 Java 包,并构建具有 Xcode 关键生产功能的工具。Java 代码填充为你提供类别名、方法、变量及其他关键信息。在 Xcode 中创建 Java应用程序比以往更容易。
输入转移
因为 Xcode 支持 CodeWarrior 风格相关项目参考,所以可以保证把 CodeWarrior 项目文件快速方便地转移到 Xcode。因为 Xcode 兼容 CodeWarrior 风格在线编码汇编,所以从 CodeWarrior 到 Xcode 转变的消耗得到降低, 也使得开发人员手动调整应用程序的临界性能部分。苹果电脑公司的 Mac OS X 综合开发环境Xcode 为各种类型的 Mac OS X软件项目提供项目编辑、搜索和浏览,文件编辑,项目构建和调试设备等功能。
Xcode 可用来辅助开发应用程序、工具、架构、数据库、嵌入包、核心扩展和设备驱动程序。Xcode 支持开发人员使用 C、 C++、Objective C、 AppleScript 和 Java。
Xcode 能够和 Mac OS X 里众多其它的工具协作,例如综合用户界面结构应用程序;编译器如 gcc、javac 和jikes;还有调试工具如 gdb。
另外,你可以用 AppleScript Studio 组增加一个 Aqua 界面到系统和应用程序脚本、命令行工具、以及网络应用程序中。以上三者无论如何都能在任何平台组合成最强大的脚本环境。
远程调试
调试全屏幕应用程序(比如游戏)具有很大的挑战性。将调试窗口放在什么位置呢?有了 Xcode 2.0 的绘图远程调试,所有强大的 Xcode 调试功能(例如数据格式程序、Fix、Continue)都可以在远程机器上用来调试应用程序。利用与远程调试阶段的加密连接,Xcode 可以保证你的数据安全。
(来自搜狗百科,SCDN)