食品企业信息系统综合实现任务七
任务目标系统模块封装系统测试系统发布
任务描述在之前的系统实现中,我们已经通过函数实现系统模块化。但在实现的过程中,不知道如何将整个系统整合在一起,如何将每个模块封装程一个大的系统。本次任务我们将通过学习面向过程设计和面向对象设计的定义和区别,掌握面向对象的三大特征封装性、继承性和多态性。从而利用面向对象程序设计思想将系统模块完成封装。完成封装后的系统经过测试就可以发布了。
7-1系统模块封装面向过程程序设计思想分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象程序设计思想把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向对象以功能划分模块,面向过程以步骤划分模块。
面向过程程序设计侧重于怎么做1.把完成某一个需求的所有步骤从头到尾逐步实现2.根据开发要求,将某些功能独立的代码封装成一个又一个函数3.最后完成的代码,就是顺序的调用不同的函数特点:1.注重步骤和过程,不注重职责分工2.如果需求复杂,代码变得非常复杂3.开发复杂的项目的时候,没有固定的套路,开发难度很大
面向对象程序设计侧重于谁来做相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法1.在完成某一个需求前,首先确定职责-要做的事(方法)2.根据职责确定不同的对象,在对象内部封装不同的方法(多个)3.最后完成代码,就是顺序的让不同的对象调用不同的方法特点:1.注重对象和职责,不同的对象承担不同的职责2.更加适合对复杂的需求变化,是专门应对复杂项目的开发,提供固定的套路3.需要在面向过程的基础上,再学习一些面向对象的语法
面向对象程序设计面向对象有两个核心的概念类:是一类具有相同特征或行为的事物的一个统称对象:由类创建出来的一个具体的存在类和对象的关系:先有类再有对象类是模板对象是根据这个模板创建出来的类只需要有一个对象可以有多个
面向对象程序设计类的定义1.格式:class类名:类的内容2.要求:class关键字后是一个空格,然后接着一个类名。3.注意:在实际项目开发中,类名一般采用的是首字母大写。也可以按照自己的习惯来定义类名,但是推荐类名首字母大写这种惯例,因为整个项目开发中,代码命名统一性也需要注意的。
面向对象程序设计使用类1.类定义与函数定义(def语句)一样必须被执行才会起作用。类中的add()方法称为成员方法,对于成员方法的定义是对象的行为,我们可以理解成类的行为就是添加学生信息。2.注意:类的成员方法中的第一个常常被命名为self。这是一个约定:self这一名称在python中绝对没有特殊含义。如果不遵循此约定会使得你编写的代码对其他python程序员来说缺乏可读性。
面向对象程序设计类的对象我们有了类,如何让程序完成类的某一功能呢?也就是我们必须让类能够运行起来,可以通过创建类的实例对象,类相当于是抽象的,但是类的实例对象是具体的。我们通过具体和抽象的交互,最终实现类程序的运行。通过实例让对象程序运行起来:people=People()#根据类创建对象people.read()#通过对象调用方法
面向对象程序设计封装性通俗的讲,我们课堂上用的计算机,从开机、浏览网页或者玩游戏直到关机,我们不知道机箱里面的具体细节,只需要在用的时候按下开机键就可以了,这就是功能的封装。继承性程序中继承是为了代码的复用而设计的,更确切的说,继承是在一个或者多个已有类的基础上经过扩充或者适当的修改构造出来的新类。我们称已有的类为基类或者父类,构造出来的新类成为派生类或者子类,子类在继承父类中所有可访问的方法和属性,并且可以增加新的属性和方法。多态性当同一个变量在调用同一个方法时,完全可能呈现出多种行为(具体呈现出哪种行为由该变量所引用的对象来决定)就是所谓的多态。
7-2系统测试系统测试就是将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义比较,检查软件是否存在与系统定义不符合或与之矛盾的地方,以验证软件系统的功能和性能等满足其规约所指定的要求。
系统测试分类系统测试有17种分类:功能测试(FunctionalTest)、协议一致性测试(ProtocolConformanceTesting)、性能测试(PerformanceTest)、压力测试、容量测试、安全性测试、恢复性测试、备份测试、GUI测试、健壮性测试、兼容性测试、可用性测试、可安装性测