Kenming | 28 Feb, 2006 12:49
我常在許多軟體公司與專案經理們討論軟體人員的職掌時,發現到,耶? 怎麼我所認知的 SA/SD 與他們實際的工作內容大大不同。嗯,所以我想就針對 SA/SD 來給個正名與定位吧。
SA, 系統分析師(System Analyst),是對設計中(Under Design)的系統來作分析,既然是分析,那麼,應該是需要 "剖開" 系統內容,來對其系統內部的結構組成元素,以分析其脈絡。所以我覺得系統分析師,也可以稱之為 "結構分析師(Structure Analyst)。
系統分析師的工作,是著重在系統的內部,應該是要能找出與描述系統組成結構的靜態(Static)元素,並利用元素,動態組合以滿足系統外部的功能需求。也就是說,靜態面的結構元素,與功能面的行為(Behavior)描述,均是屬於系統分析師的範疇。幾個主要的產出,包括類別(Class)圖、循序(Sequence)圖、資料庫的 E-R(Entity-Relationship)圖,是 SA 所該負責的,而且,上述的產出是偏向於建立領域概念的模型(Domain Conceptual Model),並非為與平台相依的軟體規格模型(Software Specification Model),與平台相依的軟體模型,是屬於 SD(System Designer) 的範疇。
而一般軟體公司對 SA 的定位,是在於對客戶端操作者(Operator)與領域專家(Domain Expert)的需求訪談。但是,需求面是屬於系統外部的功能面觀點,我一直不認為這是屬於 SA 的工作,正確地來說,這應該是 "需求分析師(RA, Requirement Analyst)" 的範疇。
有趣的是,我發現到,一般對 SA 的要求,還需要包括對使用者介面(User Interface)的設計,為何會需要 UI 的設計? 我想應該是與 SA 訪談的對象,都比較偏於層級比較低的終端操作者,而這些操作者,會很重視 UI 的操作,卻很少能正確地說明系統真正要的功能,往往都是以局部操作者的角度來看待系統。
我發現到,一般軟體公司對 SA 的角色定位太過模糊,以致於 SA 根本就搞不清楚他們要做的是到底是屬於系統外面的工作,還是屬於系統內部的工作。如果能正確地將系統外部的需求分析與系統內部的結構分析作區分,需求分析由 RA 負責;結構分析由 SA 負責。如此,才能界定與釐清系統內與外的工作。
至於 SD,系統設計師(System Designer),焦點仍就於系統內部的結構,與 SA 所不同的是,SA 所建構的是屬於偏向於領域的概念模型;而 SD 則是根據領域模型,再配合實體的平台,如 .NET or J2EE的框架(Framework),考量其效能、穩定、分散與安全性等,所建構而得的軟體規格模型。SD 的主要產出,仍包括了類別圖、循序圖以及 Database Schema,而這些產出,都會與實體的平台相依。例如,具化的軟體模型是以 J2EE 來實做,而就永續層(Persistent Layer)設計考量,SD 是以 Hibernate Framework 來實做,以橋接領域物件與資料庫的永續儲存。
不過,軟體公司對 SD 的定位,反而僅在於對資料庫 Schema 的設計。其實呢,對於 E-R 與 DB Schema,也並沒有相對切分邏輯(Logical)與實體(Physical)的層次(Layer)。邏輯與實體之分,簡單的說,實體的 DB Schema 會考量到與現實所使用的資料庫系統的特性相關,諸如欄位資料型別的定義、Index and Constraint 的設計等...。
一個基本的結論,系統外部的功能性需求分析,係由 RA 所負責。而系統內部的分析與設計,是交由 SA 與 SD 來負責的,而 SA 與 SD 的界限,可以以是否有與實體的平台相依來界定。我們也可以以兩句話來說明分析與設計的關係:
「Do the right thing (分析)」and 「Do the thing right (設計)」。
From
http://www.kenming.idv.tw/
分享到:
相关推荐
CINRAD SA/SB雷达基数据格式是一种特定的气象雷达数据存储方式,广泛应用于气象观测和分析。这种格式主要用于记录雷达的体扫数据,即在不同仰角下的反射率、速度和谱宽信息,以便对大气现象进行三维重建和分析。 1....
欧姆龙带灯式按钮开关 C5SA/C5SB说明书pdf,欧姆龙带灯式按钮开关 C5SA/C5SB:大型、有触感的冲程按钮,均匀的带灯设计。采用背景光源,带灯均匀、美观。考虑到通用设计,采用大型、有触感的冲程按钮。即使单边按下,...
ABB智能照明系统是基于ABB i-bus® EIB/KNX技术构建的,主要使用了SA/S x.10.1型号的Switch Actuator模块,可以实现对多达10路负载的控制。本文将详细介绍该模块的技术参数、工作原理和操作方式。 首先,SA/S x....
无锡世敖仪表说明书 兼容输入21种信号 参数的说明 接线方式 面板说明 型号说明 故障报警参数说明 主要技术指标
软件开发项目规划时SA、SD与SE的区别与重要性 在软件开发项目规划中,SA(System Analysis)、SD(System Designer)和SE(System Engineer)是三个非常重要的角色,但它们之间的区别和重要性却常常被忽视。本文将...
软件开发项目规划时,SA、SD 与 SE 的区别与重要性借鉴 在软件开发项目规划中,SA、SD 和 SE 三个角色是不可或缺的,但是很多人却难以区分它们的差异。本文将对 SA、SD 和 SE 的区别和重要性进行详细的分析。 首先...
《SA6155/SA8155/SA8195 汽车参考平台(ADP AIR)用户指南》 本文档是高通公司及其关联企业为SA6155、SA8155和SA8195汽车参考平台(ADP AIR)提供的用户指南,旨在提供关于这些高性能芯片组的详细信息和使用指导。...
利用模拟退火算法来接受不好的结果来改善粒子群算法,跳出局部最优陷阱。
- **描述**: Telelogical System Architecture软件安装说明,即Rational System Architect (SA) 的安装与升级指南。 #### 标签 - **标签**: SA #### 安装和升级内容概览 1. **安装Rational System Architect ...
根据文档标题与描述中的信息,“80-pe986-1_t_sa8155_sa8150_sa8155p_sa8150p_device_specification”指的是高通公司的SA8155/SA8150/SA8155P/SA8150P系列芯片的技术规范文档。这些芯片主要应用于汽车信息娱乐系统...
hcf4536bey/ne555/ne556/sa555/sa556/se555/se556/ts3v555/ts3v556/ts555/ts556等芯片ad封装库
在本实验中,我们将探讨三种优化算法——模拟退火(Simulated Annealing,简称SA)、遗传算法(Genetic Algorithm,简称GA)以及粒子群优化(Particle Swarm Optimization,简称PSO)来解决这个问题。 首先,模拟...
**SA9302L-CSP49.pdf 文件解析** 标题中的"SA9302L-CSP49.pdf"表明这是一个关于SA9302L集成电路的详细资料,很可能包含该芯片的电路原理图。SA9302是一款专用于音频解码的高性能芯片,由Silicon Labs(芯科实验室)...
SASD,即系统分析与设计,是一门面向全中国各大高校教师的专业课程,由复旦大学管理学院在2004年7月14日推出。这门课程的核心目标是培养系统分析师和系统设计师,旨在使学生掌握现代网络技术环境下信息系统分析与...
飞利浦SA028304K是一款由飞利浦公司推出的智能设备,可能是智能电视、音频设备或某种特定的电子设备。该设备在使用过程中可能会遇到各种故障,需要进行修复以恢复正常功能。"飞利浦sa028304k修复工具"就是针对这类...
制备了壳聚糖-海藻酸钠/聚丙烯腈(CS-SA/PAN)聚离子复合膜,将此膜用于渗透汽化分离乙酸乙酯水溶液.用红外光谱(Fr-IR)表征CS、SA、CS/SA均质膜.研究CS-SA/PAN聚离子复合膜的溶胀性、料液浓度和SA质量分数、操作温度...
使用单片机STM32F103ZET6正点原子开发板 使用外设I2C1 - PB7 SDA ... 3.RX8025SA/SB芯片数据手册中文版; 4.实物图和keil程序仿真图; 基于STM32F103的完整时钟程序,自己创建的完整工程,程序注释清晰详细。