软件工程的第一次作业

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软件的特殊性    

  • 复杂性
  • 不可见性
  • 易变性
  • 服从性
  • 非连续性

   1.2.2软件工程与计算机科学的关系

         1.偏理论的领域

扫描二维码关注公众号,回复: 7232554 查看本文章
  • 计算理论(Theoretical Computing)
  • 信息和编码理论(Information and Coding Theory)
  • 算法和数据结构(Algorithm and Data Structure)
  • 形式化方法(Formal Methods)
  • 程序设计语言(Programming Language)

       2.偏实践的领域

  • 计算机体系结构(Computer Architecture)
  • 并行计算和分布式系统(Concurrent,Parallel and Distributed System)
  • 实时系统和嵌入式系统(Real Time and Embedded System)
  • 操作系统(Operating System)
  • 计算机网络(Networking)
  • 科学计算(Scientific Computing)
  • 安全和密码学(Security and Cryptography)
  • 人工智能(Artificial Intelligence)
  • 万维网(World Wide Web)
  • 软件工程(Software Engineering)

 1.2.3软件工程的知识领域

        软件工程的三大类基础知识领域:

  • 计算基础
  • 数学基础
  • 工程基础

   1.2.4软件工程的目标——创造“足够好”的软件

         软件工程就是把软件中的Bug消灭掉的过程,Bug的多少可以直接衡量一个软件的开发效率,用户满意度,可靠性和可维护性,例如:

  • 用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。
  • 可靠性:某个软件经常会崩溃,某个操作系统时会时不时死机,某个网站往往在最需要的时候登不上去。
  • 可维护性:某个软件太难维护了,维护人员表示需要更多的资金和时间来维护这个软件,甚至建议推倒重写。

P18-2

1.团队模式和团队的开发模式有什么关系

2.软件工程和系统工程有什么区别

3.未来的生活中,人工智能真的会取代一些劳动力的工作吗

4.软件工程师的职业发展有哪些

5.什么是结对编程,为什么要做结对编程

P18-3

     社交软件:微博,知乎,微信,QQ

              目的:了解新闻,了解社会,扩大自己的交际范围,更全面的了解社会新闻,微信和QQ在APP刚出的时候就下载了,而微博和知乎是高三之后下载的,使用感受 良好,所以就一直使用了,这些社交软件相对更新频率较高。

     学习软件:百词斩,墨墨,腾讯课堂

             目的:为了更好的学习英语和专业课,使自己在课余时间中有好的资源可以观看和查询,这些学习软件都是在相应学科中APP下载量靠前的,所以在大一接触大学 科目之后就下载开始学习了,学习软件有免费的课程,也有需要付费的内容,一般根据自己的需求下载就行,更新频率较低。

      视频软件:腾讯,爱奇艺,优酷

             目的:丰富课余生活,观看电视剧或者电影,这一系列软件在刚换手机的时候就已经下载了,这几个APP包含当下较多的热门电视剧,所以下载了,通过用户开通VIP和使用流量和下载量盈利,更新频率较高。

猜你喜欢

转载自www.cnblogs.com/19980712mj/p/11487844.html