***********************************************声明************************************************************
原创作品,出自 “晓风残月xj” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj)。
因为各种原因,可能存在诸多不足,欢迎斧正!
****************************************************************************************************************
一、问题描写叙述与需求分析
国土资源执法监察管理信息系统的用户需求以及面向对象建模。
分析题目,可知软件的的重点不是国土资源的执法本身,而是对执法进行监察, 主要工作有各级各部门开展核查、整改查处、督查、验收和存档,另外还应能处理群众即投诉人的举报投诉。涉及的有关部门总的有投诉人、国土资源局、政府、监察局;而国土资源局里的分工比較明白,能够进一步划分为地籍科、规划科、用地科(利用科)、耕保科、监察科(在国土资源局内部也有对应的监察科);政府也能够按等级进行细分,大体有市政府、省厅。
经过查阅相关文档后明白了有关部门的职责,归纳例如以下:
1.投诉人
举报投诉
2.国土资源局
此部门是该系统中非常重要的部门,主要职责为核查。关于核查又能够细分为不同详细工作。
2.1地籍科:负责对卫片图斑涉及地块的外业核查和測量结果进行审核
2.2、规划科:负责对卫片图斑涉及地块的审批权及使用是否符合土地利用整体规划和土地利用年度计划进行审核;
2.3、耕保科:负责基本农田和一般耕地的认定;
2.4、用地科(利用科):负责对用地是否经过依法批准和依法供地进行审核,并负责合法用地档案的整理;
2.5、监察科:负责对新增建设用地的合法性进行审核,以及对土地违法行为进行查处,负责各种表格的综合统计上报,并对此项工作进行总协调。
3.政府
不同级别政府的工作有所不同。
3.1、市政府:在核查下属单位的提供的信息后,汇总上报;
3.2、省厅:负责抽查统计。
4.监察局
监察局是对国土资源执法的整个流程进行监察,对合格的存档,不合格的依法追究相关责任人的责任。
二、用例图
用例是对系统功能的描写叙述。用例图则从用户的角度描写叙述系统功能,并指出各个功能的操作者。
在上面的需求分析中,不同部门人员对系统的理解是不一样的,他们都仅仅能站在自己的角度使用系统提供给他们的功能,屏蔽相关技术实现,且其它部门的功能对他们来说是透明的。
上面是整个国土资源执法监察管理信息系统总的用例图,在国土资源局、政府这块没有细分。
上面是细分各级国土资源局、政府职责后的用例图,但在国土资源局这块还是没有细分,但系统提供给各部门的功能是显而易见的。
上面是国土资源执法监察管理信息系统—各级核查部门职责分工子系统。
三、活动图
活动图是描写叙述动作以及动作之间关系的。活动图和状态图有着非常多相似之处:状态图描写叙述的是一个特定对象的全部可能状态以及引起状态转换的事件;活动图是状态图的变种,活动图主要描写叙述的是动作及动作的结果。活动图的动作转换代表信息的流动。
上面是国土资源执法监察管理信息系统的简化版活动图,从中能够看出动作的起点、终点、泳道等信息。
上面是国土资源执法监察管理信息系统的完整的活动图。
从上面的两幅活动图中,能够看出这个系统动作及动作之间的关系。
一个初态:表示动作的起点。能够由投诉人举报投诉发起,也能够由国土资源局相关部门自查发起。
两个终态:验收不通过进而依法追究相关责任人责任相应一个终态;验收通过进而存档相应一个终态。
四、小结
这次课程报告遇到的最大问题就是对整个国土资源执法监察流程非常陌生,感觉以后在职场中程序猿会常常碰到这样的问题,即对开发软件所处的行业背景不了解,这是就须要不断学习,通过不同渠道获取信息增长知识。这次报告我在网上查找了些资料,但非常多都不切合题意,于是我对现有资料进行归纳总结,然后结合自己的理解完毕了需求分析。
建立用例模型是非常关键的,在这个环节上我首先是寻找行为者:投诉人、国土资源局、政府、监察局;然后确定各个行为者对系统功能的要求,从而寻找到用例;最后确定各个用例之间的关系,因为系统较为复杂,我就没有细分用例。
建立用例图之后,感觉建立活动图就有方向了。仅仅需找出一个对象所处的状态以及引起状态变换的事件,准确的说是描写叙述动作及动作的结果,给出信息流动的方向。
以下谈谈我对《软件project》这门课的总结。大学前三年主要做的就是编程,准确说是拿到问题后选择算法直接动手编程,因为程序总的规模较小(实际自己编写的代码没有超过2000行的),所以还是能完毕题目的要求。步入职场后,我们遇到的问题往往是一个大型软件的研发,这时盲目动手编程非常可能顾此失彼、事倍功半。软件是程序、数据及相关文档的完整集合。当中文档编写是现阶段我比較忽略的环节,文档是开发、使用、维护程序的重要图文资料,对于理解用户需求、设计软件非常重要。软件是有生命周期的,大体可分为软件定义、软件开发、执行维护3个阶段,每一个阶段又能够细分。软件研发是有法可循的:结构化设计方法学与面向对象方法学,当中面向对象的思想比較适合大型软件的研发。UML是当中书写软件蓝图的标准语言,具有可视化、规范化、文档化的特点。UML设计遵循模块化、分层化、分区话、可扩展、可重用的原则。
总之,学习了软件project,对软件开发与执行维护有了新的理解,尤其意识到软件研发不只局限在编码层面。
在次声明,以上是我的软件project课程设计报告,当中部分參考其它文献,在此表示感谢!