软件工程(一)

初识软件工程

1.软件是无处不在的

按用途分为系统软件和应用软件以及游戏软件

我们用win7,win10就是系统软件,打王者荣耀就是游戏软件,使用wps就是应用软件,甚至我们家里的电冰箱,它身上也安装着软件!!

万物感知化,互联化,智能化,

这三个词语非常的高端,我的理解很简单,就是手机可以自动调节亮度,照相机可以自动对焦,都是有传感器啊,非生命也能感知到我们的世界了,互联化就是小米家居嘛,are you ok?

工程的意思就是把理论与实践结合,目的是有效的解决实际问题,挣钱!!

2.软件的本质特性

软件=程序+数据+文档

软件具有复杂性、一致性、可变性、不可见性

这是Linux的函数静态调用关系,运行起来更复杂,这就是软件开发的难点

 

软件本身其实优化到最后是理想曲线,但是产品的需求在变,产品在优化,那么背后的程序就要不断的去改,也就成了实际曲线

这个线太真实了,每次以为是大优化,结果带来一堆副作用,然后再把副作用平了。。。

在《人月神话》中,说开发软件的人,就像是皇帝的新衣中的裁缝,在做出来之前,看不到软件是如何运行的,前端还好,做一步看一步,后端就gg了,没什么反馈,只能看报错了没。。。

3.软件工程的产生与发展

有的项目做着做着就没了,最多的是推迟的或者有缺陷的,很少的项目能按时完成!!

cv代码的时候可是要注意了,看看前面的代码是基于什么样的条件,好吧,最好不要直接cv,而是去借鉴,借鉴前面的逻辑,但是细节上,在有必要的时候,要亲自完成,毕竟很多东西,就差那么一点点。简短的说,写代码最耗时间的是去构思实现,这方面,完全可以去借鉴,而实际的代码,不要大篇幅的cv,这样你实在不能保证里面的实现会出什么问题!

我们最好直接面向客户,做客户喜欢的客户,这样才能少走弯路,至于估计,我们最好一个功能一个功能的去做,我的意思是,重心先放在一个功能上,其他能简化就简化,等这个功能平稳了,在去把其他功能一个一个做出来。工作进度其实也有办法估计,只不过这样会把生产力限定,来个保守估计,然后习惯了,就快不了,但是很轻松了。

瀑布流就是最初的合作,我做哪里,你做哪里,现在的话,敏捷开发是很出活儿的,连续做类似的项目,把耗时的问题都优化,找到节奏,可以丰收。

4.软件工程的基本概念

理论与实践、大规模设计建造、复杂问题与分解、协作与过程控制

工欲善其事,必先利其器,买个好电脑吧,买个硬盘和内存条扩展一下自己的电脑也行

策略!!!!!!!!!!!!

总结就是,复用,分治,演进,折中

我们做不了完美的软件,只能做好用的软件

开发不好就做不出好软件,用起来也好不了

软件符合用户需求,和软件本身写的好,都是很重要的

软件是世界上最复杂的工程,用到很多人的智慧与代码,设计模式就是能让大家写的代码,像是一个人写的,好读好用,能让一群人的代码真正用在一起。

 

课后作业是用python3实现一个有优先级的计算器,

答案在我的文章---专栏---风车学院里面,

最后,这堂课讲的内容比较多,希望你也能有多收获,

还有一件事,看都看了,点个赞吧!!!

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值