带你读《SAS数据分析开发之道 软件质量的维度》第一章概览1.1引言(一)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 《SAS数据分析开发之道 软件质量的维度》第一章概览1.1引言(一)

     数据分析开发:在软件开发过程中,最终的商业价值并非来自于软件产品,而是源于附属的数据产品,包括数据集、数据库、分析、报告及数据驱动的决策。

在数据分析开发中,软件的创建和使用便意味着一种结束,但软件本身并不是最终的产品。相反,软件被设计用于实现数据提取、筛选、转化、分析、呈现及其他围绕数据等过程的自动化。通过产生的结果,后续的数据产品为利益相关者带去他们所需要的信息和知识。因此,软件产品本身可能并没有什么商业价值,但它是价值产生的关键——生成宝贵的数据产品。作为数据分析开发的语言,BaseSAS用于开发SAS软件产品(SAS从业人员创建的程序,这些软件产品会在SAS应用程序(SAS编辑器中编辑和运行,用于各种各样从SAS公司购买或由其提供的 SAS界面中

SASDisplayManager、SASEnterpriseGuide、SASUniversityEdition

数据分析软件通常会在一个称为终端用户开发环境中产生,在该环境中,软件开    发人员同时也是软件的终端用户。在终端用户开发环境中,软件永远不会被转让或卖    给第三方,而是由开发人员或开发团队来使用和维护。例如,一名金融欺诈分析专员    可能需要生成一份周报表,详细地罗列出可疑的信用卡交易来验证和调整欺诈检测算    法。他需要开发出一套可重复的 SAS 程序,以生成能够满足客户需要的结果。但是,该分析专员是一个终端用户开发人员,因为他负责编写软件,同时也负责参照数据输    出生成一份周报表。需要注意的是,该例子代表的是终端用户开发环境中的数据分析    开发。

传统的、以用户为中心的软件应用程序开发与数据分析开发形成强烈的对比,因    为其终端商业价值是通过软件自身的生产和递送产生的。例如,当   Microsoft   公司开发人员创建出如 MicrosoftWordExcel 等产品时,这些软件产品一旦运行就会带来商业价值,因为产品是由第三方用户使用和购买的。SDLC      在购买之后将继续延续, 但只是存在于   Microsoft   的维护活动中,如开发和发布软件修补程序。下面我们会将数据分析开发环境与终端用户开发环境和传统开发环境进行对比和分析。


区分数据分析开发


我们为什么要区分数据分析开发环境呢?因为它们不仅影响软件的质量和性能,    还能帮助我们更好地理解每种开发环境的优缺点。

讲得更清楚的一点是,数据分析开发环境、终端用户开发环境以及传统开发环境之间并不是相互孤立的,图1-1所示为3种开发环境之间的相互关系,数据分析开发的大部分内容都离不开终端用户开发环境。

image.png

1-1    软件开发环境

 

基于许多原因,数据分析 - 终端用户开发环境融合模式是数据分析开发中最常见的模式,主要是数据分析软件的创建并不是为了获得软件,而是需要解决一些问题,生成某些结果或制定一些决策。例如,金融专员需要撰写一份欺诈类别及欺诈检测精度的报告,然后会创建SAS软件实现报告撰写的自动化和标准化。创建数据分析软件的 SAS从业人员通常需要对手头处理、分析或使用的数据有非常深入的了解,这样才能确保自己创建出有效的数据产品,做出正确的决定。因此,SAS从业人员首先应该是一位金融专员,但是主要的责任是软件开发、测试、运行及维护。

BaseSAS 软件在技术层面的缺陷也促使数据分析开发环境依赖于终端用户开发环境。由于 BaseSAS 软件需要在执行时进行编辑,因此,该软件的代码在开发测试和生产阶段都是没有加密过的文件,这样做的弊端是无法实现标准化和软件加密所需的确定性,而加密则是软件开发过程中所必需的。出于这一原因,针对第三方用户数据库研发和销售 SAS   软件的公司根本就没有销售市场,因为软件的深层代码能够被他人自由检测、复制和转发。而且,没有加密,BaseSAS代码的可获得性使SAS从业人员能轻而易举地探索和干预代码,降低了软件的安全性和整合性。

数据分析- 传统开发环境融合模式在SAS软件中不像上述模式那么常见,但描述了数据分析软件,让人们知道该软件确实能够带来最终的商业价值,而并非是一个最终的产品。该模式在开发环境中也是比较常见的,在该模式下,除了分析团队或软件操作团队之外,还有独立的研发团队,例如,SAS开发人员的一个团队可能会编写提取 - 转化 - 加载ETL软件或分析软件,之后该软件会交给一个独立的分析专业团队或其他专业团队,这些人员会使用该软件及其相关的数据产品。开发团队可能会负责该软件的操作及维护O&M,包括软件使用培训、维护及计算软件的使用期限,但除此之外,开发团队不会使用自己开发的软件,也不会与软件进行互动。

数据分析 - 传统开发环境确实存在,它们创建的软件通常只供团队内部使用。发团队与其支持的团队之间有时会有服务等级协议(SLA,ServiceLevelAgreement开发出的 SAS软件通常不会进行销售。由于 SAS 代码是没有加密过的文件,可随意进行检测,因此,SAS 开发团队几乎不会将软件销售出去。所以,SAS专业人员通 常会在这个小环境中运作,为企业提供有针对性的软件开发支持。

终端用户 - 传统开发环境融合模式中的软件是由 SAS从业人员开发的,也是供这些人员使用的,但这些软件并不是以数据为中心的。此类SAS软件不会处理或分析各种各样的数据,它是一个由用户输入信息驱动的、独立的应用程序。例如,如果某个 SAS从业人员花费了几周的时间在 BaseSAS编辑和创建ParkerBrother梦幻棋盘游戏     Monopoly,那么软件本身就是最终的产品。当然,一个分析专员是否能够保住自己的工作,取决于他的管理层是否能够认识到他所带来的价值。

由于数据分析开发可能会在终端用户开发环境中进行,因此,本书只讨论传统开发环境和其他开发环境的优缺点,而不详细讲述传统开发环境。我们将在下一部分讲述终端用户开发环境的优缺点。



相关文章
|
3月前
|
数据采集 存储 监控
数据驱动开发:如何将数据分析融入开发流程
【8月更文挑战第14天】数据驱动开发是一种高效、智能的软件开发方法论,它通过将数据分析深度融入开发流程中,实现了精准决策、提升效率和持续改进的目标。为了成功实施数据驱动开发,团队需要明确数据需求、设计合理的数据架构、集成数据收集工具、实施CI/CD流程、进行数据分析与决策支持以及建立反馈循环机制。同时,还需要应对数据质量、技术和组织与文化等挑战。通过不断努力和实践,团队可以逐步建立起完善的数据驱动开发体系,推动产品不断迭代升级和业务持续增长。
|
5月前
|
存储 弹性计算 DataWorks
云端开发与数据分析的强强联合
通过这次方案的搭建和使用,我更加确信阿里云产品组合是企业数字化转型的强大助力。我鼓励大家积极探索和尝试这些服务,以发掘它们在实际业务中的潜力和价值。我深刻体会到了阿里云产品组合的强大能力和灵活性。它们不仅帮助我们解决了实际问题,还为未来的发展提供了坚实的基础。我强烈推荐其他企业和开发者尝试这样的产品组合,以提升开发效率和数据处理能力。
135 35
|
5月前
|
存储 数据挖掘 索引
Python streamlit框架开发数据分析网站并免费部署
使用Python的Streamlit框架,开发了一个在线数据分析工具,替代Excel查看设备温度CSV数据。通过pandas读取数据,matplotlib绘制图表。程序处理CSV,提取所需列,计算最大最小平均值,用户可多选查看特定数据。[GitHub](https://github.com/yigedaigua/MGHB)上有完整代码,应用已部署至Streamlit Cloud。
116 1
|
6月前
|
数据可视化 数据挖掘 Python
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
147 0
|
6月前
|
机器学习/深度学习 数据挖掘 BI
推荐一款 Python 数据分析报告开发与分享神器
推荐一款 Python 数据分析报告开发与分享神器
120 0
|
6月前
|
机器学习/深度学习 数据采集 人工智能
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
120 0
|
SQL 数据采集 数据可视化
数据开发模块中的SQL和数据分析模块中的SQL查询
数据开发模块中的SQL和数据分析模块中的SQL查询
176 1
|
数据挖掘
怎么理解数据分析、维度和指标?
怎么理解数据分析、维度和指标?
|
3月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
82 2
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
185 4