软考(高项)系统分析师--论软件开发模型及应用
文章目录
- 前言
- 一、前期准备:
- 二、论文部分:
前言
本文对系统分析师,软件开发模型及其应用文章进行展示,可以拷贝后直接粘贴到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、思路分析 考虑查询区间已经给出,我们可以离线查询 对于这类区间离线查询的问题我们通常可以通过左端点排序,然后遍历询问同时维护左区间信息…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
