202031607330-杨雯丽 实验一 软件工程准备—认识软件工程

实验一:软件工程准备

项目 内容
班级课程博客链接 20级卓越班
此次作业链接 实验一软件工程准备
我的课程学习目标 (1)学习博客园软件开发者学习社区使用技巧和经验。
(2)了解Github的基本操作。
本次作业在哪些方面帮我实现学习目标 (1)了解与掌握了博客园的基本使用
(2)熟练了Github的基本操作
(3)阅读了现代软件工程构建之法,为软件工程的学习做准备

任务1:填写调查问卷

任务2:在博客园平台注册个人博客账号和加入班级博客

任务3:注册Github账号

  • 已注册Github账号
  • 开源和Github的相关概念:
    • 开源项目托管平台:用于免费存放开源项目源代码的网站
    • Github是全球最大的开源项目托管平台,因为只支持 Git 作为唯一的版本控制工具,故名 GitHub。

任务4:点击链接填写博客园账号与github账号的链接

任务5:构建之法与博客首秀

1.软件工程是什么?                                                                           
  • 相关概念:
    • 把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程。
    • 软件工程包括下列领域:软件需求分析,软件设计,软件构建,软件测试和软件维护。
    • 软件工程和下列学科相关:计算机科学,计算机工程,管理学,数学,项目管理学,质量管理学,软件人体工学,系统工程,工业设计和用户体验设计。
    • 软件开发流程:人们在开发,运营,维护软件过程中有很多技术,做法,习惯和思想体系。软件工程把这些相关的技术和过程同一到一个体系中,叫“软件开发流程”。软件开发流程的目的是为了提高软件开发,运营,维护的效率,并提高软件的质量,用户满意度,可靠性和软件可维护性。
2.什么是软件及软件的特殊性?                                                                 
  • 软件:
    • 软件可以是运行在计算机及电子设备中的指令和数据的有序集合。软件有各种分类方法,以下是其中一中:
      系统软件:操作系统,设备驱动程序,工具软件等
      应用软件:用户使用它们来完成工作
      恶意软件:软件病毒等
  • 软件的特殊性:
    • 复杂性(Complexity):软件可以说是人类创造的最复杂的系统类型,软件的各个模块之间有各种显性或隐性的依赖关系,随着系统的成长和模块的增多,这些关系的数量往往以几何级数的速度增长.
    • 不可见性(Invisibility):工程师是“看”不到自己的源代码如何具体地在用户的机器上被执行的
    • 易变性(Changeability):人们自然地期待软件能在下面两种情况下“改变”: a) 让软件做新的事情;b) 让软件适应新的硬件
    • 服从性(Conformity):软件不能独立存在,它总是要运行在硬件上面,它要服从系统中其他组成部分的要求,它还要服从用户的要求、行业系统的要求
    • 非连续性(Conformity):输入上很小的变化,会引起输出上极大的变化
3.软件工程的目标是什么?                                                                     
  • 软件的Bug多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性。例如:
    • 用户满意度:用户使用时发现了很多Bug,影响了用户使用软件的效率
    • 可靠性:某个软件经常会崩溃,某个操作系统会时不时死机
    • 软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件。
    • 可维护性:某个软件很难维护,修复了一个问题,另一个问题又出来了。也没有足够的文档,需要更多的资金和时间来维护这个软件
  • 什么是Bug呢?
    • 简单来说,软件的行为和用户的期望值不一样,就叫Bug。
  • 目标具体是什么?
    • 付出较低开发成本,达到要求的功能,取得较好的性能;开发的软件易于移植,只需较低的维护费用,能按时完成开发任务,及时交付使用;开发的软件可靠性高等。
posted @ 2023-03-31 20:39  ponytials  阅读(40)  评论(1编辑  收藏  举报