程序 = 数据结构 + 算法算法
软件企业 = 软件+商业模式数据结构
一个复杂的软件不但要有合理的软件架构, 软件设计与实现, 还要有各类文件和数据来描述各个程序文件之间的依赖关系,编译参数,连接参数等等. 这些都是软件构建的过程.架构
有些程序要配置不一样的界面, 运行在中文,英文或其余语言的操做系统上;有些程序还有32位版本,64位版本等. 这是 源代码管理的问题也叫 配置管理.工具
还须要一系列的工具,流程,和文档来保证程序的正确性,这些工具,流程应该达到很高的质量,才能保证开发出来的软件的质量. 这就是 软件质量, 具体的验证过程叫作 软件测试.测试
软件团队要从需求分析开始,把合适的需求梳理出来,而后逐步开展后续工做,如设计软件架构,实现算法,测试,到最后发布软件.大数据
尽快读懂已有程序,叫 程序理解.人工智能
给软件打补丁,修复问题,这叫软件维护或者服务运营.操作系统
这一过程就是 软件的生命周期.设计
在这一周期中,有人得负责 软件项目的管理.code
一个好的软件,即便功能和同类软件区别不大,但会让人感受很是好用,这就是 用户体验.
软件要处理不一样地区的用户对界面和功能的不一样需求,这叫作软件的 国际化和本地化.
软件开发的不一样阶段:
软件工程师把系统的有序的,可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括的领域:
复杂性
大型软件代码量巨大,并且不一样模块之间的关系愈来愈复杂。
不可见性
工程师只能看到的是代码和出错了的代码,但并不知道用户遇到问题时究竟是怎么样的。
易变性
人们不断地但愿软件能作新的东西和适应新的软件,但于此同时很难修改。
服从性
软件没法独立存在,必须依赖硬件。
非连续性
有些软件输入与输出不匹配。
计算机科学偏理论研究,是追求那种理想化、完美的真理,各个学科会独立深刻研究并出成果;
而软件工程偏向实践,追求短时间的效果,每每是不完美的,由于要对不可抗的现实因素折衷,会融合各个领域的知识去实现实际的问题。
理论是实践的基础,实践是检验理论的标准并帮助其探索地更深。
生命周期
1. 软件需求 2. 软件设计 3. 软件构建 4. 软件测试 5. 软件维护
专门领域
1. 软件配置管理 2. 软件工程管理 3. 软件工程过程 4. 软件工程模型和方法 5. 软件质量
理论基础
1. 计算基础 2. 数学基础 3. 工程基础
用户满意度
须要知足顾客的指望,解决她们须要解决的问题,且是高效的。
可靠性
关键时候别掉链子。
软件流程的质量
软件开发团队的默契度,进度是否及时。
可维护性
出了问题能够有方法解决。
永远撸不完的羊毛,人与人之间的传播, 从而跟风的使用。
目标不仅是为了盈利,而是想成为人们的基础措施.
APP 商店下载,大一, 体验良好。
接收反馈后修改Bug,发送更新消息,提示更新系统。
不断搞活动,推优惠。
这一章节里面大可能是理论知识的介绍吧,初步地了解到软件和软件工程是两种不同的概念。
软件工程在软件的发展中产生,它的特殊性、“工程”的概念、还有软件工程与计算机科学的关系,软件工程的目标在1.2
里面有说起。