你能详细解释一下功能建模吗？
功能建模是指在业务建模的基础上，为解决业务领域的问题所需要的系统功能，并按照“系统—子系统—功能—程序”的思路编排，且需说明解决哪部分业务以及功能间的关系。#### 功能建模的建模思路

1、理解业务体系，梳理出业务体系所在的问题域的层次关系；
12、确定系统边界，明确接口关系；
13、确定系统分解规则，将系统分解成几个子系统；
14、确定子系统所需的功能，按层次列出功能；
15、按IPO思路确定系统功能，输入、处理、输出。
16、按交互思路确定用户界面。#### 功能建模在销售管理系统中的应用

通过对销售管理系统的分析，我们可以找出这样一些角色：客户、供货商、采购员、销售员、仓库管理员、财会人员、数据库系统。其中：客户是从公司中订购商品的人i供货商是向公司提供进货的商家．采购员负责与供货商打交道即从商家进货；销售员负责与客户打交道即销售商品：仓库管理员是记录商品库存、商品入库出库；财会人员负责整个公司的财务工作：与银行交互进行支付处理；数据库系统是提供数据处理方面功能的系统。整个系统协调工作，统一进货，统一销售．统一结算．统一退货。
根据以上问题分析本系统的需求，可以初步确定这样一些用例：
客户：获得清单、获得订单状态、订购货物、取消订单、退货：采购员：进货、向供货商退货、供货商管理(添加、修改、删除、查询供货商信息)：销售员处理客户退货、客户管理(添加、修改、删除。查询客户信息)j仓库管理员：到货入库、退货入库、发货出库、退货出库、库存统计等；财会人员：收款结算、客户往来账目处理、供货商往来账目处理、付款结算、其他收支等。
“订购货物”用例描述订单通过该过程进入订单处理系统。订购货物的过程是：当客户选择订购货物后．系统显示订购货物界面。客户输入自己的姓名和住址．然后输入要订购产品的代码．并且系统要将该项价格加到总值中去。完成以上的选择之后，客户输入信用卡支付信息。客户提交后，系统验证输入信息，并把该订单作为未完成的交易保存。
“取消订单”用例描述了客户取消订单的过程。客户选择取消订单．客户进入取消订单界面。客户选择取消。如果这笔订单中的产品还没有运走，则系统在数据库中删除这笔订单并更新订单，向客户账号中加钱并更新账目．把订单中的产品放回库存并更新产品数量。
“退货”用例描述客户将不满意的产品退回公司的过程。当客户选择退货时．首先查询订单，然后选择要退回的货物，提交之后，系统更新账目．产品数量及订单。
“更新客户”用例描述当客户信息发生变化时修改客户资料的过程。当销售员选择更新客户时，首先查询客户，然后填写查询条件．系统查询出符合条件的若干客户．选择要修改的客户，并选择”修改资料”功能．系统验证该用户是否有修改权限，系统查看是否其他人在使用该客户资料．系统打开客户资料修改窗口．输入新资料并保存，系统验证新资料的合法性，系统将客户新资料保存到数据库。
“进货”用例描述采购员从供货商家购进商品的过程。当采购员选择进货功能时，使用“查询供货商”用例，选择供货商．然后选择要购进的货物，提交之后，系统更新账目，产品数量。