软件工程(一)-程序员宅基地

技术标签: 恰饭  python  五道口职业技术学院  其他  程序人生  软件开发  

初识软件工程

1.软件是无处不在的

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

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

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

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

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

2.软件的本质特性

软件=程序+数据+文档

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

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

 

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

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

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

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

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

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

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

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

4.软件工程的基本概念

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

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

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

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

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

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

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

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

 

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

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

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

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

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jvhbi/article/details/107979835

智能推荐

毕业进入HW,从测试工程师到项目经理,现如今在鹅厂年收入百万,我的给大家的一些建议..._测试转项目经理-程序员宅基地

文章浏览阅读1.9k次,点赞5次,收藏23次。毕业进入HW,研发测试岗,从测试工程师,到测试经理,再到项目经理。HW工作十年后离职,与人合伙创业三年,这中间我主要负责项目和市场,现如今在鹅厂,主要从事管理相关工作..._测试转项目经理

python查询整年节假日,指定日期的星期_python判断当年所有节假日-程序员宅基地

文章浏览阅读943次。python获取日期,python获取全年节假日_python判断当年所有节假日

速锐得在自动驾驶环卫车上装配TBOX完成车端适配-程序员宅基地

文章浏览阅读212次。自动驾驶一直是人类的梦想。在整个车联网发展的过程中,自动驾驶应用也是业界关注的热点。自动驾驶是车联网服务的第三阶段,通过高级或者完全的自动驾驶解放驾驶人的双手和大脑,将驾驶者的注意力解放出来,车联网业务形态将快速迭代和极大丰富,汽车空间真正开放给业务开发者,形成汽车和交通环境下的信息服务新生态。​在汽车智能化和网联化深度融合的基础上,自动驾驶应用通过车载TBOX和其他传感设备感知车辆及所处的环境,面对非视距的路况,依靠V2X协同信息交换和交通环境数据弥补。通过人工智能算法识别车辆环境和交通...

什么是微信小程序基础库_微信小程序开发基础库-程序员宅基地

文章浏览阅读3.7k次。由于公司需要开发小程序项目,就查看了小程序的官方文档 很多地方看到 有关基础库的东西在开发工具中的配置项中也看到了于是就在想 这个基础库 就是微信客户端的版本? 官方文档有一个 小程序的运行环境,基础库就是对这个环境的支持吗?那小程序是个啥呢 既不是原生App也不是传统浏览器的WEB应用,看起来像是在微信中虚拟出的一个APP。基础库是什么?基础库是小程序运行的必要环境,我们的开发主要就是面向基础库开发的。基础库封装了微信和手机的能力并提供给小程序使用,我们使用基础库提供的组件和API开发起来非常的_微信小程序开发基础库

Iterable 和 Iterator_iterable iterator-程序员宅基地

文章浏览阅读492次。Iterable 接口 Iterable 意为可迭代的、可重复的,实现 Iterable 接口的集合对象支持迭代,是可迭代。从源代码中可以看到,Collection 接口继承了 Iterable 接口。在 Iterable 接口中定义了三个方法:(1)该方法返回一个 T 类型元素上的迭代器。(2)该方法进行循环输出,对内部元素进行遍历,传递的参数是一个Consumer接口。(3)该方法提供了一个可以并行遍历元素的迭代器,以适应现在cpu多核时代并行遍历的需求。It_iterable iterator

Android音视频开发(一)音视频基础知识_android audiorecord 硬件加速-程序员宅基地

文章浏览阅读3.7k次,点赞6次,收藏28次。前言最近工作方面没有太多事,所以难得有些空闲时间,针对当前音视频app的流行,为了不让自己淘汰,提升自己的专业能力,于是决定学习音视频开发相关知识,然而自己这方面却是一个小白,所以希望通过博客的形式记录下自己一步一步学习的过程,也希望能给这方面的新手一些借鉴。学习计划1.了解音视频的基础知识2.了解SurfaceView,TextureView的实现和使用3.Android平台..._android audiorecord 硬件加速

随便推点

java 读取sqlserver image_PHP读取SQL Server Image类型字段问题记录-程序员宅基地

文章浏览阅读431次。PHP读取SQL Server Image类型字段问题记录写在前面​ 前几天朋友叫帮忙做一个小工具,读取ERP 的SQL Server数据库里面的款式表,用于网页展示,网站采用的是前后端分离架构。写在中间​ SQL Server数据库存储图片的字段是image类型,我直接用PHP读取出来的时候,会显示乱码。数据库字段内容如下,由于数据太长,只做部分截图: PHP代码如下:$serverName =...

java 项目部署不加载jar包_web项目部署后动态编译无法找到依赖的jar包-程序员宅基地

文章浏览阅读874次。很纳闷的一个问题,通过配置文件生成的java源码在本地动态编译没有问题,但是部署服务器后编译不通过,找不到依赖的jar包。通过网上查资料,找到一个兄弟提供的方法,问题解决了;下面贴出代码以供参考:package com.songxingzhu.utils.compile;import org.apache.commons.io.FileUtils;import com.songxingzhu.ut..._为什么服务器构建没有加入指定的jar包

mysql教程表怎么写数据库_MySQL(一) 数据表数据库的基本操作-程序员宅基地

文章浏览阅读3.2k次。这类文章,记录我看《MySQL5.6从零开始学》这本书的过程,将自己觉得重要的东西记录一下,并有可能帮助到你们,在写的博文前几篇度会非常基础,只要动手敲,跟着我写的例子全部实现一遍,基本上就搞定了,前期很难理解的东西基本没有,所以写博文的内容,就是以练题的形式来呈现的。需要用的资料以链接的形式给需要的同学。图形化工具 Navicat(前期不推荐用,直接手动敲):Navicat 密码:c7fs开..._数据库表怎么写

SSM框架详解_ssm框架内容-程序员宅基地

文章浏览阅读1.6w次,点赞29次,收藏194次。SSM框架详解,实例解释_ssm框架内容

java8 stream().map().collect()用法_rating1.stream().map(a -> a.score).collect(collect-程序员宅基地

文章浏览阅读184次。java8 stream().map().collect()用法有一个集合:List<User> users = getList(); //从数据库查询的用户集合现在想获取User的身份证号码;在后续的逻辑处理中要用;常用的方法我们大家都知道,用for循环,List<String> idcards=new ArrayList<String>();//定义一个集合来装身份证号码for(int i=0;i<users.size();i++){_rating1.stream().map(a -> a.score).collect(collectors.tolist());

OpenCV error: (-215:Assertion failed) _src.empty() in function ‘cv::cvtColor‘_error: (-215:assertion failed) !_src.empty() in fu-程序员宅基地

文章浏览阅读2.3k次。我解决这个问题的方法是:文件路径是对的,图像的格式是png,而代码中要求的格式是jpg,将png转换为jpg就能解决了。_error: (-215:assertion failed) !_src.empty() in function 'cv::cvtcolor

推荐文章

热门文章

相关标签