系统分析与设计,感觉上是一个需求和软工的大汇总,不温不火,方面很多,只能算是对软件工程的overview。

1.信息收集交互式方法

交互式信息收集有:面谈、联合应用程序设计JAD和调查问卷.

1.1 面谈

1. 面谈的概念
面谈是一种面对面的会谈,目的明确,一般采用问答形式。面谈时,需要获取面谈对象的观点,他们对系统当前状态、组织和个人目标、以及非正规过程的感受。[more…]

  • 调查面谈对象的观点。
  • 尽力获取面谈对象的感受。
  • 目标是尽力收集重要信息,组织的目标。
  • 面谈也是考察HCI问题的宝贵时机。
    2.面谈的5各步骤
    1)阅读背景材料:与面谈对象建立共同词汇
    2)确定面谈目标:问题中应该有4-6个与HCI、信息处理和决策行为有关。
    3)决定面谈对象:按层次和影响力选择谈话对象。
    4)准备面谈对象:打电话或者邮件提前预约
    5)决定问题的类型和结构:金字塔结构、漏斗结构或者菱形的结构

3.问题类型
1)开放式问题
优点:
•让用户谈话自在
•可以收集面谈对象使用的词汇,这能反映其教育背景、价值标准、态度和信念
•提供丰富的细节,广度
•对尚未的进一步的提问方法有启迪作用。
•让面谈对象更感兴趣
•允许更多的自发性
•会见者更容易措辞
•在会见者没有准备的紧要关头采用这种类型
缺点:
•容易不切题,产生太多不相干的细节
•时间冗长,花费大量时间才能获得有用的信息
•可能会让用户觉得你没有准备,不够专业
•留下不好的印象,用户会觉得你在做没有实际意义的调查
•后期数据分析较难

2)封闭式问题
优点
•有针对性,切中要点
•能获得准确、贴切的数据
•时间上可控,节省时间,可以快速探讨大范围问题。
•保持对面谈的控制权
•数据分析容易
缺点:
•让用户厌烦
•得不到丰富的细节,失去主要思想
•不能建立和面谈对象友好的关系

4.问题结构
1)金字塔:先封闭后开放,先具体后一般化,用于用户需要预热,开始拘谨的情况
2)漏斗:先一般后具体,适用用户一开始就有激情的情况
3)菱形:具体——一般——具体,缺点是费时,优点是:具体的问题开始为面谈做好铺垫,再问一般化问题可以收集丰富的信息,再用具体的问题收尾,为面谈提供了结束的时机。

1.2 JAD联合应用程序设计

由IBM开发,一种一对多的面谈方法,目的是节省个人面谈所需的时间,减少成本;改善信息需求评估结果的质量;通过多方一起参加的过程,获得用户对新信息系统的更多的认可。
1.条件
•用户时间有限,一对一面谈不行
•公司文化允许不同层次的职员间联合问题求解
•用户想有点新东西,创新意愿强,而一对一面谈难以得到统一的意见
•组织允许关键职员离职2~4天
2.涉众:
分析员、用户、主管等,
一个沟通能力好的主持人
8~12位不同阶层的用户
需要有两名置身事外的观察员,保证JAD的进行。
3.召开会议地点:一般式2~4天的脱产会议,在远离单位的舒服环境下
4.优点
•比面谈节省时间
•联合协作,可以实现快速软件开发。
•改善信息系统所有权的可能性。让用户早日参与系统,获得用户反馈
•创造性的开发设计,类似头脑风暴
5.缺点
•要求所有参与者抽出大块时间,2~4天
•任何一方准备不充分,或者后续报告和规范文档没有完成,最终得到的设计会不尽人意
•可能还没有充分发展必须得组织技能和组织文化,组织可能还不支持JAD

1.3 问卷调查

问卷调查是一种信息收集技术,它允许系统分析员研究组织中若干关键人物的态度、信念、行为和特征,而这些关键人物可能会受到当前建议系统的影响。
1.使用条件
•组织成员分布广泛
•系统项目涉及许多人
•推荐方案之前必须做探索性工作,希望在确定系统项目具体方向之前评估总体意见。
•希望在后续的面谈中标识并解决当前系统的所有问题。

2.问题类型
1)开放式问题:
要估计开发式问题答复的种类,不能太宽泛
开放式问题适合想了解公司成员对系统的产品方面,或对系统的过程方面的看法的情况,如果不能有效的列出所有可能的答复,考虑开发式问题。
优点:探索性好,广度和深度广,准备问题容易
缺点:完成速度慢,分析数据难
2)封闭式问题
如果要调查大量人员的样本,采用封闭式,数据好统计。
如果能有效的列出问题可能的相互排斥的所有答复,采用封闭式问题。
优点:完成速度快,分析数据容易
缺点:广度和深度窄,准备问题不容易,探索性低

3.措辞的选择
使用一致的和企业业务相关的术语
•保持措辞简练
•使用明确字眼,但避免过度明确问题,如收入等敏感信息
•保持问题简短
•不要选择低水平的语言,不要用高人一等的口气
•避免措辞的偏差
•向合适的人发放问卷,不要采用太多专业知识
•确保问题中涉及的技术的准确
•使用软件检验阅读水平是否合适回答者

4.在问题中的标度的使用
定标:为了度量属性或者特征而为他们分配编号或其他符号的过程。
1)度量:类别标度,区间标度
2)构造定标时要考虑:
有效性:度量的内容的程度
可靠性:度量的一致性,如果相同条件下两次调查一致,就是外部一致性
3)避免的问题
不严格的标度:可以把平均水平移到中心的左边或右边来避免
集中趋势:回答者都回答中间值,可以通过减少两个端点的差异,调整描述符的强度,创建一个更多结点的尺度来改善
光圈效应:避免在一个问题中印象带入下一个问题

5.问卷调查表的设计准则:
•留出充足的空白空间
•留出充足的空间来填写或输入答复
•使回答者能够清楚地标出他们的答复
•保持风格的一致
•提问顺序的选择:
(i)把重要问题放在前面,问题要先人后己,先问用户最关心的问题,再问系统或者调查目的需要的问题
(ii)把相似内容的问题放在一起
(iii)首先提出非敏感和非争议的问题

6.管理问卷调查表
1)回答者:按照调查对象的级别,在公司服务的年限,工作职责和对建议系统的兴趣来选择代表,要选择足够多的代表
2)管理调查问卷的方法:
a)同时召集所有有关回答者
b)亲自发放问卷,并回收
c)允许回答者自我处理,并放入中央的箱子里,如web问卷和email问卷,常用的方法,但是回收率可能低
d)邮寄给职员,并提供截止日期,填写说明和寄回邮资
e)email和web的方式管理

2. 信息收集非干扰性方法

包括:采样、调查、观察决策者行为和物理环境

2.1.采样

1. 定义:从某一种群的系统中选择有代表性的个体
2. 必要性:节约成本、加快数据搜集过程、提高效率、减少偏差
3. 四个步骤

  • 确定要收集或要描述的数据:考虑数据收集方法(调查、面谈、调查问卷和观察等),考虑研究目标
  • 确定采样种群:硬数据(两个月或全年的报表),采样的客户
  • 选择采样类型
  • 决定采样规模
    4. 采样类型:
    1) 便利采样:容易安排,五约束的非概率型采样,最不可靠
    2) 目的采样:选择对系统了解,感兴趣的人,这是非概率型采样,只有适度的可信度
    3) 简单随机采用:每个个体的机会相同,产生一个随机编号表,在文档和报表采用中不切实际。
    4) 复杂采样是最好的

  • 系统采样:在名单中每个K个人选择一个,缺点是存在周期问题,引入偏差,采样大量不成比例的职员

  • 分层采样:最重要的方式,在不同的层次,如管理层,社会阶层,在不同层次中按比例选择。当想对不同层次用户采用不同数据收集方法时采用分层采样。
  • 聚类采样:选择一组人或文档进行研究

5. 采样规模
1) 确定采样属性
2) 定位能查找到的属性的数据库或报表
3) 分析属性,估计p,一般取0.1或0.5
4) 主观是定一个值,i 作为区间估计
5) 选择置信度 z,如 95%时 z=1.96
6) 计算种群比例的标准差 σ=i/z
7) 计算采样规模:n=(p(1-p))/σ^2 + 1
置信度越高采样规模越大
确定面谈时的采样规模: 至少与组织中每个阶层的3个人进行面谈,3个人种至少有一个来自组织中的不同部门。

2.2 调查

调查法:发现数据并对数据进行分析的行为。需要研究不同的硬数据。

2.2.1 分析定量文档

1.用于决策的报表
通常是与库存状态、销售量和生产有关的纸质报表
生产报表:包括最近价格、当前库存、最近劳动力和设备等信息
总结报表:提供公司的背景和战略信息

2.业绩报表: 估计实际业绩和预期业绩的差距

3.记录
a)检查数量和总数的错误。
b)寻找改善记录表格设计的机会
c)观察交易的数目的类型
d)寻求能用计算机简化工作的实例(即,计算和其他数据处理)

4.数据收集表格:有助于理解企业的信息流
a)收集所有正在使用的表格样品
b)标出表格类型:内部,手写,web表等
c)记录打算采用的分发方式
d)将打算采用的分发方式和实际收到表格的人做比较
数据收集表格的分析耗时,还可以对已经填好的数据表格进行采样,需要记住5个问题:
•表格填写完整了么?缺了什么
•有从未使用过的表格么?为什么?
•所有表格都向相应地人做了详细说明么?没有,为什么?
•如果有纸质的表格,和web表格,比较填写速度
•经常使用非官方的表格么?

2.2.2 分析定性文档

电子邮件、备忘录,留言板、工作区的签名、web页面、程序指南和战略手册
5个指导原则:
•检查文档中的关键比喻或主导比喻
•在文档中寻找局内人与局外人或“我们反对他们”的思想状况
•列出褒义或贬义的术语,文档中重复出现的术语
•查找在公共区域Web页面上公布的有意义的图形、标识语和图标的用法。
•识别出幽默感。

1.备忘录: 了解组织成员对价值、态度和信念的看法
2. 公告板或者工作区的标语与海报:体会公司的主流文化
3. 公司中的Web站点:分析网站内容的比喻、幽默和使用的特性(颜色、图形、动画和超级链接),从技术、美学和管理方面调查。 调查web站点和站点间的交互性、消息的可访问性和明显的安全性
4. 指南:程序指南和在线指南,指南很少会保持更新
5. 政策手册:价值观、态度和信念。
老师说不考但是上课说道物理环境,也是调查的一部分:办公设备、布置、公司文化,楼层安排,布告栏,email 论坛,公司色调。

3. 原型化方法

3.1 原型化方法

1. 原型:是实际运行的有产品的主要特征,基于软件最初版本的演习。不需要反映所有的功能,只需有软件功能的子集。
原型化方法是通过原型来获取有关建议系统和系统如何迅速满足用户信息需求的反馈的极好办法。
2. 原型分类一:
水平原型:多种功能的展示
垂直原型:对某一个功能进行详细展示

3.原型分类二(书中的分类)
•拼凑原型:构件一个可以运行,但又是经过修补或者拼凑而得到的系统。
•非操作原型:为了试验设计方案的某些方面而建立的一个非工作比例模型。如汽车实物模型。当编码成本高时采用
•系列首发原型:创建系统的第一个实物工作模型,即试验模型,是可以工作的原型。
•精选特征原型:建立一个包含最终系统部分特性而不是全部特性的可工作模型。

4.原型分类三
•抛弃式原型:尽可能快速开发
•试用型原型:最终的开发平台和原型相同
•试验型原型:最终开发平台与原型不同。

5.原型化方法的优点
•根据用户反馈,不断调整修改
•开发周期短,成本低
•缩短产品和需求的差别,开发出更贴近用户需求和期望的系统
•界面原型在获取用户反馈时有很大优势
•可以在系统开发早期改变系统
•可以中止一个不能工作的系统开发

6.原型化方法的缺点:
•需求不充足,开发者对用户需求不清楚,误解,过早的形成一个系统
•原型和最终系统之间存在差别,用户会误以为是最终系统
•开发者容易依赖原型,不愿意放弃原型
•原型开发成本高时会过度占用开发周期宝贵的时间,最初原型不能超过20%的时间
•经济损耗

7.原型化方法不适用的地方:
嵌入式系统:界面简单,与硬件太接近,需求明确
实时控制软件:搜索引擎,
科学计算:matlab,因需求明确,精度,效率,时间要求明确,模块太多,重要性均等,无法明确判定哪些是重要的需要原型化的。
但是很多应用,如游戏是适用于原型开发的。

3.2 原型开发

1. 原型化方法的要求:
用户是熟练的专家,可以给出反馈
重视界面,如手持设备
成本低,不会占用太长的开发周期

2.开发准则
•引进便于管理的模块:但不用建立完整的工作准则
•快速建立原型
•用连续迭代来修改原型
•强调用户界面:用户可以和原型轻松交互

3.原型开发流程
听取用户意见,修改原型,用户测试,不断循环迭代。

3.3 RAD快速应用程序开发

1. 定义:是一种面向对象的系统开发方法,包括开发方法和开发工具。目标是缩短传统SDLC方法中信息系统的设计和实践之间漫长的时间,反映需求的变更,是原型化方法的一种特殊实现。

2. RAD的阶段

1)需求规划阶段:确定系统的业务目标和信息需求
2)RAD设计研讨会:RAD的核心,与用户共同合作设计系统,讨论设计的非技术方面,并对构建的工作原型给出反馈
3)实现阶段:根据设计,建立、优化、测试新系统

3. Jame Martin RAD 四个阶段

1)需求规划:高级用户决定系统的功能
2)用户设计:与用户交互讨论系统的非技术方面
3)构建阶段:根据设计,用RAD工具构建,并向用户展示新系统,让他们交互、评论和检查。
4)转换阶段:新系统取代旧系统,测试新系统,培训用户

4.优势
•传统SDLC采用的是有序的、系统的开发方法,保证系统的完整性和精确性,
但抵制变更,不能很好地处理需求的变更。
•RAD缩短SDLC,更欢迎变更。

5.使用条件
•团队中有用过RAD的程序员和分析员
•由于商业压力,要求加快应用程序某部分的开发
•从事一项全新的电子商务应用程序,并且开发团队相信,如果应用程序是第一个或第一批出现在web上,则企业作为一个创新者取得竞争优势。
•用户经验丰富,对公司的组织目标高度负责。

6.缺点:缺乏文档

资源:
系统分析与设计part1
系统分析与设计part2
系统分析与设计part3
系统分析与设计part4