APP下载

《信息系统与抽象建模》教学案例

2024-01-09戴芳铭高士娟张红玉曹恒来

中国信息技术教育 2024年1期
关键词:用例原型信息系统

戴芳铭 高士娟 张红玉 曹恒来

学习内容分析

信息系统是人们在社会活动中,以满足信息需求为目标而建立的综合系统。在开发信息系统前,需要运用抽象思维对系统的用户需求进行分析。在需求定义过程中,由于开发人员、系统用户对系统目标的考虑或表达不全面,常常会出现内容失实、遗漏、含糊不清和前后描述不一致等问题。UML(Unified Modeling Language,统一建模语言)是一种标准化语言,该语言使用统一、规范的图形符号来描述系统模型,直观、形象,便于学习和掌握。因此,使用UML对复杂的用户需求进行建模分析,可以帮助开发人员更好地理解需求,提高需求规约的质量,减少二义性,提高一致性和可验证性,有效推进信息系统的开发。

学习者分析

本课的学习对象是高一年级学生,他们在日常生活中已经接触过多种信息系统,有较丰富的信息系统使用经验,了解信息系统的基本组成及功能,同时,经过之前的学习,已经掌握了Python基础知识,理解程序设计的三种基本控制结构。高一年级的学生思维活跃、求知欲旺盛,能够针对问题展开探究,能够运用一定的策略寻找解决问题的方案,并能使用编程的方法解决问题,但是对信息系统的开发过程、抽象建模解决问题的方法缺少认知。

学习目标

①理解抽象与建模的概念,能够使用抽象的方法对信息系统进行需求分析。

②了解UML用例建模方法,掌握UML用例建模图例,运用UML用例建模方法构建点餐系统功能模型。

③经历信息系统抽象建模的过程,体会建模在信息系统开发过程中的作用。

教学过程

1.情境引入,发现问题

教师展示小帅同学在食堂排队就餐的动画,引导学生思考:①小帅点餐过程中遇到了哪些烦恼?(排队队伍长、人工计价慢、就餐效率低……)②如何帮助食堂提高点餐效率?(增加窗口、提前订餐、自助点餐……)

教师小结:设计一个自助点餐系统可以提高食堂的就餐效率,提升用餐体验。

设计意图:传统点餐、人工计价模式耗时费力,大多数学生都受过类似困扰。以生活中的真实问题作为情境引入,能够引起学生共鸣,激发学习兴趣,进而基于现有信息系统的使用经验,思考解决问题的方案。

2.分析问题,识别系统需求

活动1:分析点餐系统需求。

①可以从哪些角度对点餐场景中的人员进行分类?(按性别、按年龄、按角色……)

②点餐系统中的两类角色分别有哪些行为?(点餐人员:浏览菜单、点餐、提交订单;出餐人员:查询订单、处理订单)

教师小结:①在分析点餐系统需求时,可以忽略人员的性别、年龄等系统不需要的细节特征,将系统用户按角色分成点餐、出餐两类人员。②在解决问题的过程中,去除不相关特征,将问题简化为更易于理解的内容的过程,称为“抽象”。③通过抽象的方法,分析得出点餐系统的功能性需求包括浏览菜单、点餐、提交订单及查询订单、处理订单等。

设计意图:信息系统中有不同角色的用户,每种角色用户的功能需求不同,因此需要识别不同用户的需求。通过分析点餐场景中的人员特征及行为,可对现实问题进行简化和抽象,并归纳出点餐系统的用户分类和功能需求。在分析问题过程中,引导学生理解抽象的概念,并学会使用抽象的方法解决问题。

3.建立模型,描述系统需求

活动2:“你画我猜”游戏。

请两组学生参与游戏,每组3人。其中一人根据教师提供的词卡内容在黑板上画图,另外两人根据图画猜测词卡内容。观察游戏并思考:①对同一张词卡,不同画手绘制的图是否一样?②不同竞猜者对同一幅画的猜测是否一样?③游戏者事先未经沟通,没有使用统一的表达方式,出现了什么问题?

教师小结:①表达方式不统一、不规范会导致理解的偏差。因此,信息系统的需求需要采用规范化、结构化的方法描述。UML为开发人员提供了标准通用的设计语言,以图形的方式描述系统模型。②在UML中,常用用例建模的方法来描述系统的功能性需求。用例建模方法使用“参与者”(系统的用户)和“用例”(参与者和系统之间的交互序列)描述系统的功能性需求。③在点餐系统中,点餐人员和出餐人员就是参与者,“浏览菜单”是点餐人员和点餐系统间的交互,称为“用例”。

活动3:创建点餐系统用例图。

①分析点餐和出餐过程,识别点餐系统参与者和用例,填写表1。

②教师介绍StarUML软件,演示使用StarUML软件创建点餐部分用例图。

③学生模仿点餐用例图的创建过程,自主创建出餐部分用例图(如表2)。

④使用UML用例图将之前抽象出的用户及功能需求建立关联,形成了點餐系统的功能模型(如图1)。

教师小结:为了某种特定目的(如问题求解),将系统某一部分信息进行抽象而构成的系统的替代物称为“系统模型”或“模型”。以形成模型为目的的抽象过程就是建模。

设计意图:借助StarUML工具对点餐系统的功能需求进行建模分析,让学生经历信息系统建模的过程,引导学生体会建模在信息系统开发过程中的作用。

4.构建原型,验证系统需求

活动4:完善原型,实现系统功能。

①完善点餐系统原型的点餐功能和处理订单功能部分代码。

②运行“自助点餐系统.py”,分析系统功能能否满足用户需求。

教师小结:通过编写点餐和出餐的功能代码,获得了可运行的、最小化的点餐系统模型,即系统的原型。用户可以试用原型,并评价原型是否满足需求。

设计意图:通过对原型点餐功能的体验,评价原型是否满足用户需求,学生能够了解快速原型模型开发信息系统的过程。

5.课堂总结

本节课在对点餐系统功能需求抽象建模的基础上,完善了点餐系统的核心代码,快速构建了一个点餐系统原型,并提供给用户试用。由于种种原因,在需求分析阶段得到完整、准确、合理的需求模型是很困难的,用户要通过试用并评价原型,逐步明确各种需求。开发人员根据用户反馈,修改系统原型直至用户满意,然后再开发真实系统。这就是信息系统开发的一种方法——快速原型模型(如上页图2)。

教学反思

本节课以“发现问题—分析需求—建立模型—构建原型”为主线,围绕点餐系统功能需求的抽象建模展开教学。首先,从食堂就餐效率低的现实问题出发,引导学生提出提高就餐效率的可行性方案,通过讨论和对比不同方案的优缺点引出自助点餐系统;其次,通过分析餐厅中人员及其行为特征,归纳出系统用户类型及功能需求,帮助学生理解抽象解决问题的方法。“最后,完成点菜功能和处理订单功能的代码,快速构建点餐系统的原型。

需要注意的是,在活动3中,由于学生初次使用StarUML软件,对软件功能的不熟悉、对“用例”概念的陌生,牵制了教学逻辑向学习逻辑的转化,导致了活动4系统原型核心代码的完善环节时间略显不足。

点  评

模型是信息系统开发过程中的一个不可或缺的工具,模型并不是实体系统本身,而是根据信息系统建设的需要寻找的系统约简物,有助于人们抓住系统核心内容。实现模型化的过程称为建模,其主要工作就是通过抽象的方法,忽略问题的次要方面,抓取问题的主要特征,并采用适当的表现形式把它描绘出来。

抽象既是实现模型化的重要手段,也是计算学科中设计自动化工程实现的重要步骤,还是计算思维的重要组成部分。在本课教学过程中,执教教师从食堂点餐这一生活实例切入,引导学生讨论点餐系统中的人员分类,发现对于点餐系统而言,人员的年龄和性别都属于可以忽略的不相关细节,按角色将用户分成点餐、出餐两类人员,则是点餐系统的核心元素。这样不仅把抽象的概念阐述得十分清楚,而且将抽象的过程展现了出来,使得学生对抽象的认知从一个较肤浅的識记层次过渡到较深入的理解层次。

建模的第二个关键环节则是选择合适的工具建立模型,以描述待开发系统的功能需求。为帮助学生理解采用规范方式描述系统需求的必要性和重要性,执教教师设计了学生喜闻乐见的“你画我猜”游戏,通过观察和分析不同学生对同一个词卡所作图画和不同竞猜者对同一幅画的猜测结果,发现由于事先没有约定统一的描述方法,导致对同一幅图画的理解存在不一样的结果。游戏活动引出统一建模语言UML,教师演示使用StarUML工具创建点餐部分用例,对学生独立创建出餐部分用例起到了较好的范例作用。

在本节课中,学生通过解决点餐系统这个现实问题,经历了从抽象特征到建立模型、构建原型的过程,这正是快速原型法开发信息系统的过程。以问题解决的过程构建教学逻辑主线,抽象与建模、模型与原型等知识就不是孤立的,而是通过逻辑主线前后联系起来,互相蕴含、自然推演、逐步建构,并深深地铭刻于学生大脑之中,较好地体现了“用中学”“做中学”的课程理念。

(点评人:江苏省盐城市教育科学研究院信息技术教研员 曹恒来)

猜你喜欢

用例原型信息系统
企业信息系统安全防护
UML用例间包含关系与泛化关系的比较与分析
UML用例模型中依赖关系的比较与分析
包裹的一切
联锁软件详细设计的测试需求分析和用例编写
從出土文獻用例看王氏父子校讀古書的得失
《哈姆雷特》的《圣经》叙事原型考证
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
论《西藏隐秘岁月》的原型复现