1.1软件=程序+软件工程算法
程序,指的是源程序,他们是创建在数据结构上的一些算法,程序还要对数据进行操做,有些数据是静态的,有些是动态的,而一个复杂的软件不但要有合理的软件构架(Software Architecture),软件设计与实现(Software Design,Implementation and Debug),还要有各类文件和数据来描述各个程序文件之间的依赖关系,编译参数,连接参数等等,这些都是软件构建的过程。编程
源代码管理(Source Code Control)的问题——也叫配置管理(Software Configuration Management)。还有一系列的工具,流程和文档来保证程序的正确性,这些工具应该达到很高的质量,才能保证开发出来的软件的质量,这就是质量保证(Quality Assurance),具体的验证过程叫作软件测试(Test)。安全
新成员要尽快读懂已有的程序,了解程序的设计,这叫程序理解(Program Comprehension)。新老成员一块儿修复各类各样的问题,这叫作软件维护(Software Maintenance),或服务运营(Service Operation)。这一系列过程就是软件的生命周期(Software Life Cycle,SLC)在这一周期中,有人要负责软件项目的管理(Project Management)。微信
好的软件会让人感受很是好用,这就是软件的用户体验(User Experience)。软件要处理不一样语言,不一样地区的用户对界面和功能的不一样需求,这叫作软件的国际化和本地化(Globalization & Localization)。网络
软件=程序+软件工程的扩展推论为软件企业=软件+商业模式数据结构
1.2软件工程是什么分布式
1.2.1软件的特殊性 ide
1.2.2软件工程与计算机科学的关系工具
1.偏理论的领域学习
2.偏实践的领域
1.2.3软件工程的知识领域
软件工程的三大类基础知识领域:
1.2.4软件工程的目标——创造“足够好”的软件
软件工程就是把软件中的Bug消灭掉的过程,Bug的多少能够直接衡量一个软件的开发效率,用户满意度,可靠性和可维护性,例如:
P18-2
1.团队模式和团队的开发模式有什么关系
2.软件工程和系统工程有什么区别
3.将来的生活中,人工智能真的会取代一些劳动力的工做吗
4.软件工程师的职业发展有哪些
5.什么是结对编程,为何要作结对编程
P18-3
社交软件:微博,知乎,微信,QQ
目的:了解新闻,了解社会,扩大本身的交际范围,更全面的了解社会新闻,微信和QQ在APP刚出的时候就下载了,而微博和知乎是高三以后下载的,使用感觉 良好,因此就一直使用了,这些社交软件相对更新频率较高。
学习软件:百词斩,墨墨,腾讯课堂
目的:为了更好的学习英语和专业课,使本身在课余时间中有好的资源能够观看和查询,这些学习软件都是在相应学科中APP下载量靠前的,因此在大一接触大学 科目以后就下载开始学习了,学习软件有免费的课程,也有须要付费的内容,通常根据本身的需求下载就行,更新频率较低。
视频软件:腾讯,爱奇艺,优酷
目的:丰富课余生活,观看电视剧或者电影,这一系列软件在刚换手机的时候就已经下载了,这几个APP包含当下较多的热门电视剧,因此下载了,经过用户开通VIP和使用流量和下载量盈利,更新频率较高。