软件的本质与软件工程科学(2)

知识点

  1. 用简短语言给出分析与设计的理解

    分析与设计的过程就是对客户提出的需求进行系统的研究,并在研究过程中对其进行精简和整理,分析过后得到可行的有价值的需求版本,然后再对其进行具体的功能与界面的设计,从而提出软件制品的可行方案。

  2. 一句话描述面向对象的分析与设计的优势

    面向对象的分析与设计从客观事物的角度出发,对事物进行属性分类与行为描述,符合人为思考方式,项目的实现方式与可理解性简单。

  3. 简述UML(统一建模语言)的作用以及考试范围

    UML用于将OOA(面向对象分析)与OOD(面向对象设计)用统一的符号表示出来,能够准确地呈现对象之间的关联关系以及自身行为。作为一种语言,UML能够展示项目结构,帮助项目参与者更好地理解项目。

    考试的时候我们比较关注的图是用例图、静态图【类图、对象图、包图】、行为图【交互图(循序图、合作图),状态图,活动图】、实现图【构件图、部署图】

  4. 从软件的本质角度来看,软件范围(需求)控制的可行性

    软件具有复杂性、一致性、可变性、不可视性。软件开发本身具有可变性,而任何微小的需求变化都可能对软件的设计开发造成很大的影响,会影响软甲开发的难度,提高复杂性,如果不对软件的需求做出控制,会无意义地增加开发难度,对软件制品的质量产生负面效果,所以控制软件需求是必须的。

    在需求分析与设计的过程中,我们可以围绕软件开发的复杂性,对现有的需求进行评估,同时围绕软件开发的成本进行调控,并对其可变和不可视的环境变化,也就是意外改动进行一致性的冗余设计,由此可以使得软件生产的预算、工期、意外变化等在一定程度都在我们的掌控之中

团队kanban

由于在团队中负责产品及项目管理,所以我在项目中创建了4个project用于Kanban管理,分别是前端,后台,UI和项目管理,分别由前端、后端、UI和产品方面负责的同学进行运行和维护,具体的内容在项目的readme中也有解释

kanban1

一共有两种类型的列设置,一种项目管理用的management,分别有todo、in progress、need review和done,分别表示待办、进行中、待查和已完成

management

另一种是UI/frontend/backend三个部分的看板,分别有needtriage、high priority、in progress和close,分别表示待办、高优先级待办、进行中和已结束

another kanban

UMLet绘制练习

练习1:UML和模式应用(第三版)P193_图16-17 单实例类

class

  1. 右上角拖拽类图到左侧工作区
  2. 修改类名称:右上角添加1表示仅创建一个实例(可选)
  3. 修改类属性:属性开头结尾添加下划线 _ ,该属性呈现下划线效果
  4. 修改类方法:方法开头结尾添加下划线 _ ,该方法呈现下划线效果

练习2:UML和模式应用(第三版)P193_图16-16 关联类

class2

  1. 拖拽类到工作区并修改内容
  2. 拖拽实线到工作区,properties改为 lt=- r1= r2= Employs
  3. 拖拽虚线到工作区,properties改为 lt=.
0%