当前位置: 首页 > news >正文

软考(高项)系统分析师--论软件开发模型及应用

文章目录

  • 前言
  • 一、前期准备:
  • 二、论文部分:


前言

本文对系统分析师,软件开发模型及其应用文章进行展示,可以拷贝后直接粘贴到word 文档中。


一、前期准备:

  • 项目主体功能
  • 项目背景
  • 常用的软件开发模型:瀑布模型;原型模型;螺旋模型;V模型;喷泉模型;等

二、论文部分:

摘要:202212月,通过公开招标的方式,我所在公司中标x集团地产公司,设计系统的开发工作;我有幸作为系统分析师,参与该项目的分析与设计工作;改系统主要包括,个人工作台,标准化管理,项目管理,系统管理4大功能模块;该项目对设计工作的各个流程进行标准化模块管理,建立线上标准化产品库,并且联动成本系统和运营系统,对标准化模块进行成本赋能,结合营销导向定位,精准解决项目痛点,提高项目利润;同时标准化的管理流程,提高工作效率,减少管理成本。该项目于202311月,历时11个月,正式交付运行至今,受到客户的一致好评;由于该系统成本系统和运营系统的中间层,对系统的可靠性和性能都有较高要求。本文结合笔者的实际工作经验,对项目的开发模型及应用进行论述;首先,根据开发模型的特点以及综合考虑到需求方面,小组成员的经验和技术,经过项目组成员的开会讨论,我们决定使用RUP 模型进行开发;其次,根据RUP模型的特定,我们将项目开发分为4个阶段和若干迭代,在项目早期尽可能的消除风险;最后,论述笔者在本项目的经验经验总结,不足以及改进方法;项目背景:x集团地产公司下,有x个局院;由于历时原因及行业特点,每个局院都建立了自己的项目管理,集中采购,ERP等系统;目前行业系统的建设方式有国内软件,国外软件,以及自己局院各自开发的系统;这些系统或基于各自单位的业务需求,或基于特级资质的基本要求,各单位系统之间尚未有效集成,无法确保数据从产生到使用的及时性和准确性;在业务层面上各单位的应用水平差异大,基本功能模块类似,重复投资;在数据层面上,各单位主数据不一致,出现指标同名不同义,同义不同名,相同指标口径计算不一致,各单位系统数据孤立;从技术层面上,各单位技术平台水平差异大,多数单位系统架构落后,给集成,升级和维护造成困难;从运维层面上来说各单位的运维能力不足,未能建立完善的运维体系;基于此个局院地产需要统一建立一套系统;202212月,通过公开招标的方式,我所在公司中标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 版本供用户测试,收集用户反馈,对系统的缺陷及时进行修改;最后,对用户进行了培训,并配合用户完成系统的验收。结尾:从202012月项目开始,历时11个月,该项目于202311月正式上线运行至今,受到了客户的一直好评;在本次项目中,我对RUP 开发模型有了更加深刻的学习和体会,对RUP的四个过程有了更加清晰的认识;,众人拾柴火焰高,一个项目的成功上线离不开团队的每一位成员的辛勤付出。同时也意识到随着用户需求的演变,对应软件开发的模型也在逐步演变,一些新的软件开发模型也在应运而生,如敏捷开发,极限编程等,不同的开发模型有着各自的特点,我还需要积极学习更多的开发模型,总结各个开发的优缺点及使用场景,在未来的软件分析与设计中更好的进行应用和实践。

相关文章:

软考(高项)系统分析师--论软件开发模型及应用

文章目录 前言一、前期准备:二、论文部分: 前言 本文对系统分析师,软件开发模型及其应用文章进行展示,可以拷贝后直接粘贴到word 文档中。 一、前期准备: 项目主体功能项目背景常用的软件开发模型:瀑布模型&#xff…...

同一天提档又撤档!电影《野孩子》宣布取消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命令&#xff0c;可以将文件标记为“假设未更改”。这意味着Git将忽略该文件的更改&#xff0c;不会将其提交到仓库中。要使用该命令&#xff0c;只需运行以下命令&#xff1a; git update-index --assume-unchanged <file>其中&#xff0…...

【Unity navmeshaggent 组件】

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

51单片机第18步_将TIM0用作13位定时器

本章重点学习将TIM0用作13位定时器。 1、定时器0工作在模式0框图 2、定时器0工作在模式0举例 1、Keil C51中有一些关键字&#xff0c;需要牢记&#xff1a; interrupt 0&#xff1a;指定当前函数为外部中断0&#xff1b; interrupt 1&#xff1a;指定当前函数为定时器0中断…...

构建现代医疗:互联网医院系统源码与电子处方小程序开发教学

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

2024亚太赛(中文赛)数学建模竞赛选题建议+初步分析

提示&#xff1a;DS C君认为的难度&#xff1a;B<C<A&#xff0c;开放度&#xff1a;C<A<B。 综合评价来看 A题适合有较强计算几何和优化能力的团队&#xff0c;难度较高&#xff0c;但适用面较窄。 B题数据处理和分析为主&#xff0c;适合数据科学背景的团队…...

10 - Python文件编程和异常

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

AI绘画-Stable Diffusion 原理介绍及使用

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

2024年过半,新能源车谁在掉链子?

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

离线查询+线段树,CF522D - Closest Equals

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 522D - Closest Equals 二、解题报告 1、思路分析 考虑查询区间已经给出&#xff0c;我们可以离线查询 对于这类区间离线查询的问题我们通常可以通过左端点排序&#xff0c;然后遍历询问同时维护左区间信息…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...