软件方法 02
我们开发系统的目的在于让工作人员的工作简便,这种就是责任转移;责任转移的思想对识别待开发系统的需求很有帮助。开发人员说:“我在开发一个新系统。”其实说的就是“我在开发一个新的业务实体,取代现有工人或业务实体的一些责任。”所以我们需要画好现状的业务序列图,然后把待开发的系统作为一个新的业务实体空降到序列图,寻找改进点,得到该业务实体的责任,就可以直接映射到待开发系统的用例;
业务用例指业务执行者希望通过和组织交互达到的,而且组织能提供的价值。业务用例代表组织的本质价值,很难改变,变化的是业务用例的实现;例如:病人来医院挂号,不是一个业务用例,病人来医院看病,才是,病人来医院的价值和期望是看病而不是挂号,病人对于医院的期望是看病,对于挂号室的期望才是挂号;业务用例有几个要点:(1)业务执行者(系统之外);(2)业务用例表达的是组织的本质价值;
业务建模中最繁重的工作是--------描述业务用例的实现,即为业务流程,描述业务流程的手段有:(1)文本(2)活动图(3)序列图(序列图使用面向对象的思想来描述业务流程,把业务流程看做是一系列业务对象之间为了完成业务用例而执行的协作)。
其中描述业务流程的技能最好选择序列图,理由:
(1)活动图只关注人,序列图把人当做系统;
(2)活动图表示动作,序列图强迫思考动作背后的目的;
(3)活动图更“灵活”,序列图更不“灵活”;
软件开发的目的就是要改进当前的现实,可能是引进一个新系统,也可能是升级现有的系统,在现在的社会中,很明显,待改进的当前现实不只有业务工人,还有大量的业务实体,这些业务实体封装了许多最开始位于业务工人中的逻辑,将来和新系统交互的系统(也就是新系统的执行者),有可能只有一部分是人,另外一部分是业务实体;使用活动图来描述业务流程的时候,开发人员往往只关注人或部门的活动,忽略了业务实体的责任;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统