前言
大家好,我依然是你们的老朋友,老寇,现在跟随我一起遨游代码的海洋,做好准备,马上出发。介绍:回想当年我还是一个小菜鸡的时候(咳咳,现在也是菜鸡),打开课本的第一页就是介绍软件是什么。<ps:这么多年过去了,我还是很怀念大学的时光。至于什么原因,你懂的…
正文
1.软件
1.1.什么是软件?
软件是计算机系统中与硬件相互依存的另一部分,它包括程序,数据及其相关文档的完整集合。<ps:软件很好理解,其实就是我们日常生活中的游戏、手机APP(QQ、微信、支付宝等等)>
1.2.硬件与软件的区别?
1.软件是被开发或设计的,而不是被制造(指硬件)的
2.软件不会“磨损”,但是会“退化”
3.软件的开发至今尚未摆脱手工艺的开发方式
1.3.软件划分为几种?
1.系统软件(操作系统软件、数据库管理软件、通信处理软件等等)
2.支撑软件(Java开发工具Eclipse、Idea等等)
3.应用软件(计算机辅助设计制造软件、系统仿真软件、人工智能软件、办公自动化软件、计算机辅助教学软件等等)
2.软件危机
2.1.什么是软件危机?
简单说一下就是软件技术的发展落后于复杂的软件需求,导致出现软件危机<ps:产品经理老是提需求,这导致与我们程序猿水火不容,产品经理活该被打死,我估计出现软件危机就是产品经理的错(开个玩笑),现在的软件技术发展得益于前辈们的幸苦付出,致敬前辈>
2.2.什么是软件工程?
将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件开发
2.3.软件生命周期(重点)
1.计划(在开发之前对软件的可行性、开发成本、开发效益进行评估,制定一套详细的实施计划,一般由软件设计师去做)
2.需求分析和定义(客户和产品经理登场啦,使劲的加需求,然后又改需求,<加钱,什么都可实现>)
3.软件设计(简单的说就是任务分配)
4.编码(程序员终于可以愉快的写代码啦)
5.软件测试(测试的老是和编码的有矛盾,我看你不爽,我就老是给你提bug)
6.运行和维护(苦逼的运维登场啦,很少睡一个安稳觉,一睡过头,辞职警告)