系统分析师论文——论软件需求分析方法和工具的选用

现已临近2024年软考,周围一些报名参加系统分析师考试的“小伙伴”还未准备论文,我分享早年写的一些内容(包括参加继续教育准备的论文),仅供大家结合最新考纲要求酌情参考,希望予人玫瑰,手有余香。

注1:为了不涉及敏感数据,文中年份、合同金额、建设周期等数字均做了“马赛克”处理-_-||b

目录

【摘要】

【正文】

 第一步:通过逆向工程获取原有系统的基本需求。

第二步:基于初步分析,继续使用PowerDesigner绘制用例,并明确系统基本需求

第三步:使用Axure Pro进行UX设计,完善需求分析与原型设计


【摘要】

本文以出入境信息管理系统的升级改造项目为背景,探讨了信息系统需求分析的实践过程。该项目的重要特征在于,它是对现有系统的一次重要升级,而非全新系统的建设。因此,需求分析过程具有其独特性,并可分为三个关键阶段:首先,通过实施逆向工程对原系统进行深入剖析,以获得对系统的初步了解;其次,在逆向工程的基础上,撰写详细的分层用例图,并客户进行沟通、评审和补充,以确保需求的准确性和完整性;最后,根据基本需求文档开发系统原型,并利用原型与客户进行多轮次交流,从而获取稳定的基线需求。本文详细阐述了不同阶段中所采用的分析方法与工具,以及在实践中遇到的一些典型问题和相应的解决措施。同时,本文也对需求分析中使用的工具进行了反思,分享了笔者对于如何更好地应用这些工具的初步体会。

【正文】

笔者于2011年9月至2012年6月参与了出入境信息管理系统的升级改造项目。由于甲方已有旧系统正在使用,并承载着重要的出入境信息管理任务。然而,老系统存在几个显著的问题:一是系统运行效率低下,特别是在处理大量出国境申请时,查询和更新操作的响应时间耗时较长,严重影响了用户体验和受理人员的工作效率;二是系统数据存在一定的不准确性,有时会出现实际申请信息与系统中记录的历史数据不一致的情况,给管理工作带来了诸多不便。三是系统的用户界面过时,不符合现代操作习惯,使得用户在使用时感到不便。为了解决这些问题,甲方决定对原有系统进行升级改造。

鉴于出入境信息管理系统的复杂性、涉及人员众多以及项目时间紧凑、资源有限等实际情况,我们决定对原系统的需求进行深入且切实可行的分析。为避免前一系统出现的结构混乱、操作体验较差与运维难度大等问题,我们采取了一种系统性的方法来确保需求的准确性和可行性。由于原有系统已经运行了一段时间,且用户已积累了一定的使用经验,同时基本业务流程保持稳定,我们将需求分析过程划分为三个主要步骤:一是深入分析原有系统的结构,特别是数据库结构和程序操作流程与逻辑;二是在第一步分析的基础上,撰写分层用例图和DFD,既表达需求,又描述数据流程,并提交给客户进行沟通、评审和补充;三是根据第二步的结果,设计系统原型,并通过与客户交流,不断完善和优化需求,最终确定切实可用的需求。接下来,笔者将详细阐述这三个步骤的实施过程。


 第一步:通过逆向工程获取原有系统的基本需求。

由于原有出入境信息管理系统在功能上已基本满足用户需求,并且在长期服务中积累了大量经验,因此,我们可以从中汲取宝贵的信息,避免不必要的摸索。在这一阶段,为了深入分析系统的数据库结构和程序流程,我们主要采用了专业的逆向工程工具。这些工具帮助我们高效地解析了复杂的数据存储结构和程序流程,使得开发人员和高级用户能更清晰地理解系统的工作原理。

我们选择这些工具的原因是原有系统规模庞大、模块众多,且缺乏完整的设计文档。通过工具辅助,我们能够更准确地把握系统的整体架构和细节。在使用这些工具对数据库和程序进行深入分析后,我们初步了解了原系统的结构,并结合实际使用情况,进一步明确了功能和流程的需求。在此基础上,我们采用PowerDesigner整理并记录了初步的需求文档。需要注意的是,在使用这些工具时,我们也遇到了一些挑战。例如,当数据库表字段过多或表间关系复杂时,生成的图表可能会显得混乱且难以阅读。为了克服这一不足,我们采取了一系列措施,如定制化PowerDesigner图表模板、添加注释等,以提高文档的可读性和易用性。

第二步:基于初步分析,继续使用PowerDesigner绘制用例,并明确系统基本需求

在进行了初步的逆向工程之后,我们获取了原有系统的基本需求。为了更直观、更清晰地展现这些需求,并便于客户理解和评审,我们决定在第二步中使用PowerDesigner这一工具。PowerDesigner不仅能够帮助我们深入解析数据库结构,还能通过图形化的方式展示系统的各个组成部分及其关系。在这一阶段,我们主要利用PowerDesigner绘制了数据模型图(PDM)、实体关系图(ERD)以及分层用例图等,以全面、准确地描述系统的需求。

首先,我们根据逆向工程的结果,在PowerDesigner中创建了新系统的实体关系图,直观地展示了系统中各个实体之间的关系,包括一对一、一对多、多对多等关系。这有助于我们深入理解系统的业务逻辑和数据流程。逻辑数据模型,明确了各个数据表、字段以及表之间的关系。接着,我们绘制了新系统的逻辑和物理数据模型,这有助于我们和客户共同理解系统的数据结构和数据存储方式。

最后,我们根据客户的需求和业务流程,绘制了分层用例图。用例图从用户的角度出发,描述了系统的功能和操作流程。通过用例图,我们可以清晰地看到各个用例之间的关系,以及每个用例的具体步骤和期望结果。这不仅有助于我们和客户确认需求,还为后续的开发工作提供了明确的指导。

在完成了这些图形化描述之后,我们将这些图表和文档提交给客户进行评审和补充。客户根据这些直观的图表,更容易地理解了我们的需求分析工作,并提出了宝贵的反馈意见。我们根据客户的反馈对需求进行了进一步的完善和调整。通过使用PowerDesigner并绘制分层用例图等来描述需求,我们不仅提高了需求分析的准确性和效率,还增强了与客户之间的沟通和协作。这为后续的开发工作奠定了坚实的基础,并确保了项目能够按照客户的要求顺利进行。

第三步:使用Axure Pro进行UX设计,完善需求分析与原型设计

在第二步的基础上,我们进入了项目的第三阶段,这一阶段的目标是结合Axure Pro和PowerDesigner两款工具,进一步完善需求分析与原型设计。首先,我们使用Axure Pro创建了可交互的原型。Axure Pro的强大功能使我们能够模拟出非常接近真实系统的交互体验,这帮助客户更直观地理解系统的预期行为。通过原型的交互演示,客户能够在实际开发前对系统有一个更为准确的预期。

与此同时,我们使用PowerDesigner的UML组件工具来绘制功能模块图。功能模块图能够清晰地展示出系统的整体结构,以及各个功能模块(或类、组件)之间的关联。这有助于开发人员和其他利益相关者更好地理解系统的组成和相互关系。通过PowerDesigner,我们不仅绘制了详细的功能结构图,使得复杂的系统结构变得更为清晰易懂。

这种结合Axure Pro和PowerDesigner的工作方式,使我们能够更全面地捕捉和记录客户的需求。Axure Pro提供的交互式原型让客户能够直观地看到系统的未来形态,而PowerDesigner的UML功能结构图则为我们提供了一个逻辑清晰、直观可视的功能框架。最终,经过这一阶段的工作,我们成功地获得了经过客户确认,达到了需求基线,这为后续的开发工作奠定了坚实的基础。

总结这个项目需求分析阶段的工作,我们综合运用了多种工具来提升需求分析和管理的效率。逆向工程分析工具则协助我们从现有系统中提取关键信息,加速了需求分析的进程;PowerDesigner帮助我们进行了数据库结构和业务流程的建模,通过其UML功能,我们能够清晰地绘制出分层用例图,从而更直观地展现系统的功能需求和用户操作流程;Axure Pro清晰地表达了用例图描述的需求,并以可交互式原型展示了系统构建后的状态,这既是需求直观可视的表达,又是进一步挖掘需求的利器;同时,PowerDesigner作为我们的需求管理工具,在整个项目中发挥了不可或缺的作用。它帮助我们系统地组织和跟踪需求变更,提供了强大的版本控制和历史记录功能,使得需求分析过程更为严谨和可追溯。通过这些工具的应用,我们明显感受到了工作效率的提升和项目管理的便捷性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github gitee 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 想看更多 那就点个关注吧 我会尽力带来有趣的内容 本文档基于 https://www.bilibili.com/video/BV1wC4y1Y…

原创未发表!24年新算法SBOA优化TVFEMD实现分解+四种熵值+频谱图+参数变化图+相关系数图!

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 数据介绍 优化流程 创新点 使用TVFEMD的创…

【全面介绍下Spring】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

Excel 分组汇总后删除明细

有 Excel 数据如下所示: IDCriteria1Criteria2Criteria3Criteria4101210271239312381236123171826182918239182120182147 需要按 ID 分组汇总其余列,结果如下: IDCriteria1Criteria2Criteria3Criteria410121027123932561826939267 解法及简…

3D Web轻量化引擎HOOPS Communicator如何处理DWG文件中的图纸?

在当今工程设计和建筑领域,数字化技术已经成为不可或缺的一部分。HOOPS Communicator作为一种强大的三维数据可视化工具,被广泛应用于处理各种CAD文件,其中包括AutoCAD的DWG格式。在这篇文章中,我们将探讨HOOPS Communicator是如何…

stl学习以及abc比赛例题

1.引例 一提到查找,我们一上来想的肯定是find()函数或者search()函数,但是这种查找的底层逻辑终究是用顺序查找的方式,运行的时间成本非常高昂,所以平时能不用就不用,比赛的时候用这种查找和自己while遍历&#xff0c…

Java 常见集合类

集合的整体框架 Java 的集合,也可以叫做容器,根据集合的整体框架可以看出,主要是两大集合接口:第一个是 Collection 接口,主要用来存放单一的元素对象;另一个是 Map 接口,主要用于存储键值对。…

小程序获取手机号,用户昵称,头像

一、手机号 在微信小程序中,获取用户手机号也需要用户的明确授权。你可以使用 button 组件的 open-type 属性设置为 getPhoneNumber 来实现这个功能。当用户点击这个按钮时,会弹出一个对话框请求用户的授权。如果用户同意,你可以在 bindgetp…

共赴科技盛会“2024南京智博会”11月在南京国际博览中心召开

2024年,南京这座历史悠久的文化名城迎来了一场科技与智慧交织的盛会——南京智博会|南京国际智慧城市、物联网、大数据。本次博览会以智慧城市、人工智能、消费电子、物联网、大数据为主题,汇聚了全球各地的智能科技精英,共同探讨智慧城市建设…

46 udp网络程序

查询网络服务的命令 netstat -nlup n: 显示数字 a:显示所有 u:udp服务 p:显示pid Recv-Q收到的数量,本地ip和远端ip,00表示可以收到任何地址 网络聊天 服务端 定义一个server类,成员保存ip地址&#xff…

龟兔赛跑(基于GUI与多线程实现)

直击龟兔赛跑现场 下面这张图是我们设计龟兔赛跑界面的初始效果与基本组成结构: 接下来是我仅代表我个人提出的一些疑问与解答: 1、俩动物以图片的形式显示? 其实在这里两个动物类就像标签一样 标签组件是什么?用于短文本字符串…

从loss角度理解LLM涌现能力

如今的很多研究都表明小模型也能出现涌现能力,本文的作者团队通过大量实验发现模型的涌现能力与模型大小、训练计算量无关,只与预训练loss相关。 作者团队惊奇地发现,不管任何下游任务,不管模型大小,模型出现涌现能力…

云贝教育 |【直播课】5月19日Oracle 19c OCM认证大师课 即将上课了!(附课件预览)

贝教育独家认证课OCM全网价格最低,性价比最高!!! Oracle 19c OCM认证大师培训 - 课程体系 - 云贝教育 (yunbee.net) OCM部分课件预览 Oracle Database 19c Certified Master Exam (OCM) 认证大师 25 天 / 150课时 什么是Oracle 1…

0X JavaSE-- UML、

# Unified Modeling Language UML 统一建模语言 UML 是一种图形化的语言。 UML 不是专门为 Java 准备的。 只要是面向对象的编程语言,开发前的设计,都需要画 UML 图进行系统设计。 最常用的四个 UML 图是 类图(Class Diagram)&…

启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS

ESP32-C3因为其性价比高,价格便宜性能又好一直是量产的首选芯片,随着量产项目扩大,对接云服务器的情况也增加了,接下来小启给大家分享下启明云端ESP32-C3模组——WT32C3系列模组/开发板连接AWS亚马逊云方法。 WT32C3系列模组 WT3…

笨方法自学python(一)

我觉得python和c语言有很多相似之处,如果有c语言基础的话学习python也不是很难。这一系列主要是学习例题来学习python;我用的python版本是3.12 代码编辑器我用的是notepad,运行py程序用cmd 现在开始写第一个程序: print ("…

ViLT 浅析

ViLT 浅析 论文链接:ViLT 文章目录 ViLT 浅析创新点网络结构总结 创新点 本文先分析了4种不同类型的Vision-and-Language Pretraining(VLP) 其中每个矩形的高表示相对计算量大小,VE、TE和MI分别是visual embedding、text embedding和modality interact…

Excel 根据分类及组内序号进行编码

例题描述和简单分析 Excel 记录课程数据,未排序,部分如下: ABC1CourseDateTime2Word1-Sep-209:003Word1-Sep-209:004PowerPoint1-Sep-209:005Word1-Sep-2012:006PowerPoint1-Sep-2012:007Excel1-Sep-2012:008Word1-Sep-2012:00 现在要新增…

【CAD建模号】学习笔记(四):工作平面

工作平面介绍 CAD建模号右侧导航栏提供了很多便捷的工具,有测量工具、坐标系、模型和图层切换、视图切换等。 1. 测量工具组 测量工具可以测量图形的几何体积,长度,角度等。工具组包含如下: 测量几何:可以测量图形的面…

笨方法自学python(二)-注释

注释和#号 程序里的注释是很重要的。它们可以用自然语言告诉你某段代码的功能是什么。在你想要临时移除一段代码时,你还可以用注解的方式将这段代码临时禁用。 # A comment, this is so you can read your program later. # Anything after the # is ignored by py…