第2章 系统分析.docx

上传人:b****5 文档编号:11570241 上传时间:2023-03-19 格式:DOCX 页数:24 大小:261.98KB
下载 相关 举报
第2章 系统分析.docx_第1页
第1页 / 共24页
第2章 系统分析.docx_第2页
第2页 / 共24页
第2章 系统分析.docx_第3页
第3页 / 共24页
第2章 系统分析.docx_第4页
第4页 / 共24页
第2章 系统分析.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

第2章 系统分析.docx

《第2章 系统分析.docx》由会员分享,可在线阅读,更多相关《第2章 系统分析.docx(24页珍藏版)》请在冰豆网上搜索。

第2章 系统分析.docx

第2章系统分析

第2章系统分析

本章主要介绍计算机系统工程、可行性研究、系统流程图、成本-效益分析、技术分析和系统建模基本内容与相关知识,同时还介绍了基于计算机系统涉及的计算机硬件工程、软件工程、人机工程和数据库工程。

讨论了可行性研究的基本任务、基本过程和可行性研究中最重要最关键的两个方面:

成本-效益分析和技术分析,最后介绍了系统建模的有关知识。

2.1基本内容

系统需求分析是一组称为计算机系统工程的活动,着眼于所有的系统生成元素,由硬件、软件、数据库方面的工程师共同参加。

系统分析的目标包括:

(1)识别出用户的需求。

(2)评价系统的可行性。

(3)进行经济分析和技术分析。

(4)在明晰总体需求的前提下,将要实现的功能分配给硬件、软件、人、数据库和其他的系统元素。

(5)预测成本、进行进度设计。

(6)生成系统规格说明,用作所有后继工程的基础。

通过对系统目标的确认,识别用户的真正需求,分析人员在系统分析过程中应当注意弄清下列问题:

(1)用户所期望的功能和性能。

(2)对于可靠必和质量提出的问题有哪些?

(3)总的系统目标是什么?

(4)成本、资源和进度有哪些限制和约束?

(5)可能会有哪些扩充需求?

(6)有哪些有效的技术可供使用?

(7)制造的需求是什么?

市场竞争情况如何?

系统分析员应当协助用户整理他们的需求,提出总的目标。

即要针对什么对象,进行什么处理,输出成为什么形式。

识别了总的目标之后,再对一些辅助需求信息进行 进一步评估。

如工期限制、资源、技术设备等等。

通过系统分析,对于系统的总体功能和分配给软件的需求都有了尽量准确的理解,这就是系统分析的过程。

2.1.1 计算机系统工程

1.计算机系统工程

计算机系统工程是指与构造基于计算机系统有关的过程、方法和技术,其目的是揭示、分析系统的功能,并将它们分配到各个系统要素中去,其实质是一种问题的求解活动。

作为一个系统工程师,其职责就是从用户给定的目标和约束条件出发,导出系统功能、性能、接口、设计约束条件和信息结构的表示,将它们分配到各系统要素去,并设法予以实现。

这就要求系统分析人员必须认真做好以下几项工作:

(1)进行大量的调查、研究和论证,确定系统的功能和性能。

(2)把系统的功能和性能分配到系统各要素之中,如软件、硬件、人等等。

(3)在多个方案中选择最佳方案。

(4)对系统需求进行分解并指派给硬件、软件等要素,并生成相应的需求。

在确定了软、硬件需求后,分别通过硬件工程、软件工程、人机工程和数据库工程等子项目加以实现。

2.计算机系统工程相关概念

(1)硬件工程

硬件是基于计算机的系统离不开计算机硬件的支撑。

计算机系统工程师根据系统需求为硬件系统指派任务,产生需求。

而硬件工程是硬件工程师根据硬件需求设计、制造或选择部件、设备,如主机、通用或专用外设、网络与通信设备等。

为了建造一个高质量的、用户满意的硬件系统,硬件工程师首先要做好以下两个方面的工作:

第一:

认真仔细地分析硬件系统功能和性能。

第二:

认真考虑硬件之间的接口、硬件的标准化、硬件成本和维护服务等因素。

在此基础上,硬件工程师通过硬件工程实现硬件系统。

硬件工程可分为3个阶段,如图2.1所示。

第一阶段的任务是:

①制定开发计划,经过评审确定项目成本预算和工程进度;

②进行详细需求分析,经过评审确定硬件规格说明。

第二阶段的任务是:

①设计分析,画出设计图;

②必要时建造原型并对原型进行测试;

③制造分析,画出生产图。

第三阶段的任务是:

按照质量保证计划和要求生产硬件产品。

产品通过一定的销售渠道出售,相应的服务机构负责产品的维修、升级和扩充。

(2)软件工程

软件通常可分为应用软件与系统软件两大类。

应用软件用来实现信息处理功能所要求的过程。

系统软件完成使应用软件与其它系统要素交互的控制功能。

计算机系统工程中的一项重要的任务就是把功能和性能分配给软件,在具体的分配过程中通常采用两种处理方法:

第一种方法是:

把功能简单地看作是一个顺序的数据处理或加工过程,对性能不显式地定义。

第二种方法是:

把功能看作是对内部各个系统元素的协调和对其它并发程序的控制,而性能则显式地定义为响应和等待时间。

软件工程包括软件项目的定义阶段、软件开发阶段、软件的检验、提交和维护阶段,如图2.2所示。

其各阶段的任务具体如下:

软件项目定义阶段的任务有:

①制定软件项目计划,包括描述软件的工作范围、进行风险分析、提出开发软件所需资源清单、估算软件项目成本和进度,并以成本和进度估算为基础对软件项目进行可行性论证。

最后,生成经过项目管理组织评审的软件项目计划。

②软件需求分析和定义。

确定软件的功能和性能,详细定义软件系统要素。

定义软件需求有两种方法,一是采用形式化的信息分析方法,建立信息流和信息结构模型,然后,将这些模型扩展为软件规格说明;另一种方法是为软件开发原型,软件工程师和用户一起对原型进行评审和修改,从而获得满意的需求定义信息。

③确定软件性能和资源约束,这对软件设计特性会产生直接影响。

④为软件要素定义验收标准,它也是制定软件测试计划的基础。

需求分析阶段生成的软件需求规格说明,它通过客户、系统分析员、软件工程师的评审后生效。

软件需求规格说明是软件开发工作的依据。

当用户需求与软件规格说明不一致时,必须重新进行需求分析或修改原型,直到大家取得一致的意见。

软件开发阶段的任务是将系统需求转换为可操作的系统要素,即软件。

主要工作有:

软件总体结构设计和数据设计、过程设计、编码三部分。

软件总体结构设计和数据设计的任务是:

①设计模块结构。

②定义界面并建立数据结构。

③评审概要设计的质量,重点评审设计是否支持软件需求规格说明的完全性和可追踪性。

通过评审的概要设计规格说明是总体结构设计和数据设计阶段的软件产品。

软件的过程设计的任务是:

①详细描述软件规格说明中的每一个模块。

②对模块进行评审。

通过评审的模块详细描述将构成说明设计规格说明。

编码的任务是:

用适当的编程语言对详细描述模块进行编码,生成程序。

在编过程中,一方面应注意良好编码风格和简洁性,同时还要注意保持和详细设计描述的可追踪性一致。

通过评审的各模块程序代码构成整个软件的源程序代码。

软件检验的任务是:

①制定软件测试计划和过程,产生测试文档和测试题目。

②对软件的每个模块进行单元测试、验证模块的功能是否符合设计要求。

③对整个软件进行综合测试。

测试软件的总体结构和接口是否满足设计要求,测试软件部件功能和性能是否满足需求规格说明的要求。

在测试过程中,若发现错误和问题应及时诊断和修改。

通常软件模块测试由软件开发工程师完成,软件综合测试应该组织专门的软件测试工程师参加,确保测试的科学性、严格性和公正性。

④组织专家和用户对测试结果进行评审。

软件提交的任务是:

①对已经生成的记录和内部文档进行整理、分类、存档;

②开发用户手册、建立适当的配置控制机制;

③将软件提交给用户,必要时还应负责把软件安装到用户环境中。

在基于计算机的系统中,随着软件规模不断扩大,复杂程度不断提高,软件开发和维护已经成为整个系统中技术最复杂、难度最高、风险最大的工作。

因此,软件工程过程的观点和方法引入软件工程用于指导软件开发。

(3)人机工程

人与计算机硬件和软件的直接交互可以启动并控制系统运行,在系统的开发与维护活动中,人的因素起着十分关键的作用。

人机工程包括下列步骤:

①活动分析:

分析人机交互过程,评价人机交互过程中人的活动,根据活动设计需要计算机执行的任务。

②动作定义和设计:

根据人机交互活动,精确地定义人机界面每一个动作的精确内容。

这些动作是靠计算机去执行的。

③人机对话语言设计:

设计人机对话语言,精确地定义语言的语法和语义,实现语言中的每一个动作和命令。

④用户环境设计:

将支撑人机界面的软件和硬件集成起来,构成一个用户环境。

除此之外,还应考虑空间、光线、温度等方面的因素。

⑤原型设计:

软件工程师根据用户要求设计原型,然后请用户一起对原型进行评审。

以通过评审的原型为基础设计基于计算机系统的人机界面。

不借助原型的帮助,软件工程师很难设计出用户满意的人机界面。

(4)数据库工程

并不是所有的基于计算机的系统都使用数据库,但对于使用数据库的系统来说,这种信息仓库往往是所有功能的核心,它将有关的硬件、软件、数据和数据库管理人员组合起来,为用户提供信息服务。

开发一个基于数据库的应用系统是一项复杂的软件工程,通常人们称之为数据库工程。

数据库工程是一门技术学科,其任务可概括如下:

①调查用户的信息需求和对信息的处理要求,进行可行性论证,提出成本预算和工作计划。

②论证、选择和购置支持数据库系统的硬件和软件。

特别是数据库管理系统(DBMS),它为数据的设计和使用提供各种便利,是管理数据库的工具,支持数据查询、维护和分析。

它为用户提供了与数据库的公共接口,便于各类用户的使用。

此外,还应该考虑支持DBMS运行的操作系统和网络环境。

③数据库设计与实现。

软件工程师和数据库管理员根据用户对数据库系统的要求进行需求分析和数据分析,产生需求说明和数据说明;以需求说明和数据说明为基础,进行概念设计,产生依赖数据库的概念模型;以概念模型为基础,进行逻辑设计,产生依赖于DBMS的逻辑模型;以逻辑模型为基础进行物理设计,产和一个完整的、可实现的数据库。

根据软件工程原则,每一步结束后都应进行评审,评审通过后再进行下一步,若评审未通过,可以向前迭代,重复前面的步骤。

最后要对数据库系统进行测试,并生成各种文档。

④数据库中的数据是按照系统确定的范围和用户需求进行收集、整理并存储起来的。

它具有数量大、类型多、关系复杂,需要及时补充、更新等特点。

此外,数据存储应有利于数据的查询、更新并尽量减少数据冗余。

⑤数据库管理人员是数据库工程的重要组成部分,负责管理数据库资源,收集和确定用户需求,参与数据库系统的论证、设计与实现,参与数据的收集、整理、分类和存储,负责数据库的管理和维护,并为用户提供培训及有关资料等等。

2.1.2可行性研究

1.可行性研究的任务

开发任何一个基于计算机的系统都要受到时间和资源的限制,因此,在开发之前就必须根据用户可能提供的时间和资源条件进行可行性研究,通过可行性研究可以搞清楚问题是否有可行的解或是否值得去解,近而避免人力、物力和财力上的浪费。

可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。

也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解、是否可解,探讨在现有的具体条件下,开发新系统是否具备了必要的条件。

对每一种解决方法都要从下面四个方面分析研究每种解决方法的可行性。

(1)经济可行性

主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否会高于项目预期的全部利润,分析系统开发对其它产品或利润所带来的影响。

(2)技术可行性

根据客户提出的功能和性能要求及实现系统的各项约束条件,从技术的角度研究系统实现的可行性。

技术可行性研究往往是系统开发过程中难度最大的工作。

由于系统分析和定义过程与系统技术可行性评估过程同时进行,这时系统目标、功能和性能的不确定性会给技术可行性研究带来许多困难。

技术可行性研究包括以下几个方面:

①风险分析:

在给定的限制范围内,能否设计出系统,能否实现必要的功能和性能;

②资源分析:

研究、开发系统的人员是否存在问题,可用于建立系统的其它资源,如硬件、软件等是否具备;

③技术分析:

当前科学技术是否支持系统开发的全过程。

(3)法律可行性

研究系统开发过程中可能涉及的各种合同、侵权、责任以及各种与道德、法律相抵触的问题。

(4)开发方案的可行性

提出并评价实现系统的各种开发方案,从中选出一种用于软件项目开发。

在上述四个方面的可行性研究中,技术可行性研究是系统可行性研究的关键,其决策的正确与否会给系统开发带来重大影响。

可行性研究的结果可作为系统规格说明的一个附件,尽管可行性研究报告有多种形式,表2.3提供的可行性研究报告目录具有一定的普遍性。

表2.3可行性研究目录

1.引言

1.1问题

1.2实现条件

1.3约束条件

2.管理

2.1重要的发现

2.2注释

2.3建议

2.4效果

3.方案选择

3.1选择系统配置

3.2选择方案的标准

4.系统描述

4.1缩写词

4.2各个子系统的可行性

5.成本效益分析

6.技术风险评价

7.有关法律问题

8.用户使用可靠性

9.其它

2.可行性研究的过程

应该注意的是可行性研究最根本的任务是对后续的行动路线提出建议,如果问题没有可行的解或不值得去解,应该建议停止这项工程的开发;如果问题有可行解,应该推荐一个较好的解决方案,并为项目工程制定初步的计划。

其具体过程可归纳如下:

(1)确定项目规模和目标

分析员对有关用户特别是未来系统的关键用户进行调查,仔细阅读和分析用户提供的有关材料,对项目的规模和目标进行定义和确认,清晰的描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。

(2)研究、分析现行系统

正在运行的系统可能是一个人工操作系统,也可能是一个基于计算机的旧系统,因而需要开发一个基于计算机的新系统来替代现行系统。

现行系统是开发新系统信息的重要来源,分析人员通过研究现行系统的功能、性能及存在问题,得出新系统的雏形。

(3)建立新系统的高层逻辑模型

根据对现有系统的分析研究,逐步明确新系统的功能、处理流程以及所受的约束,参照现有系统的逻辑模型,使用建立逻辑模型工具——数据流图和数据字典来描述数据在系统中的流动和处理情况,得到新系统的逻辑模型。

值得注意的是现在还不是软件需求分析阶段,不是完整、详细的描述,只是概括地描述高层的数据处理和流动。

(4)重新定义问题

系统的高层逻辑模型实质上表达了分析人员对新系统的看法,用户是否也有同样的看法,分析员应该和用户一起再次复查问题定义,再次确定工程规模、目标和约束条件,并修改已发现的问题和错误,在此基础上重新定义问题。

通过不断重复上述过程,直到提出的逻辑模型完全符合系统目标为止。

(5)导出和评价各种方案

分析员依据新系统的高层逻辑模型,从技术、经济、操作、开发成本和运行费用等方面进行较为全面地分析与比较,提出实现高层逻辑模型的不同方案,并由此导出相应的物理解。

(6)推荐可行方案

在对上一步提出的各种方案进行分析比较的基础上,向用户推荐一种方案,在推荐方案中应清楚的说明本项目的开发价值、推荐该方案的理由和实现该方案的简要进度表。

(7)编写可行性研究报告

将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行性的实现方案。

2.1.3系统流程图

在可行性研究过程中,为了更加简洁、直观地描述系统,通常使用系统流程图作为工具对物理系统进行描述。

1.系统流程图的作用

系统流程图是描述物理系统的工具。

所谓物理系统,就是一个具体实现的系统,也就是描述一个单位、组织的信息处理的具体实现系统。

在可行性研究中,可以通过画出系统流程图来了解要开发的项目的大概处理流程、范围和功能等。

系统流程图不仅能用于可行性研究,还能用于需求分析阶段。

系统流程图可用图形符号来表示系统中的各元素,如,人工处理、数据处理、数据库、文件和设备等。

它表达了系统中各元素之间的信息流动的情况。

画系统流程图时,不仅要搞清业务处理过程以及处理中的各个元素,同时也要理解系统的流程图的各个符号的含义,选择相应的符号来代表系统中的各个元素。

所画的系统流程图要能简洁、直观地反映出系统的处理流程。

在进行可行性研究过程中,要以概括的形式描述现有系统的高层逻辑模型,并通过概要的设计变成所建议系统的物理模型,可以用系统流程图来描述所建议系统的物理模型。

2.系统流程图的符号

系统流程图的符号如表2.4所示。

表2.4系统流程图的基本符号

符号

名称

说明

处理

能改变数值或数据位置的加工或部件,如:

程序模块、处理机等都是处理

输入/输出

表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号

连接

指出转到图的另一部分或从图的另一部分转来,通常在同一页上

换页连接

指出转到另一页图上或由另一页转来

数据流

用来连接其他符号,指明数据流动的方向

文档

通常表示打印输出,也可表示用打印终端输入数据

联机存储

表示任何种类的联机存储,包括磁盘、软盘和海量存储器件等

磁盘

磁盘输入/输出,也可表示存储在磁盘上的文件或数据库

显示

CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出

人工输入

人工输入数据的脱机处理,如:

填写表格

人工操作

人工完成的处理,如:

会计在工资支票是签名

通信链路

通过远程通信线路或链路、传输数据

3.系统流程图的示例

某图书馆闭架借书流程如下:

读者须先验明证件后才能进入查询室,读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书,找到所需的图书并填写索书单后到服务台借书。

图书管理员从书中库取出读者所需图书后,录入借阅信息,并将图书交于读者。

图2.5的系统流程图描述了上述系统的概貌。

图中的每个符号定义了构成系统的一个部件,但并没有指明每个部件的具体工作过程,图中的箭头指定了系统中信息的流动(逻辑)路径。

2.1.4成本/效益分析

1.成本、费用估计

(1)成本估计

为了使开发项目能够在规定的时间内完成,而且不超过预算,成本估算和管理控制是关键。

成本估计是软件费用管理的核心,也是软件工程管理中最困难、最容易出错的问题之一。

成本估计的方法很多,如自顶向下估计法、自底向上估计法、类别估计法、专家判别法、算法模型估计法、Parkinson法、削价取胜法等等,下面主要讨论自顶向下估计法、自底向上估计法、算法模型估计法等三种方法。

①自顶向下成本估计

该方法着眼于软件的整体,根据被开发项目的整体特性,首先估算出总的开发成本,然后在项目内部进行成本分配。

由于这类估计方法通常仅有少数上层人员参加,所以属于“专家判别”的性质。

专家们依据经验,把将要开发的项目与过去开发过的项目进行“类比”,借以估计新的开发项目所需要的工作量和成本。

当参加估计的专家人数较多时,可采用特尔斐(Deiphi)法来汇集专家们的意见。

特尔斐法的基本思想是:

把系统定义的文件或规格说明分发给各位专家,各自独立进行成本估计,填写成本估计表。

然后由协调人综合专家们的意见,并将摘要通知给各位专家,然后进行开始新一轮的估计,如此反复多次,直到专家们的意见接近一致为止。

该方法的缺点是,对于开发中某些局部的问题或特殊问题容易低估,甚至没有考虑到。

如果所开发的软件缺乏可以借鉴的经验,在估计时就可能出现较大的误差。

②自底向上成本估计

与自顶向下估计相反,自底向上估计是将开发任务分解为多个子任务,对子任务再进行分解,直到任务单元的内容都足够明确为止。

然后把各个任务单元的成本估计出来,汇集成项目的总成本。

通常任务单元的成本估计是由开发人员估计出来的,得出的结果比较实际。

因此,如果说自顶向下估计是“专家路线”,那么由底向上就是“群众路线”。

该方法的缺点是,由于具体工作人员往往只注意到自己的工作范围,很少顾及自己工作范围之外的工作量,这对于综合测试、质量管理和项目管理等涉及全局的花费估计不足,甚至完全忽视。

因此,就可能使成本估计往往偏低。

③算法模型估计

算法模型就是资源模型,是成本估计的一种有效工具。

由于任何资源模型都是根据历史数据导出的,所以比较客观。

该方法的关键是要选好合适的模型。

模型估计法常与自顶向下估计和自低向上估计结合使用。

(2)费用估计

目前软件成本估计仍是一门很不成熟的技术,国内外已有的技术只能作为借鉴,因此应该使用多种不同的估计技术以便相互校验。

下面简要介绍两种较为常用的成本估计技术。

①代码行技术

代码行技术是比较简单的定量估计方法,它是把每个软件功能的成本和实现这个功能需要用的代码行数联系起来。

通常根据经验和历史数据估计实现一个功能需要的源代码行数。

当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。

一旦估计出源代码行数后,用每行代码的平均成本乘以行数就可以确定软件的成本。

每行代码的平均成本主要取决于软件的复杂程度和工资水平。

②任务分解技术

这种方法首先把软件项目分解为若干个相对独立的任务,再分别估计每个单独的开发任务的成本,最后将所有任务的成本加起得出软件项目开发的总成本。

估计每个任务的成本时,通常先估计完成该项目任务需要的人力(以每“人月”为单位),再乘以每人每月的平均工资而得出每个任务的成本。

最常用的办法是按软件开发阶段划分任务。

如果软件系统很复杂,由若干个子系统组成,则可以把每个子系统再按开发阶段进一步划分成更小的任务。

具体来说,任务分解技术可通过下面几个步骤完成:

第一确定任务,即每个功能都必须经过需求分析、设计、编辑和测试工作。

第二确定每项任务的工作量,估算需要的人月数。

第三找出与各项任务相对应的劳务费数据,即每个单位工作量成本(元/人月)。

第四计算各个功能和各个阶段的成本及工作量,然后计算总成本和总工作量。

2.效益分析方法

成本——效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。

成本一—效益分析首先是估算将要开发的系统的开发成本,然后与可能取得效益进行比较和权衡。

效益分有形效益和无形效益两种。

有形效益可以用货币的时间价值、投资回收期和纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。

系统的经济效益等于因使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。

运行费用包括操作人员人数、工作时间和消耗的物资等。

下面主要介绍有形效益的分析。

(1)货币的时间价值

成本估算的目的是对项目投资。

经过成本估算后,得到项目开发时需要的费用,该费用就是项目的投资。

项目开发后,应取得相应的效益,取得多少效益才是合算的呢?

这就要考虑货币的时间价值。

通常用利率表示货币的时间价值。

设利率为i,现存放货币P元,n年后可得钱数为F,若不计复利,则:

F=P·(1+n·i)

F就是P元在n年后的价值。

反之,若n年后能收入F元,那么这些钱现在的价值为:

P=F/(1+n·i)

例如,库房管理系统,它每天能产生一份订货报告。

假定开发该系统共需5千元,系统建成后及时订货,消除物品短缺问题,估计每年能节约2.5千元,5年共节省12.5千元。

假定年利率为5%,利用上面计算货币现在价值的公式,可以算出建立库房管理系统后,每年预计节省的费用的现在价值,如表2.6所示。

将来值/千元

(1+n.0.05)

现在值/千元

累计的现在值/千元

1

2

3

4

5

2.5

2.5

2.5

2.5

2.5

1.05

1.1

1.15

1.2

1.25

2.381

2.273

2.174

2.083

2.0

2.381

4.654

6.828

9.361

11.361

表2.6将来的收入折算成现在值

(2)投资回收期

通常用投资回收期衡量一个开发项目的价值。

投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。

投资回收期越短,获得利润就越快,则该项目就越值得开发。

例如,库房管理系统两年后可以节省5.104千元,比最初的投资还多0.104千元。

因此,投资回收期是2年。

投资回收期仅仅是一项经济指标,为了衡量一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1