2023.03.06课后作业

1、关于我的Flag

我的长期Flag是:在自己的领域有所突破,并且改变中国人的生活,使之更加便利和安全。

我的痴心妄想是:能在研发岗,虽然现在的我还是菜鸟中的菜鸟。(为什么自我感觉两个都是痴心妄想)

Making the world a better place through my creativity and efforts. And  let those who abandoned me regret it.

在网络上流传着一个恐怖的传说:凡是立的Flag必倒。

2、软件工程是否是教不怎么会写程序的人开发软件?

Software engineering, of course, presents itself as another worthycause, but that is eyewash: if you carefully read its literature and analysewhat its devotees actually do, you will discover that software engineeringhas accepted as its charter'How to program if you cannot.'

 大概意思:当然,软件工程本身是另一项有价值的事业,但那只是表面文章:如果你仔细阅读它的文献并分析它的追随者实际上在做什么,你会发现软件工程已经接受了“如果你不会编程,如何编程”的信条。

个人观点:不是。为什么这么说,作为一个程序员,如果他要开发软件,一定程度上有扎实的数据结构,编程能力等专业知识。软件工程的作用是帮助这些能力强的人学习开发一个软件,大大提高除了编程能力以外的开发软件的技能。软件工程好比一种从前人流传下来的算法,如果只有算法的思想,没有应用的能力,根本不能应用于实际(毕竟软件工程看重于实际应用)。所以拥有扎实、强大的编程能力以及软件工程的规范学习,才能高效、高质量开发。

3、从瀑布到敏捷——漫画解读软件开发模式变迁史

https://www.likecs.com/show-205163408.html

漫画的瀑布模型小屋和其他小屋有着明显的界限之外,其他几种模型就像一个四合院,有着不可分割的关系。这代表瀑布模式和敏捷开发模式是软件工业先后经历的两个阶段,而 Kanban,Scrum 和 Lean 则是敏捷运动的产物。

瀑布模型特点:软件开发按照一定顺序展开;客户不能更多参与开发的过程,因此客户和公司存在一定矛盾;需求和设计是不可以进行修改的;下游工作的开展严格依赖于上游交付件的完成情况,因此下游存在偷懒情况,存在时间的浪费;

敏捷开发特点:以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

二者区别:1、客户可以参与到软件开发的流程之中,缺点是越来越多的客户会提出不合理的需求。2、开发的同时还会进行测试工作,所有人都在同时工作。3、能够及时响应客户需求的变更,不断适应新的趋势。

Kanban管理:Kanban要求把开发中的任务,以 TODO List 的方式表现出来,可以使用物理工具,便利贴,也可以是软件工具。

Scrum:一种迭代式增量软件开发过程.在 Scrum 过程中,开发团队通常会进行冲刺 (Sprint),冲刺过程中,开发小组是专注于完成一组订单项的开发。

4、有人负责,才有质量:写给在集市中迷失的一代: https://www.ituring.com.cn/article/93633

读后感受

    1、许多人虽然会使用编程,但是仅仅掌握皮毛,没有往更深方向学习和研究。

     编程其实很容易,难的是能够真真掌握并且精通一门语言。这让我想起了很久之前知乎的一个问题:大学生似乎觉得自己学这么多语言都学不好,到底该怎么办。底下的评论打开了我菜鸟的思维。几乎所有的回答都差不多是一个意思:学习多门语言不需要全都掌握,只要能够精通一门语言就够了,并且能够真正掌握一门语言其实是很难的。确实,学得广而浅不如小而精。市场对于开发人员的要求绝不仅仅只是“用钉子把两块木板钉在一起”。真正的会编程是可以得心应手应用于实际。

     2、一些代码一直在模块化和被重用,软件质量在下降。

  代码模块化和代码重用可以提高开发软件的效率,不必再重新“造个轮子”,可以节约很多开发时间。这其中也有成功的例子——“美轮美奂的Unix大教堂的遗迹” 。考虑到Chat GPT大背景,我认为长时间的复制、粘贴势必会造成一种“抄作业上瘾”的习惯,软件开发人员的创新能力和实践能力在下降(当然这其中可能有其他原因造成,例如成本不够、开发实践短)。
  "Brooks提出了很多有见地的观点,其中一个就是所谓质量,只有在某人对它负责时才有意义,而这个“某人'只能是一个人,不能是几个人——二重奏除外。' " 
  
其实看文章的大部分内容还是有点云里雾里。

5、软件工程方法论对我们经软件开发有多大用处,谈谈你的看法。

软件功能工程方法论能提高软件的开发效率和软件的质量。从瀑布模型到敏捷开发的转变,帮助开发者认识到了客户的重要性。敏捷开发衍生出的kanban和scrum则是满足不同开发的需求,提高团队的执行能力和合作能力,减少了时间的浪费。所以软件工程方法论对软件开发有很大作用。

  菜鸟学习新词

.com时代:域名系统的时代。例:现在的更加注重浏览器的搜索框,而不是浏览器的网址栏。从过去讨论哪个网站更好到现在讨论哪个软件更好。

英雄已迟暮,unix市场节节败退?:http://www.360doc.com/content/17/0408/12/27698033_643849408.shtml

 

 

 

 

本文作者:VivianMarie

本文链接:https://www.cnblogs.com/Vivianmaire/p/17189389.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   VivianMarie  阅读(9)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.