第一章 概论 1-1 软件=程序+软件工程
软件架构(Software Architecture)、软件设计与实现(Software Design,Implementation and Debug )
源代码管理(Source Code Control)、配置管理(Software Configuration Management)
质量保障(Quality Assurance)、软件测试(Test)、需求分析(Require Analysis)
程序理解(Program Comprehension)、软件维护(Software Maintenance)
服务运营(Service Operation)、软件的生命周期(Software Life Cycle, SLC)
软件项目的管理(Project Management)、用户体验(User Experience)
国际化与本地化(Globalization & Localization)
第一个推论:软件=程序+软件工程 扩展推论 :软件企业=软件+商业模式
软件开发四个阶段:
1.玩具阶段;
2.业余爱好阶段;
3.探索阶段;
4.成熟产业阶段;
1-2 软件工程是什么?
1-2-1 软件的特殊性
复杂性(Complexity)、不可见性(Invisibility)、易变性(Changeability)、服从性(Conformity)、非连续性(Discontinuity)
1-2-2软件工程与计算机科学的关系
计算机科学偏理论领域:
计算机理论、信息和编码理论、算法和数据结构、形式化方法、程序设计语言
计算机科学技术偏实践领域:
计算机体系结构、并行计算和分布式系统、实时系统和嵌入式系统、操作系统、计算机网络、科学计算、安全和密码学、人工智能、计算机图形学、计算机视觉、多媒体、数据库和大规模数据处理
万维网、自然语言处理和语音、人机交互、软件工程
1-2-3软件工程的知识领域
生命周期:软件需求,软件设计,软件构建,软件维护,软件测试
专门领域:软件配置管理,软件工程管理,软件工程过程,软件工程模型和方法,软件质量
理论基础:计算基础,工程基础,数学基础
1-2-4软件工程的目标——创造“足够好”的软件
用户满意度;可靠性;软件流程的质量;可维护性;
P18-2
1:第2章P26讲述单元测试必须由最熟悉代码的人来写
代码作者虽然了解代码,但是没有其他人提供的帮助和测试的意见而只是作者自己的想法会不会有局限性?
2:第6章P115提到了长期任务,这种任务相对比较艰难且对项目很重要,完成这些任务需要超过 Sprint所计划的时间,作者只提到这些任务往往在短周期中的迭代中得不到应有的重视,如何较好的解决这类问题?
3:第7章P130充分授权和信任问题;
如果实际开发中,当所信任有能力工作的人中途离开或者遇到难题长期未解决,其他成员对这个人产生质疑时,如何解决问题?
4:第14章P311软件开发过程三个特性:好、快、便宜。
如何确保开发过程中,进程快又成本便宜的情况下,软件的功能又好?
5:第17章P403绩效管理
软件团队成员都是互相依赖的,有些事并不是一个人独立完成,如何确定每个人工作量从而确定绩效?
P18-3
手机软件分类
购物软件:毒 nice 小红书 淘宝 考拉海购
交友软件:QQ 微信 新浪微博
听歌软件:网易云音乐 QQ音乐 喜马拉雅
毒:鉴别服务领域的开创者,集潮流正品装备交易,球鞋潮品鉴别查验,互动社区于一体的新一代生活方式平台
通过用户购买,查验,鉴别来获取盈利
微信:全方位的手机通讯应用,可以群聊、视频语音通话、分享生活,让人耳目一新的移动生活方式。同类软件qq更适合工作,微信较贴近生活,两个软件属于腾讯公司产品,都是当前人们必备的软件,在交友软件一直是最受欢迎的。