精华内容
下载资源
问答
  • 高通chi usecase流程分析 本文分为三大部分: 第一部分简述高通isp架构及数据流程, 第二部分分析usecase xml 第三部分分析uscase代码流程
  • UseCase用例是什么?看一下官方定义:用例定义了一组用例示例,其中每个示例都是系统所执行的一系列操作。看个UML的用例图:其他的内容大家都可以网上去找资料,关于usecase的内容,我这里只想说一下use case的几个...
  • 任务Task用例UseCase用户故事UserStory场 任务Task用例UseCase用户故事UserStory场 景Scenario 景Scenario 与任务类似的概念有用例用户故事场景等在本小节我们会对其作详细 与任务类似的概念有用例用户故事场景等在...
  • USE CASE入门与实例.pdf

    2017-05-21 15:53:38
    USE CASE入门与实例.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
  • 用例驱动开发的实践性很强的书,英文版。 当你的应用程序有许多流程与场景,而不是个别的功能性片段时,让你在每个开发阶段可以向客户展示较大的功能性片段是非常以用户为中心的。采用此方式,你将为用户使用此系统...
  • JAVA Use Case

    2015-05-15 03:41:00
    Java use case in an enterprise b2b environment
  • 虽然是专门讲 UML 中的 USE CASE ,但的确是分析系统功能要求、系统外部视图的更好手段。比那复杂笼统的 UML 课程要实用得多。    尤其是作者特地讲述了“活动的分解”,流程图、数据流图与 USE CASE 的差异,没...
  • UseCase.Java:我并没有真正接触过UseCase.java Project.Java:从arraylist更改为hashmap,以获得更好的功能 GUI.Java:这里做了很多更改,现在的代码很草率。 基本上使保存,创建和编辑功能或多或少地起作用。 ...
  • case at a time) or model all the use cases first before coding is entirely yours to make. You can be as agile (with short iterations and quick, successive releases) or as “waterfall” (first writing ...
  • 需求分析是软件工程中至关重要的步骤之一,而Use Case是进行需求分析的重要建模工具.利用Use Case进行需求建模分析,不仅思路清晰.而且容易理解和跟踪,所以日益受到软件设计工程师的青睐-首先阐述Use Case的基本概念...
  • Use Case Maker-开源

    2021-04-16 06:25:23
    用例制作器可帮助软件开发人员编写有组织的用例并维护相关需求。
  • 这个是国外专家提供的用例模板,对写用例的同学来说,是不错的模板文件。
  • Applying Use Case Driven Object Modeling with UML An Annotated e-Commerce Example 英文原版资料
  • UseCase Diagram.rar

    2019-07-20 12:12:43
    UML课程设计详细的用例图 类图 开发视图 用况模型 比较详细
  • use case driven approach for software engineering. chm version...................
  • ISO 13400-1-2011_Part 1:General information and use case definition.pdf ISO 13400-1-2011_Part 1:General information and use case definition.pdf
  • Use Case Driven Object Modeling with UML. Theory and Practice. Fast-track your project from use cases to working, maintainable code
  • 取款USE CASE的规格说明,包括正常流程,其他流程,异常。
  • software testing use case

    2018-12-20 08:10:58
    Greg Fournier-Essential Software Testing_ A Use-Case Approach (2008)
  • 实验二:Use Case图与Use Case详细描述

    千次阅读 2019-06-10 20:02:23
    实验一:问题陈述与词汇表:...实验二:Use Case图与Use Case详细描述:https://blog.csdn.net/qq_36955360/article/details/91396401 实验三:分析类或问题域类图:https://blog.csdn.net/qq_36...

    实验一:问题陈述与词汇表:https://blog.csdn.net/qq_36955360/article/details/91395918
    实验二:Use Case图与Use Case详细描述:https://blog.csdn.net/qq_36955360/article/details/91396401
    实验三:分析类或问题域类图:https://blog.csdn.net/qq_36955360/article/details/91397334
    实验四: 顺序图或通信图:https://blog.csdn.net/qq_36955360/article/details/91398059
    实验七. 设计类图:https://blog.csdn.net/qq_36955360/article/details/91405481

    三、Use Case图与Use Case详细描述

    1、图形文档

     

    购物商城用况图
    图1 购物商城用况图

     

    2、文字说明

    2.1 用况图综述

    本在线购物系统主要是使顾客方便安全地在网上平台进行购物,已注册的客户可以通过输入关键词搜索和浏览商品,通过购物车可以商品或者取消商品的购买,并且能够评价商品、与相应的商家沟通、或者向网站管理人员反馈问题,管理人员则通过系统提供的网站管理功能,管理商品和客户。

     

    2.2 参与者描述

    游客:没有注册账号的用户,可以在该系统上浏览/搜索商品,但不可购买商品。

     

    客户:拥有账号的用户即为客户,具有浏览商品、搜索商品、维护购物车、购买商品、修改个人信息等权限。

     

    商家:负责管理该系统上的商品信息的人,拥有上架,下架,修改商品权限。

     

    网站管理员:负责处理投诉和管理商家。

     

    2.3 用况描述

    2.3.1 用况一:

    用况名:客户注册

    简要说明:客户进入登录页面,然后点击“立即注册按钮”。

    前提条件:客户未注册

    主事件流:

    (1)客户点击“立即注册”进入注册界面,用例开始

    (2)系统提示输入用户名,密码,确认密码,E-mail,姓名,电话,地址,图片验证码;

    (3)客户输入用户名,密码,确认密码,E-mail,姓名,电话,地址,图片验证码,系统检查

    A1:用户名不可用

    A2:两次密码输入不一致

    A3:邮箱格式错误

    A4:手机号码格式错误

    A5:验证码错误

    A6:注册成功

    (4)用例结束

    其他事件流:

    A1:用户名不可用

    (1)客户重新输入用户名

    (2)系统提示用户名可用

    (3)返回主事件流第3步

    A2:两次密码输入不一致

    (1)客户重新输入两次密码

    (2)返回主事件流第3步

    A3:邮箱格式错误

    (1)客户重新输入邮箱,确认格式正确

    (2)返回主事件流第3步

    A4:手机号码格式错误

    (1)客户重新输入手机号码,要11位数字

    (2)返回主事件流第3步

    A5:验证码错误

    (1)客户去洗一下眼睛,重新输入图片验证码,确保正确

    (2)返回主事件流第3步

     

    2.3.2 用况二:

    用况名:客户登录

    简要说明:客户进入主页面,点击登录按钮,进行登录操作

    前提条件:客户已注册

    主事件流:

    (1)客户点击进入登录界面,进行登录,用例开始

    (2)系统提示输入账号(用户名/E-mail)、密码;

    (3)客户输入账号、密码,系统检查

    A1:用户名或密码错误

    A2:登录成功,进入主页面

    (4)用例结束

    其他事件流:

    A1:用户名或密码错误

    (1)客户输入账号密码

    (2)系统提示用户名或密码错误,请重新输入,如若忘记,请重新注册新账号

    (3)若账号密码输入正确,登录成功,返回主事件流第4步

    2.3.3 用况三:

    用况名:管理商品

    简要说明:商家对商品的信息进行修改和管理

    前提条件:商家已登录

    主事件流:

    (1)商家登录成功,进入商品管理页面,用例开始。

    (2)查看商品信息,并核对。

    A1:有新品上市

    A2:商品下架不再出售

    A3:修改商品信息

    (3)用例结束。

    其他事件流:

    A1:有新品上市

    (1)商家点击新增商品按钮

    (2)进入新增商品页面,商家填写商品信息<商品编号,

    商品名字,商品产地等各种商品详细情况的信息>

    B1:商品必要信息不全

    (1)系统提示相应的商品信息未填

    (2)商品管理员填写对应的空缺内容

    (3)返回A3的第3步

    B2:商品已存在

    (4)商家点击添加

    (5)系统提示是否确认添加

    (6)商家点击确认,商品管理页面中商品种类增加

    B3:取消新增商品

    (7)返回主事件流第2步

    A2:商品下架不再出售

    (1)商家点击商品进入商品详情页,核对商品信息

    (2)商家点击删除商品

    (3)系统提示是否删除

    (4)商家点击确认,商品删除,商品管理页中减少该商品

    B4:取消删除商品

    (5)返回主事件流第2步

    A3:修改商品信息

    (1)商家点击某商品的对应修改按钮

    (2)进入修改页面,商家修改商品信息

    (3)商品管理员点击确认修改

    (4)系统提示是否确认修改

    (5)商家点击确认,该商品信息修改成功,商品管理页中对应的

    该商品信息有相应变化

    B5:取消修改商品信息

    (6)返回主事件流第2步

    B2:商品已存在

    (1)系统提示商品已存在,自动填入该商品的其他信息

    (2)商品管理员点击增加商品的数量

    (3)返回A1的第3步

    B3:取消新增商品

    (1)商品管理员点击取消,商品管理页面中的商品种类不变

    (2)返回主事件流第2步

    B4:取消删除商品

    (1)商品管理员点击取消,商品管理页面中的商品种类不变

    (2)返回主事件流第2步

    B5:取消修改商品信息

    (1)商品管理员点击取消,商品管理页面中的商品种类不变

    (2)返回主事件流第2步

     

    2.3.4 用况四:

    用况名:购买商品

    简要说明:“购买商品”主要提供客户浏览商品信息,

    搜索和支付购买商品。

    前提条件:客户已登录

    主事件流:

    (1)客户登录成功,返回商城主页面时用例开始。

    (2)客户直接浏览商品,或输入关键字搜索商品。

    A1:没有客户搜索的商品。

    (3)客户将商品添加至购物车。

    (4)客户在购物车选择要确定购买的商品以及数量,点击提交订单。

    A2:某商品数量不足或有购买数量限制。

    (5)客户在订单页面填写收货地址,

    选择优惠方式(红包/积分),选择支付方式(微信/支付宝/银行卡)。

    (6)系统提示客户输入所选择的的第三方支付系统的账号、

    密码、真实姓名。

    (7)系统提交客户输入的账号、密码、真实姓名、绑定手机号。

    A3:账号找不到。

    A4:密码不正确。

    A5:真实姓名不符。

    A6:绑定手机号不正确。

    A7:所选择的的第三方支付系统资金不足。

    E1:无法访问所选择的的第三方支付系统。

    (8)系统提示支付成功,为客户生成订单。

    (9)用例结束。

    其他事件流:

    A1:没有客户搜索的商品。

    (1)系统提示,没有以该符合该关键字商品

    (2)客户确认消息

    (3)返回主事件流第2步

    A2:某商品数量不足有购买数量限制。

    (1)系统提示信息:该商品剩余数量/该商品限购数量

    (2)客户确认消息

    (3)返回主事件流第4步

    A3:账号找不到。

    (1)系统提示信息:账户不存在!

    (2)客户选择重新填写信息或重新选择支付系统

    (3)若客户选择重新填写信息返回主事件流第7步

    (4)若客户选择重新选择支付系统返回主事件流第6步

    A4:密码不正确。

    (1)系统提示信息:密码不正确!

    (2)客户选择重新填写信息或重新选择支付系统

    (3)若客户选择重新填写信息返回主事件流第7步

    (4)若客户选择重新选择支付系统返回主事件流第6步

    A5:真实姓名不符。

    (1)系统提示信息:密码不正确!

    (2)客户选择重新填写信息或重新选择支付系统

    (3)若客户选择重新填写信息返回主事件流第7步

    (4)若客户选择重新选择支付系统返回主事件流第6步

    A6:绑定手机号不正确。

    (1)系统提示信息:密码不正确!

    (2)客户选择重新填写信息或重新选择支付系统

    (3)若客户选择重新填写信息返回主事件流第7步

    (4)若客户选择重新选择支付系统返回主事件流第6步

    A7:所选择的的第三方支付系统资金不足。

    (1)系统提示信息:账户资金不足!请重新选择支付系统!

    (2)客户确认信息

    (3)返回主事件流第6步

    错误流:

    E1:无法访问所选择的的第三方支付系统。

    (1)系统显示“无法访问该系统”

    (2)返回主事件流第6步

     

    2.3.5 用况五:

    用况名:处理订单

    简要说明:商城订单处理员在收到订单后的一系列操作

    前提条件:订单处理员已登录

    主事件流:

    (1)商家登录成功,返回处理订单信息主页面,用例开始。

    (2)商家收到订单提示信息,展开订单详情。

    (3)商家处理客户信息:<订单号、用户名、手机号、收货地址、详细商品种类和数量>。

    A1:商家未发货,收到客户退订单申请。

    A2:商家已发货,收到客户退订单申请

    (4)商家在该订单点击“已发货”,发送至客户。

    (5)商家收到客户确认收货信息,或超过15天自动确认收货。

    A3:客户要求退货。

    (6)商家收到货款已进账信息。

    (7)用例结束。

    其他事件流:

    A1:商家未发货,收到客户退订单申请

    (1)商家点击“同意退订单申请”,

    (2)点击“返还商品款”

    (3)收到第三方支付系统提示信息:“商品款已退回”

    (4)回到主事件流第10步

    A2:商家已发货,收到客户退订单申请

    (1)商家点击“商品已发货,无法退回订单”

    (2)回到主事件流第5步

    A3:客户要求退货

    (1)商家收到客户信息<订单号、用户名、手机号、收货地址、详细商品种类和数量、 物流号>

    (2)不给予退货,返回主事件流第7步

    (3)给予退货

    (4)商家向客户发送退货表单

    (5)收到填写正确的退货表单

    (6)商家收到“仓库收到退回货物且检查完毕”信息

    (7)点击“返还商品款”

    (8)收到第三方支付系统提示信息:“商品款已退回”

    (9)返回主事件流第10步

     

    2.3.6 用况六:

    用况名:管理评论

    简要说明:用户登录网站后并购买某个商品且已经收货之后方可操作

    前提条件:商家已注册、购买某商品、该商品已收货

    主事件流:

    (1)用户点击进入登录界面,选择用户登录,用例开始

    (2)系统提示输入账号、密码以及验证码;

    (3)用户输入账号、密码,系统检查

    A1:账号输入错误

    A2:密码输入错误

    A3:验证码错误

    A4:验证码输入超时

    (4)选择某个已购买的商品,进行评价管理

    A1:添加评论

    A2:修改评论

    A3:删除评论

    其他事件流:

    A1:帐号输入错误

    (1)用户输入用户账号密码

    (2)系统提示账号或密码错误,请重新输入

    (3)返回主事件流第3步

    A2:密码输入错误

    (1)用户输入用户账号密码

    (2)系统提示账号或密码错误,请重新输入

    (3)返回主事件流第3步

    A3:验证码错误

    (1)用户输入用户账号密码

    (2)系统提示已向手机发送验证码,

    请在规定时间输入正确的验证码

    (3)用户输入错误的验证码并回车,

    (4)系统提示验证码错误,返回主事件流第3步

    A4:验证码输入超时

    (1)用户输入用户账号密码

    (2)系统提示已向手机发送验证码,

    请在规定时间输入正确的验证码

    (3)用户输入验证码超时,返回主事件流第3步

     

    2.3.7 用况七:

    用况名:维护购物车

    简要说明:用户对购物车里面商品的增删改查

    前提条件:用户已登录

    主事件流:

    (1)用户登录成功,进入商品管理页面,用例开始。

    (2)进入购物车。

    A1:添加商品到购物车

    A2:修改位于购物车里面商品的订单信息,如数量、留言等。

    A3:从购物车中删除某商品

    A4:查看购物车内所有商品

    1. 用例结束。
    展开全文
  • 图书管理系统用况——usecase 图书管理系统用况——usecase 图书管理系统用况——usecase 图书管理系统用况——usecase
  • Use Case框图

    2019-07-09 11:44:31
    Use Case 框图用于显示系统功能(或称为使用案例)与提供或接收系统信息的人或系统(或称为角色)之间的相互关系,也即该框图需显示从用户角度出发对系统提出的要求。所以它可供用户,项目管理员,分析人员,开发...

    Use Case 框图用于显示系统功能(或称为使用案例)与提供或接收系统信息的人或系统(或称为角色)之间的相互关系,也即该框图需显示从用户角度出发对系统提出的要求。所以它可供用户,项目管理员,分析人员,开发人员,质量保证工程师以及任何对系统感兴趣的人浏览。

    Use Case框图 - Mr.Zhu - 朱琦

     在系统的开发过程中,随着对系统的认识的不断加深,Use Case图可以自顶向下不断精化,抽象出不同层次的Use Case图。因此,在系统的分析中,对于Use Case的细节的描述没有必要也不可能一次完成,Use Case图所包含的内容只要对当前的分析工作有帮助即可,并在系统的生命周期的循环中继续逐步完善。

     Use Case 除了与活动者有联系外,Use Case 之间也有可能存在着某种联系。这些联系包括:泛化关联使用关联包含关联以扩展关联等。它们的基本图形表示如下:

    1.   泛化关联

     Use Case框图 - Mr.Zhu - 朱琦

      一个Use Case与另一个Use Case相似,但做的内容更多,则该Use Case与另一个Use Case之间存在着泛化关联(Generalization Association)。泛化关联用于共享Use Case的共同功能行为。具有泛化关联的两个Use Case中,一个是基本的Use Case,另一个是更为一般的(泛化)Use Case,基本的Use Case的实例包含了一般Use Case的功能行为,此外还有自已的功能行为。

    2.   使用关联

      使用关联(Use Association)是指一个Use Case使用另一个Use Case的功能行为。使用关联用于在Use Case间共享公共的功能行为。

      使用关联也是一种泛化关联,它的图形表示可在泛化关联图上增加标记《Use》而成,如下图所示:

     Use Case框图 - Mr.Zhu - 朱琦

    3.   包含关联

    包含关联是一种依赖关联,也即是指一个基本的Use Case行为包含了另一个Use Case的行为。

    例如,下图是一个有关金融贸易业务活动的Use Case图的示例。图中包含有四个活动者:贸易经理,交易员,锁售员和财务系统。其中前三个活动者是系统用户,最后一个是外部的计算机系统。‘估价‘行为对于“风险分析“和”价格处理“都是必不可少的行为部分,但没有必要在Use  Case“风险分析“和”价格处理“中分别重复描述有关估价行为,利用包含关联便可避免在基本的Use Case中重复说明公共的行为。

    Use Case框图 - Mr.Zhu - 朱琦

    图中用带有箭头并旁边标有《include》的虚线表示Use Case的包含关联。

    不同的业务领域和不同的系统会有不同的活动者和Use Case,但从施加于系统本身的行为而言,Use Case的种类大体如下:

     。 系统的开始和停止的Use Case;

     。 系统维护的Use Case,如添加用户设置用户的操作模板等;

     。 维护系统中存储的数据的Use Case,如所建造的系统要与现存的系统数据同步等;

     。 修改系统行为的功能的Use Case。如创建一个新报表,而不是对一个一个的报表进行单独的编程。

    转载于:https://www.cnblogs.com/lglruirui/archive/2010/07/15/1777969.html

    展开全文
  • 5 Best Big Data Use Case

    2014-09-27 09:33:45
    BigData,hadoop, IBM, beginner, Use Case
  • Use Case图与Use Case详细描述

    万次阅读 2018-05-03 16:06:30
    实验一博客地址:https://blog.csdn.net/chicharito07/article/details/80095891用况登陆:用户输入账号密码登录时系统通过验证,若通过则返回(或进入)主页,否则提示错误。 用况注册:用户点击进入注册界面,...

    实验一博客地址:https://blog.csdn.net/chicharito07/article/details/80095891


    用况登陆:

    用户输入账号密码登录时

    系统通过验证,若通过则返回(或进入)主页,否则提示错误。

     

    用况注册:

    用户点击进入注册界面,选择买家注册

    系统提示输入账号、昵称、姓名、身份证号、手机号以及密码;

    用户点击进入注册界面,选择卖家注册

    系统提示输入账号、昵称、姓名、身份证号、手机号、密码以及开店相关认证信息,

    商家认证需要等待审核。

     

    用况浏览商品:

    可在本网站浏览各种商品的信息和价格。

     

    用况加入购物车:

    用户浏览商品时点击加入购物车,可将所选的商品加入购物车。

     

    用况清空购物车:

    用户点击清空购物车时,购物车内商品会被清空。

     

    用况确定支付:

    点击确定支付,将会把购物车内的商品下单,系统提示输入收件人姓名、收货地址、联系电话、发货时间,填写完信息按确定后商品会下单购买,系统显示选择支付方式。

     

    用况网上支付:

    选择网上支付,订单会以网上支付形式支付。

     

    用况货到付款:

    选择货到付款,订单会以货到付款支付形式支付。

     

    用况查看订单:

    选择查看订单,用户可以浏览历史订单信息。

    用况修改商品信息:

    卖家可以选择三种修改商品信息类型

     

    用况上架商品:

    卖家可以上存图片,商品信息,和商品价格,从而上架商品。

     

    用况下架商品:

    卖家选择要下架的商品,商品会被下架。

     

    用况修改商品价格:

    卖家可以选择修改商品价格,使商品价格发生改变。


    用况名:确定支付

    简述:点击确定支付,将会把购物车内的商品下单,系统提示输入收件人姓名、收货地址、联系电话、发货时间,填写完信息按确定后商品会下单购买,系统显示选择支付方式。

    参与者:买家

    前置条件:用户必须登陆成功,购物车不为空。

    细节:(1)用户点击确定支付。

    (2)系统提示输入收件人姓名、收货地址、联系电话、发货时间。

    (3)确认收货信息无误。

    (4)选择支付方式。

    (5)确定支付

    后置条件:用户下单成功,生成订单

    例外:(1)下单时商品信息发生变更,需要重新确定支付

    (2)选择网上支付时余额不足

     

     

     

    用况名:查看订单

    简述:选择查看订单,用户可以浏览历史订单信息。

    参与者:买家

    前置条件:用户必须登陆成功

    细节:(1)用户点击查看订单。

    (2)系统显示历史订单列表。

    (3)选择特定订单。

    (4)显示特定订单的订单号、发货时间、收货时间、收货人姓名、收货地址、联系电话、订单所含商品及其价格、总价格。

    后置条件:用户浏览订单信息成功

    例外:(1)服务器繁忙订单信息加载不出

     


    展开全文
  • uml use case 订餐系统

    2009-10-17 17:51:28
    uml use case 订餐系统 uml use case 订餐系统
  • 类CameraUsecaseBase、UsecaseDefault、UsecaseDualCamera、UsecaseQuadCFA、UsecaseTorch和UsecaseMultiVRCamera都派生自公共类Usecase。 类AdvancedCameraUsecase派生自公共类CameraUsecaseBase。 类...

    有参考: https://www.jianshu.com/p/cfb1da9d4217

    思考:camera.provider中如何实现到camera hal层的跳跃 ? 之后上层是如何配置每个 stream 的?

    camera service调用到camera provider中的接口方法,现在调用到 camera provider中的 hardware/interfaces/camera/device/3.2/default/CameraDeviceSession.cpp 中的processCaptureRequest(...)方法,最终会调用到:

    status_t ret = mDevice->ops->process_capture_request(mDevice, &halRequest);

    configureStreams(...)方法,最终会调用到:

    status_t ret = mDevice->ops->configure_streams(mDevice, &stream_list);

    这个mDevice->ops 就是 hardware/libhardware/include/hardware/camera3.h 中的 camera3_device_ops 结构体:

     

    typedef struct camera3_device_ops {
        int (*initialize)(const struct camera3_device *,
                const camera3_callback_ops_t *callback_ops);
        int (*configure_streams)(const struct camera3_device *,
                camera3_stream_configuration_t *stream_list);
        int (*register_stream_buffers)(const struct camera3_device *,
                const camera3_stream_buffer_set_t *buffer_set);
        const camera_metadata_t* (*construct_default_request_settings)(
                const struct camera3_device *,
                int type);
        int (*process_capture_request)(const struct camera3_device *,
                camera3_capture_request_t *request);
        void (*get_metadata_vendor_tag_ops)(const struct camera3_device*,
                vendor_tag_query_ops_t* ops);
        void (*dump)(const struct camera3_device *, int fd);
        int (*flush)(const struct camera3_device *);
     
        /* reserved for future use */
        void *reserved[8];
    } camera3_device_ops_t;

    这样找到在camera hal层的函数指针的映射关系。

    映射到:vendor/qcom/proprietary/camx/src/core/hal/camxhal3entry.cpp 中的:

    static Dispatch g_dispatchHAL3(&g_jumpTableHAL3);

    看一下g_jumpTableHAL3 变量:在 vendor/qcom/proprietary/camx/src/core/hal/camxhal3.cpp 中定义的:

    
    // Jump table for HAL3
    
    JumpTableHAL3 g_jumpTableHAL3 =
    {
        open,
        get_number_of_cameras,
        get_camera_info,
        set_callbacks,
        get_vendor_tag_ops,
        open_legacy,
        set_torch_mode,
        init,
        parallelQuery,
        setCallBack,
        get_tag_count,
        get_all_tags,
        get_section_name,
        get_tag_name,
        get_tag_type,
        close,
        initialize,
        configure_streams,
        construct_default_request_settings,
        process_capture_request,
        dump,
        flush,
        camera_device_status_change,
        torch_mode_status_change,
        process_capture_result,
        notify
    };

    然后就可以开始我们要说的 configure_streams 了。

    首先须知道以下概念:

    UseCase , vendor/qcom/proprietary/chi-cdk/vendor/chioverride/default/chxusecase.h 上面有介绍类图。UseCase在camx中很有很多衍生类,这是camx针对不同的stream来建立不同的usecase对象,用来管理选择feature,并且创建 pipeline以及session。

     

     

    • 类CameraUsecaseBase、UsecaseDefault、UsecaseDualCamera、UsecaseQuadCFA、UsecaseTorch和UsecaseMultiVRCamera都派生自公共类Usecase。
    • 类AdvancedCameraUsecase派生自公共类CameraUsecaseBase。
    • 类UsecaseMultiCamera派生自公共类AdvancedCameraUsecase。

    ChiFeature, vendor/qcom/proprietary/chi-cdk/vendor/chioverride/default/chxfeature.h, usecase选择相应的feature,关联一组pipeline,收到request请求,根据request选择对应的feature

    Node , vendro/qcom/propriatary/camx/src/core/camxnode.h ,下面有类图。Node是camx中非常重要的一个父类,是camx中处理camera 请求的一个中间节点,用于处理pipeline下发的请求,下面有类图介绍,比较重要**的Node子类已经标出来了。

    pipeline , 一连串node的集合,通过pipeline下发给各个node处理。

    session , 若干个有关联的pipeline的集合,用来管理pipeline,使用pipeline处理请求。

    UseCase 类图及文件位置,如下图:

    AdvancedCameraUsecase 是最常用的 usecase。下面将通过流程图描述调用的流程和在流程中调用的函数的详细信息来解释这个 usecase中的一些重要内容。同时,这也是 configure_streams 到 调用 UseCase 的整体流程。

    1. chi_initialize_override_session: HAL3Module构造函数获取chi_hal_override_entry并调用该函数,该函数初始化所有的 Chi Override callbacks ,其中chi_initialize_override_session是其中之一。当HAL从框架接收到configure_streams()时,framework 调用chi_initialize_override_session。参考HALDevice::ConfigureStreams,它使用Camera3StreamConfig作为参数调用CHIModuleInitialize。
    2. InitializeOverrideSession:这个函数在调用SetHALOps和GetMatchingUsecase之前检查stream_config、operation mode 和其他配置项(返回selectedUsecaseId)。如果selectedUsecaseId有效,则调用CreateUsecaseObject。
    3. UsecaseFactory::CreateUsecaseObject:基于usecaseId,创建正确的usecase。在调用usecase的创建方法时,LogicalCameraInfo和StreamConfig被用作参数。
    4. AdvancedCameraUsecase::Create: 这个函数在检查StreamConfig之后调用usecase的初始化。如果初始化成功,则返回usecase handle ;如果失败,则调用Destroy。
    5. GetXMLUsecaseByName:该函数遍历usecase XML数据中的所有usecase名称,并返回查找与“UsecaseZSL”匹配的Chiusecase的句柄
    6. SelectUsecaseConfig:它调用ConfigureStream和BuildUsecase,这两个程序实质上创建了usecase级别的流,并获取与这个usecase关联的pipelines and sessions的数量。特性管道和需求也通过调用捕获。

    CHI的驱动程序实现调用CHI override模块的 chi_hal_override_entry() 方法来设置驱动程序和CHI extension 之间的接口 。它是在 camera server 初始化期间完成的。一旦创建了 camera device (上层应用 open camera 即 创建了 camera device ), framework 调用驱动程序来实现 configure_streams ,就会调用 chi_initialize_override_session 模块。如果 override 模块希望为 streams 和其他状态(包括 per-session vendor tags )指定自定义功能,则override模块必须为 live stream 创建 pipeline ,并返回该 pipeline。HAL验证 livestream pipeline ,如果有效,则调用chi_finalize_override_session 。如果需要额外的 postprocessing pipelines,那么CHI override模块必须为每个 postprocessing topology 创建一个 pipeline ,并为处理每个pipeline 创建一个session 。此时,所有process_capture_request和process_capture结果都被转发到CHI override 模块进行进一步处理。或者,plugin 可以返回一个 NULL pipeline 来表明没有请求 override ,驱动程序应该使用它的默认行为。

    标记下需要实操的重点: 根据 createnodes 中的 Topology log 画出 UseCase 的拓展图

    进阶: //TODO: 尝试修改 UseCase ,增删查改node等

     

     

    展开全文
  • ATM系统-实验二:Use Case图与Use Case详细描述实验一文档所在博客:https://blog.csdn.net/aptx1255/article/details/80080013一、需求分析(1)Actor角色:在银行ATM系统...(2)分析系统Use Case用况组成:在银行A...
  • 教学管理系统 实验2 Use Case图与Use Case详细描述 Use CaseUse Case详细描述

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 503,421
精华内容 201,368
关键字:

usecase

友情链接: asdf.rar