基于工程实践的需求分析和概念原型

  最近在课上我学习了软件设计的一些相关知识,为了检验自己的学习成果,打算在此尝试对自己的工程实践项目进行建模,最终形成概念模型。

一、需求分析

  一般进行需求分析有两种基本方法,分别为原型化方法(Prototyping)和建模方法(Modeling)。原型法的优点主要在于能够有效的确认用户的需求,适用于那些需求不明确的系统开发。对于分析层面难度大、技术层面不大的系统时候采用原型法开发。而对于技术层面的困难远远大于分析层面的系统,则不宜用原型法。建模的方法可以快速给出有关事件发生顺序或活动同步约束的问题,能够在逻辑上形成模型来整顿繁杂的需求细节。对于建模的方法,具体包括用例建模、业务类建模和业务数据建模,利用这些模型即可较为直观的反映出软件系统设计的业务流程和模块功能,能让我们对整个系统一目了然。

  我的工程实践项目——数据可视化学生成绩分析系统,是一个基于python的大数据分析系统,其核心功能是能够根据不同省份的学生的各科成绩的离散情况,制定不同的策略对其进行转换,之后根据不同的类别对数据进行统计分析,最后利用分析模型进行分析得出结论,这里的结论既包括对学生个人情况的建议,也包括对未来情况的一些预测。接下来针对本系统,进行需求分析的具体建模,以及原型设计。

二、用例建模

  什么是用例?用例(Use Case)的核心概念中首先它是一个业务过程(business process),经过逻辑整理抽象出来的一个业务过程,这是用例的实质。什么是业务过程?在待开发软件所处的业务领域内完成特定业务任务(business task)的一系列活动就是业务过程。弄清以上基本概念后,我们还要知道以下几点用例的基本要素:

  1. 一个用例应该由业务领域内的某个参与者(Actor)所触发。

  2. 用例必须能为特定的参与者完成一个特定的业务任务。

  3. 一个用例必须终止于某个特定参与者,也就是特定参与者明确地或者隐含地得到了业务任务完成的结果。

  然后后续的工作就可以展开了。针对本系统而言,主要的参与者有四类,分别是学生、家长、教师和管理员,其中,学生和家长以及教师可以注册和登录该系统,也可以修改个人信息,他们都可以选择若干科目,然后查看近期的成绩分析结果,学生或家长能够通过输入具体的分数得到对该成绩的一些建议,教师能够进行教师认证,之后能够向系统录入学生成绩。管理员需要管理该系统,并根据实际情况对系统进行一些调整,所以管理员能够查看并更新用户信息,可以更改成绩的评级标准,可以对分析模型进行测试或更新,期间也能够和其他参与者一样查看分析的结果,除此之外,和教师一样也可以录入成绩。

  根据以上的分析,我们可以画出用例图。

三、业务类建模

  由上述用例建模,我们能够知道使用该系统的人包括教师、管理员以及学生/家长,管理员管理成绩,制定成绩的标准以及运用一些分析模型对成绩进行分析,教师能够将学生成绩录入系统,学生/家长能够根据成绩查看分析的结果。所以我们需要七个类,第一个类是Person类,作为系统使用者的公共父类,该类包含所有人员共同的功能,就是账号密码登录系统,然后用三个该类的子类分别代表学生/家长、教师和管理员,然后我们需要一个科目类表示一个科目的所有成绩,教师、管理员能够通过该类将成绩录入;一个标准类,用于将衡量成绩的标准应用于成绩,科目类依赖于它;然后我们需要一个分析类,包含分析模型,能够对成绩进行不同策略的分析,当有新的策略时,可以继承该类重写其中的一些方法,该类依赖于科目类。因为该系统目前的开发还不够深入,所以现在只能够给出大致的业务类的建模。

 

四、业务数据建模

  根据上面的用例建模以及业务类建模所完成的工作,我们能够给出大致需要使用的数据形式。

  1)用户表(包括管理员、教师和学生/家长)

序号 说明 名称 类型 长度 主键
1 用户id id varchar 20 Y
2 账号 account varchar 30 N
3 密码 password varchar 30 N

  2)成绩表

序号 说明 名称 类型 长度 主键
1 课程号 c_id varchar 20 Y
2 学生id id varchar 20 Y
3 成绩 score Int 32 N
4 区域 area varchar 20 N
5 年级 grade Int 32 N
6 备注 extra varchar 100 N

 

五、概念原型

   概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论。概念原型是一种虚拟的、理想化的软件产品形式。类比于公式:程序=算法+数据结构,我们有 概念原型=用例+数据模型 ,基于此,我们结合上述的用例建模、业务类建模以及业务数据建模,能够得到一个概念原型,该原型包含三个用例,分别是管理员、教师、学生/家长,以及两个数据模型,包括用户和成绩。该概念原型的工作过程如下:

  首先,管理员将所有的学生成绩按照科目分类输入到数据库中,然后将制定好的标准应用于成绩,在此标准之上,运用大数据分析模型对这些数据进行分析测试,得出相应的结果与预测,管理员根据结果进行策略性的调整。其次,教师也可以录入学生的成绩,可以选择特定的学科进行分析结果查看,阅读相应的建议,进而调整自己的教学计划。最后,学生和家长能够查看近期成绩,能够根据自己的成绩得到系统的分析结果以及一些建议,用于调整自己的学习进度以及计划。

 

六、总结

  通过这次实践,我大致熟悉了用例建模、业务领域建模和数据建模,以及最后总结出概念原型和其工作过程的流程,也发现了自己对于建模方面的许多不足之处,希望通过后面的学习能够进一步“优化”自己的知识结构。

 

 

  

posted on 2020-12-06 15:18  helloworldys  阅读(273)  评论(0)    收藏  举报