软考(高项)系统分析师--论软件开发模型及应用
文章目录
- 前言
- 一、前期准备:
- 二、论文部分:
前言
本文对系统分析师,软件开发模型及其应用文章进行展示,可以拷贝后直接粘贴到word 文档中。
一、前期准备:
- 项目主体功能
- 项目背景
- 常用的软件开发模型:瀑布模型;原型模型;螺旋模型;V模型;喷泉模型;等
二、论文部分:
摘要:2022年12月,通过公开招标的方式,我所在公司中标x集团地产公司,设计系统的开发工作;我有幸作为系统分析师,参与该项目的分析与设计工作;改系统主要包括,个人工作台,标准化管理,项目管理,系统管理4大功能模块;该项目对设计工作的各个流程进行标准化模块管理,建立线上标准化产品库,并且联动成本系统和运营系统,对标准化模块进行成本赋能,结合营销导向定位,精准解决项目痛点,提高项目利润;同时标准化的管理流程,提高工作效率,减少管理成本。该项目于2023年11月,历时11个月,正式交付运行至今,受到客户的一致好评;由于该系统成本系统和运营系统的中间层,对系统的可靠性和性能都有较高要求。本文结合笔者的实际工作经验,对项目的开发模型及应用进行论述;首先,根据开发模型的特点以及综合考虑到需求方面,小组成员的经验和技术,经过项目组成员的开会讨论,我们决定使用RUP 模型进行开发;其次,根据RUP模型的特定,我们将项目开发分为4个阶段和若干迭代,在项目早期尽可能的消除风险;最后,论述笔者在本项目的经验经验总结,不足以及改进方法;项目背景:x集团地产公司下,有x个局院;由于历时原因及行业特点,每个局院都建立了自己的项目管理,集中采购,ERP等系统;目前行业系统的建设方式有国内软件,国外软件,以及自己局院各自开发的系统;这些系统或基于各自单位的业务需求,或基于特级资质的基本要求,各单位系统之间尚未有效集成,无法确保数据从产生到使用的及时性和准确性;在业务层面上各单位的应用水平差异大,基本功能模块类似,重复投资;在数据层面上,各单位主数据不一致,出现指标同名不同义,同义不同名,相同指标口径计算不一致,各单位系统数据孤立;从技术层面上,各单位技术平台水平差异大,多数单位系统架构落后,给集成,升级和维护造成困难;从运维层面上来说各单位的运维能力不足,未能建立完善的运维体系;基于此个局院地产需要统一建立一套系统;2022年12月,通过公开招标的方式,我所在公司中标x集团地产公司,设计系统的开发工作;我有幸作为系统分析师,参与该项目的分析与设计工作;改系统目的是实现,地产设计研发,项目管理全过程的规范化,动态化管控;改系统主要包括个人工作台,标准化管理,项目管理,系统管理4个模块;其中个人工作台,用于登录用户用于查看代办任务,公告信息等;标准化管理模:将产品设计标准化管理,对设计管理过程中用到的数据进行在线化标准化管理;项目管理模块:对项目设计业务的全过程进行管理,运用分级管控模式,实现设计全专业的计划流管控;系统管理:实现对用户权限及基础字典进行管理;过度:在开发过程中,我们常用的有瀑布模型,原型模型,敏捷开发模型,RUP统一过程模型;其中,瀑布模型特点是自上而下,依次执行,前一过程的产出物是后一过程的输入物,该模型适应于需求明确的场景,因为其结构化的特点,后期对于需求的变动和数据的变动难以应对;
其中,原型模型特点是给出客户原型,然后经过客户评审,评审通过之后进行实现,适应于需求不明确的场景,因为其经过客户的评审,后续用户对实现的功能容易接受,不过改模型并没有很好的对其风险进行考虑;RUP统一过程模型也是一种迭代模型,改模型在前期就尽可能的消除风险点。经过项目组成员的讨论最终确定使用RUP统一过程模型进行项目的开发,我们将项目开发分为4个阶段和若干迭代,在初始阶段通过和领导层用户进行访谈,确定项目的主体功能,通过需求联合会议对不明确的需求进一步进行讨论,最终形成需求规格说明基线文档,并通过客户的审核;在细化阶段根据系统的模块,使用B/S架构,微服务模块,将整体服务拆分为系统设置,项目管理,标准化管理,个人工作台4个小服务,分为3次迭代,根据用户的需求,确定系统的体系架构;在构建阶段:分为4次迭代,3个开发小组并行开发,对所有用例完成集成测试,和系统测试,主要模块达到10%的路径覆盖;移交阶段,首先根据用户的需求使用程序进行历史数据的迁移,然后部署Beta 版本,进行测试和修改,并对用户进行培训,最终协助用户完成系统的验收。下文主要对RUP的前3个阶段进行论述;正文:初始化阶段,包括一个迭代,4周时间。首先,我们通过访谈x集团公司几位高层领导的方式,获取到了项目预期的功能,并且获取到了在招标文档没有明确的系统性能要求;其次,我们邀请x集团的中层领导,以及核心研发人员,进行线上会议,对一些有争论的需求,进行讨论,从而完成需求的确定;其中我们着重讨论了x个局院,对于各自数据存储的要求,并结合实际,确定每个局院各自存储本局院的数据,可以在技术层面上对各个局院的数据进行汇总整理,出具数据的可视化图形报表;最后,通过数据流图,功能原型,来分析确定需求,并排出需求的优先级,形成《需求的规格说明书》的初稿,并通过用户的评审。精细化阶段,包括3个迭代,每个迭代耗时三周。系统整体使用BS架构,采用微服务模式进行项目的开发;对于每个迭代都完成一个原型,消除一个主要风险。分别是:多个局院使用同一套系统,如何保证数据的隔离,及对多个局院的数据进行报表统计;对接上下游系统的接口如何保证数据的安全及接口性能要求满足;各个系统怎么能确保数据主键id的唯一性,从而保证数据可以顺利入湖;这里特别指出对于数据的隔离体系,用户提出多个局院数据可以放入同一个库使用局院编码进行区分,通过实际测试发现,改方案不能满足接口的性能要求以及违背项目的易维护性要求,我们提出了一种新的数据隔离体系,使用多数据源动态切换来实现数据隔离,开发新的模型,并且通过测试验证新的体系满足性能及易维护性的要求,最终客户接受了我们的方案。我们更新了需求规格说明书软件体系结构文档,并通过用户的评审。构建阶段,我们分为3个小组并行开发,包括5个迭代,每个迭代耗时五周。分别是:设计系统人员的单点登录,并根据用户角色展示不同的数据操作权限,进行操作权限隔离;为不同的业务建立对应指标标准库,初始化指标的标准模版,完成指标的标准化定义;完成核心业务如项目管理下的,楼栋地块管理,分期计划轨道,面积指标,产品适配,成果管理等功能;对接下游系统的审批流程及推送对审批通过的指标进行数据推送;个人工作台展示代办任务及公告信息,是其可以可以进行在线办公;每次迭代都将成果展示给客户,使用户了解项目的进度和功能,并收集客户端的反馈,及时调整开发。开发完成对所有用例完成集成测试和系统测试,主模块达到了10%的路径覆盖,出具测试报告,确保了项目的功能。改阶段结束后向用户提供项目的Beta 版本。移交阶段:包括一个迭代,四周时间;首先通过程序对用户的原有项目及分期数据进行迁移;其次,部署Beta 版本供用户测试,收集用户反馈,对系统的缺陷及时进行修改;最后,对用户进行了培训,并配合用户完成系统的验收。结尾:从2020年12月项目开始,历时11个月,该项目于2023年11月正式上线运行至今,受到了客户的一直好评;在本次项目中,我对RUP 开发模型有了更加深刻的学习和体会,对RUP的四个过程有了更加清晰的认识;,众人拾柴火焰高,一个项目的成功上线离不开团队的每一位成员的辛勤付出。同时也意识到随着用户需求的演变,对应软件开发的模型也在逐步演变,一些新的软件开发模型也在应运而生,如敏捷开发,极限编程等,不同的开发模型有着各自的特点,我还需要积极学习更多的开发模型,总结各个开发的优缺点及使用场景,在未来的软件分析与设计中更好的进行应用和实践。
相关文章:
软考(高项)系统分析师--论软件开发模型及应用
文章目录 前言一、前期准备:二、论文部分: 前言 本文对系统分析师,软件开发模型及其应用文章进行展示,可以拷贝后直接粘贴到word 文档中。 一、前期准备: 项目主体功能项目背景常用的软件开发模型:瀑布模型ÿ…...
同一天提档又撤档!电影《野孩子》宣布取消7月10日公映安排——浔川电影报
同一天提档又撤档! 7月3日晚上10点,电影野孩子 发声明官宣撤档,“由于后期进度原因,电影《野孩子》将取消7月10日的公映安排,我们向各影管院线的同仁及所有观众朋友们致以最诚挚的歉意,谢谢大家这段时间的…...
Shell编程之免交互
一、Here Document免交互 1:概述 Here Document 是一个特殊用途的代码块,它在 Linux Shell 中使用 I/O 重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、cat 或 read 命令,Here Document 是标准输入的一种替代品 语法…...

基于opencv的斜光测距及python实现
1.前言 最近做了一个基于opencv的斜光测距的小项目,东西不多,但是很有意思,值得拿出来学一学。项目里面需要比较精确的定位功能,将前人matlab代码移植到python上,并且做了一些优化,简化逻辑(毕竟我是专业的…...
梯度下降算法
占楼,明天写...
第5章:软件工程
第5章:软件工程 软件工程概述 软件生命周期 软件过程 1.能力成熟度模型(CMM) CMM(能力成熟度模型)是一个评估和确定组织软件过程成熟度的模型。它最早于1987年由美国国防部软件工程研究所(SEI)提出,其目的…...
cefsharp在splitContainer.Panel2中显示调试工具DevTools(非弹出式)含源代码
一、弹出式调试工具 (ShowDevTools) ChromiumWebBrowser webbrowser; public void showDevTools(){//定位到某元素webbrowser.ShowDevTools(null, parameters.XCoord, parameters.YCoord);...

nginx部署多个项目;vue打包项目部署设置子路径访问;一个根域名(端口)配置多个子项目
本文解决: vue打包项目部署设置子路径访问;nginx部署多个子项目;一个ip/域名 端口 配置多个子项目;配置后,项目能访问,但是刷新页面就丢失的问题 注:本文需要nginx配置基础。基础不牢的可见文…...

02-部署LVS-DR群集
1.LVS-DR工作原理 LVS-DR模式,Director Server作为群集的访问入口,不作为网购使用,节点Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过Director Server 为了响应对整个群集的访问,…...

DataWhale-吃瓜教程学习笔记 (六)
学习视频**:第4章-决策树_哔哩哔哩_bilibili 西瓜书对应章节: 第五章 5.1;5.2;5.3 文章目录 MP 神经元- 感知机模型 (分类模型)-- 损失函数定义--- 感知机学习算法 - 随机梯度下降法 - 神经网络需要解决的问…...

在docker配置Nginx环境配置
应用于商业模式集中,对于各种API的调用,对于我们想要的功能进行暴露,对于不用的进行拦截进行鉴权。用于后面的付费 开发环境 正式上线模式 一、常用命令 停止:docker stop Nginx重启:docker restart Nginx删除服务&a…...
在不修改.gitignore的情况下,忽略个人文件的提交
Git提供了一个assume-unchanged命令,可以将文件标记为“假设未更改”。这意味着Git将忽略该文件的更改,不会将其提交到仓库中。要使用该命令,只需运行以下命令: git update-index --assume-unchanged <file>其中࿰…...

【Unity navmeshaggent 组件】
【Unity navmeshaggent 组件】 组件概述: NavMeshAgent是Unity AI系统中的一个组件,它允许游戏对象(通常是一个角色或AI)在导航网格(NavMesh)上自动寻路。 组件属性: Radius:导航…...

51单片机第18步_将TIM0用作13位定时器
本章重点学习将TIM0用作13位定时器。 1、定时器0工作在模式0框图 2、定时器0工作在模式0举例 1、Keil C51中有一些关键字,需要牢记: interrupt 0:指定当前函数为外部中断0; interrupt 1:指定当前函数为定时器0中断…...

构建现代医疗:互联网医院系统源码与电子处方小程序开发教学
本篇文章,笔者将探讨互联网医院系统的源码结构和电子处方小程序的开发,帮助读者更好地理解和掌握这些前沿技术。 一、互联网医院系统源码结构 互联网医院系统通常由多个模块组成,每个模块负责不同的功能。以下是一个典型的互联网医院系统的主…...

2024亚太赛(中文赛)数学建模竞赛选题建议+初步分析
提示:DS C君认为的难度:B<C<A,开放度:C<A<B。 综合评价来看 A题适合有较强计算几何和优化能力的团队,难度较高,但适用面较窄。 B题数据处理和分析为主,适合数据科学背景的团队…...

10 - Python文件编程和异常
文件和异常 在实际开发中,常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,对于这个概念,维基百科上给出…...

AI绘画-Stable Diffusion 原理介绍及使用
引言 好像很多朋友对AI绘图有兴趣,AI绘画背后,依旧是大模型的训练。但绘图类AI对计算机显卡有较高要求。建议先了解基本原理及如何使用,在看看如何实现自己垂直行业的绘图AI逻辑。或者作为使用者,调用已有的server接口。 首先需…...

2024年过半,新能源车谁在掉链子?
2024年过半之际,各品牌上半年的销量数据也相继出炉,是时候考察今年以来的表现了。 理想和鸿蒙智行两大增程霸主占据头两名,仍处于焦灼状态;极氪和蔚来作为高端纯电品牌紧随其后,两者之间差距很小;零跑和哪…...

离线查询+线段树,CF522D - Closest Equals
一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 522D - Closest Equals 二、解题报告 1、思路分析 考虑查询区间已经给出,我们可以离线查询 对于这类区间离线查询的问题我们通常可以通过左端点排序,然后遍历询问同时维护左区间信息…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...