笫一类为:不需要客户化的软件产品如系统软件中的操作系统、编译系统、数据库管理系数、 CASE工具,以及应用软件中的杀病毒工具、游戏系统等。这些软件产品的通用性太强,用 户买来安装
Z后,直接使用即可。所以用户群特大,儿乎是全球所有客户。
第二类是只需要少量客户化工作的软件产品,如财务系统、保险系统、金融证券系统、税务 系统、海关系统、政府办公系统、公检法系统、电力控制系统、电信计费系统等。因为这些 行业专业性强,各种法规制度健全,业务流程规范,信息标准化工作基础扎实。这些软件产 品尽管也需要适当的客户化,如代码表的修改及初始化,报表与查询格式的调整,但全局性 的数据库和数据结构不会改变。这种客户化的工作,仅仅是程序代码级的,不是数据库和数 据结构级的。第三类是需要重新做业务流程规范和需求规格定义的软件产品,这种软件产品 的客户化工作量大,工期也较长,如分行业的管理信息系统MIS、分行业的企业资源规划系 统ERP、分行业的客户关系。
10.2怎样解释“客户化”和“初始化”两个名词的含义及关系?
客户化:按照客户的实际需求,对软件产品的功能、性能、接口作适当的修改。
初始化:按照客户的实际情况,对软件产品的代码表(又称数据字典)进行初始化,即将客户 的各种信息编码录入到相应的代码中。此外,初始化还包插数据库中所有基本表的数据加载, 即所有基本表屮必要记录的录入工作。
二者关系:初始化工作简单,客户化工作复杂。客户化工作中自然包含了初始化工作,初始 化工作只是客户化工作的一小部分。
10.3软件项目与软件产品有什么不同? 软件产品是指不局限于特定业务领域、能被广大用户直接使用的软件系统。 软件项目是指针对特定业务领域、需要提供业务流程重组与优化的软件系统。 软件产品主要考虑通用性,而软件项目更多是满足具体客户的特点。 10.4软件产品发布的方式有哪几种?
⑴聘请各有关领导、新闻媒体记者及大客户代表,召开新闻发布会,宣布新产品的优点, 描述其市场前景,现场演示介绍,厂商给嘉宾和客人送产品资料和纪念品。
⑵在报纸、刊物、电视台、电台上做广告,宣传软件产品。 ⑶在各种交易会、展览会、博览会上租用摊位,展示软件产品。
10.5三类软件产品的发布策略有何差异?
第一类不需要客户化的软件产品,在软件产品分布时只需要一份广告,它为客户准备的 文档资料只是一份用户指南而且这份用户指南不是随意赠送的,必须与产品一起打包销售。
第二类只需要少量客户化工作的软件产品,在软件产品发布时除了一份广告之外,还准 备了一份赠送给客户的文档资料,它是一份软件产品客户化的宣传方案。它的用户指南内容: 用户使用手册、用户安装手册、系统管理员手册,不是随意赠送的,必须与产品一起打包销 售。
第三类需要重新做业务流程规范和需求规格定义的软件产品,在软件产品发布吋除了一 份广告外,还要准备一份赠送给客户的资料是行业应用软件框架,或是行业应用软件解决方 案,该份资料不大详细,不会暴露软件企业的技术机密。
10.6售前工程师为什么应该是该产品所属行业的行业领域专家?
因为售前工程师的工作职责是制订投标书,讲解投标书,主持技术谈判,参与合同签约,制 订初步的实施计划,而对此需要具备的素质要求是演讲能力强,气质风度高,业务素质好, 能用
office I具制作漂亮的投标书,是该产品所属行业领域的行业领域专家。只有是该产品 所属行业的行业领域专家,才能担当起产品经理和产品形象代表的重任。这样的售前工程师, 讲解投标书吋,客户才会口服心服,赞叹不己。
10.7怎样理解“软件工程的覆盖范围包括了售前、售中、售后三个阶段的工作” ?
售前的投标书,要按照软件企业提供的统一模板去制订,附件要规定软件的功能、性能和接 口内容,初步的实施计划应是后面的开发计划的基础。
售前主要是面对己经有意向购买产品的人,是接手销售人员后,跟进客户,了解客户实质需 求,如果是软件行业,还包扌舌了写方案,参与招投标等工作,工作性质是销售和技术参半。 售中实际上主要是实施过程,客户购买了产品,需耍实施,可能是长期或者短期,但是负责 此工作类型的人一般是多年的老技术人员。工作性质属于纯技术。
售后的工作性质比较简单,基本属于服务型,包括接接电话,上门调试维护等,也需要有一 定的技术基础。但是这个看每个公司而定,可能大体都不相同。 10.8怎样理解实施工程师的职责与素质?
职责是:产品安装调试,产品的客户化,用户培训,产品验收交付
素质要求是:对该产品的功能、性能、接口很熟悉,初始化和客户化工作很清楚,动手能力 强 是产品安装调试、产品客户化、初始化、用户培训教育、产品验收交付的主体。一般来说, 为了完成此项工作,在产品发布前,软件企业要对他们进行专门培训,使他们掌握该产品的 功能、性能、接口,熟悉产品运行的软硬件坏境,熟练地安装调试系统,不但要会初始化系 统,而且要会客户化系统。
对于第1类产品,实施工程师将光盘上的软件产品,安装到用户系统上去即可。若客户需要 培训,可以定期组织培训班,培训教材就是产品的用户指南。
对于第2类产品,实施工程师首先是要进行调查和需求分析,在与客户达成完全一致 的书面需求修改意见、并且经过评审和批准之后,再对软件产品的文档和程序进行修改和测 试,测试合格才能试运行,试运行成功才能正式运行,正式运行成功才能验收交付。 对于第3类产品,实施工程师的职责相当于项目经理,或者就需要成立软件项目组,任命项 目经理。
在项目经理的组织下,运用快速原型法,重新做业务流程规范和需求规格定义,每 规
范和定义一次,就产生一个新的原型,然后将新的原型演示给客户看,征求他们在的意见, 直到客户满意、确认为止。
在快速原型的迭代过程中,有两点必须注意:一是客户代表必须全程参加,二是文 档与
程序必须保持绝对一致。这样的实施过程,实际上相当于一次开发过程,人们有吋将它 称为“二次开发〃。
10.9请编写一份“图书馆信息系统”的实施计划。 图书馆管理信息系统——规划报告(供参考)
1. 提出需求:
长期以來,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。在 借书时,读者首先要将借的书和借阅证交给工作人员,工作人员然后将每本书的信息卡片和 读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。在还 书时,
读者首先将要还的书交给工作人员,工作人员然后根据图书信息找到相应的借书卡和 借阅证,并填写相应的还书信息。
从上述中可以发现,传统的手工流程存在着种种不足。首先处理借书、还书业务流程的效率 很低;其次处理能力较低,一般时间内,所能服务的读者认识只能是很有限的。为此,图书 信息管理系统需要为不同的图书馆解决上述问题,提供快速的图书信息检索功能及快捷的图 书借阅、归还流程。
2. 系统目标:
根据图书馆口常图书管理工作的需求和图书借阅的管理流程,该系统实施后,应该达到 以下目标:
1. 界面设计友好、美观,数据存储安全、可靠。 2. 基本信息设置保证图书信息和读者信息分类管理。 3. 强大的查询功能,保证数据查询的灵活性。
4. 实现对图书借阅、续借、归还流程的全程数据信息跟踪。 5. 捉供管理员修改信息、密码等功能,保证管理的安全性。 6. 提供灵活、方便的权限设置,使整个系统的管理分工明确。 3. 系统总体结构和层次:
管理层:管理图书馆信息、图书信息、读者信息、自主账号等。 业务层:借阅图书、归还图书、续借图书等。
4. 系统主要功能和子系统划分:
(1) 图书管理子系统
图书管理子系统包括图书借还、图书管理、图书查询。
(2) 读者子系统
读者子系统包括读者管理、读者查询。
(3) 管理员子系统
管理员子系统包括口令更改、系统管理、系统设置。
(4) 图书馆子系统
图书馆子系统包括信息显示、信息管理。
5. 可行性分析: 5.1管理可行性
管理上某学院的管理人员已有系统的完善的管理方法。随着企业的发展,社会的需求量 逐渐增大,高层管理部门对新系统表现出充分的支持和积极参与的态度。
5.2技术可行性
本方案所采用的技术均采用较为成熟的技术,由具有经验的教师监督和指导,全组人员 积
极参与系统开发工作。
5.3经济可行性
本方案开发人员为5人,都有基本的开发设备,具备开发基础。初步估计开发时间为 16个周,因此经济投资相对较小。 5.4结论意见
总结以上各方面的分析,该系统值得开发,可以马上投入开发。 6. 实施计划
6.1方法:采用结构化开发
6.2统模块开发优先级:通过对图书馆管理的特点和信息流程等的分析,确定各模块开发 的先
后次序。
6.3某图书馆管理信息系统进度安排:
图书馆管理信息系统一一结构功能分析(供参考) 本信息管理系统主要目标:
管理员权限设苴
系统设苴
图书荫信息
读者信息管理
读者管理
读者类型设苴
图书类型设苴
图书管理
图书信息管理 书架设苴
某图书馆管理信息系统借阅图书
图书借还
归还图书 续借图书
1. 实现图书馆对在馆图书的按类别,书名,作者,是否己被借出等多方面的查询。 2. 实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便图书管理。 3. 能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除。 4. 建立图书馆外借读者数据库,包括添加读者信息、删除读者信息、修改读者信息。 5. 可以按读者编号查询读者信息,包括该读者所借图书名称,归还口期等信息。
图书信息查询
系统查询
读者查询 所有图书查询
更改口令
更改口令
添加管理员
退出系统 6. 能够进行罚款功能。
7. 能够进行借阅历史的查询功能。 9.增加管理用户和注销功能。 本管理信息系统需实现的功能:
系统设置:包插管理图书馆对外信息和对不同的管理员进行权限设置,进行明确的分工管理。 读者管理:对不同身份的读者进行管理,需要设置不同的类型进行高效管理;对读者的信息 进行管理。 图书管理:包括图书信息的增、删、改,对图书类型的设置和对书架信息进行管理。 图书借还:包括借阅图书、归还图书、续借图书功能,把对图书的操作写入图书档案。
密码设置:每个操作员均有自己的密码,可以防止非本系统人员进入本系统;又因每个人的 权限不一致,故可以防
止越权操作。
资料维护:为了存放图书、读者档案的全部数据,本系统将每一本图书和每位读者的信息进 行管理。系统维护包括
对各种表记录的修改、删除、添加等操作。
系统查询:可以按图书编号、借阅证编号、读者信息等相关信息进行查询 报表统计:包插统计图书信息、读者信息、借阅信息等。 其它操作:包括修改密码、添加用户等。
10.10怎么理解“软件维护是一种面向用户提供的服务” ?
因为现在的软件产品基本是客户化的,即按照客户的实际需求,对软件产品的功能、性能、 接口做适当的改动。所有维护的时候一种面向用户提供的服务。 10.11传统软件维护要讨论的问题有哪些? 答:传统软件要讨论的问题有:(书上P256)
1. 什么叫软件维护
所谓软件维护,就是在软件产品安装、实施并交付给用户使用后,在新版木产品升级Z 前,这段时间里软件厂商向客户提供的服务工作,称为该软件产品的软件维护。 2. 软件维护分哪儿类, 维护的种类 维护的内容 1 2 3 纠错性维护 产品或项目中存在缺陷或错误,在测试和验收时未发现 适应性维护 产品或项目适应变化了的硬件、系统软件的运行环境,如系统升级 完善性维护 为了给软件增加一些新的功能,使产品或项目的功能更加完善与合理,又: 护占维护活动的大多数情况 4 预防性维护 这类维护是为了提高产品或项目的可靠性和可维性,有利于系统的进一号 2.维护过程有哪些
软件维护的工作程序有:维护的需求分析、维护的设计、修改程序代码、维护后的
测试、维护后的试运行、维护后的正式运行、对维护过程的评审和审计。
3. 什么叫结构化维护
软件产品或软件项目有完善的文档,并且文档与程序代码互相匹配,两者完全--致。 对这种软件产品或软件项目的维护,称为结构化维护。
4. 什么叫可维护性
所谓软件的可维护性,就是维护人员理解、掌握和修改被维护软件的难易程度
5. 维护有副作用吗
维护的方式 副作用的表现
修改编码 使编码更加混乱.程序结构更不清晰,可
读性更差,而且有连锁反映 修改数据结 数据结构是系统的骨架,修改数据结构是 构 对系统伤筋动骨的大手术,在数据冗余
与数据不一致方面,可能顾此失彼 修改用户数 需要与用户协商.一旦有疏忽,可使系统
发生意外 据
对非结构化维护不适应,对结构化维护要 修改文档
严防程序与文档的不配匹
10.12怎么理解“在国际上,一般是大厂商做产品,小厂商做项目”?
答:软件产品时指不局限于特定业务领域、能被广大用户直接使用的软件系统,只有产品化 才能赚取最大的利润。才能在投标中获得更大更好的项目。所以只有成熟的软件公司才能做 出被广泛应用的产品,而欠缺模型化的小厂只能做针対于用户,为用户量身定做的系统
10.13怎么理解“任何厂商做项目的目的,都是为了做产品”? 答:软件只有产品化,厂商才能扩大市场,赚取更大的利润 10.14怎么理解“软件产品客户化”和“软件项目产品化” ? 答:1.“软件产品客户化”:
2•“软件项目产品化”:通过运用各种技术,经验和手段从大量的多个同类项目工程中 提
炼出产品。
10.15传统软件维护分哪几大类? (p257)
答:1.纠错性维护:产品或项目屮存在缺陷或错误,在测试和验收是未发现,到了使用过程 中逐渐暴露出来,需要更改。
2.适应性维护:这类维护是为了产品或项目适应变化了的硬件,系统软件的运行环境, 如3•完善性维护:这类维护是为了给软件系统增加一些新的功能,是产品或项FI的功能更
系统升级。
加完善与合理,有不至于对系统进行伤筋动 骨的改造,这类维护站维护活动的大部分吋间
4•预防性维护:这类维护是为了提高产品或项目的可靠性和可维护性,有利于系统的进
一步改造或上级换代
10.16简述软件维护的工作程序。
软件维护的工作程序有:维护的需求分析、维护的设计、修改程序代码、维护后的测试、维 护后的试运行、维护后的正式运行、对维护过程的评审和审计。 10.17什么叫结构化维护和非结构化维护?
软件产品或软件项目有完善的文档,并且文档与程序代码互相匹配,两者完全一致。对这种 软件产品或软件项目的维护,称为结构化维护。反之,只能叫非结构化维护。 10.18可维护性的软件应具备什么性质?
(1) .可理解性。 (2) .可测试性。 (3) .可修改性。 (4) .可移植性。
可理解性: 软件模块化、结构化,代码风格化,文档清晰化
可测试性:文档规范化,代码注释化,测试回归化
可修改性:模块间低耦合,高内聚,程序块的单入口和单出口,数据局部化,公用模块组件 化
可移植性:例如用ODBC、ADO来屏蔽对数据库管理系统的依赖,用三层结构来简化对客户 浏览层的维护 10.19软件维护的副作用表现在哪4个方面?
维护的方式副作用的表现
1 修改编码 使编码更加混乱,程序结构更不清晰,可读性更差,而且有连锁反映 2 修改数据结构 数据结构是系统的骨架,修改数据结构是对系统伤筋动骨的大手术, 在数据冗余与数据不一致方面,可能顾
此失彼
3 4
修改用户数据 修改文档
需要与用户协商,一旦有疏忽,可使系统发生意外
对非结构化维护不适应,对结构化维护要严防程序与文档的不配匹
10.20面向缺陷维护的内容是什么?
面向缺陷维护的条件:该软件产品能够正常运转,可以满足用户的功能、性能、接口需 求,只是维护前在个别地方存在缺陷,使用户感到不便,但不影响大局,因此维护前可以降 级使用,经过维护后仍然是合格产品。
血向缺陷维护的维护发生的部位都在程序实现的级别上,克服缺陷方法的方法是修改程 序,也就是说只修改编码,不修改数据结构。
面向缺陷的维护时较小的维护。 10.21面向功能维护的内容是什么?
面向功能维护的条件:该软件产品在功能、性能、接口上存在某些不足,不能满足用户 的某些
需求,因此盅要增加某些功能、性能、接口。面向工功能的维护不足发生的部位都在
分析设计的级别上,克服不足的方法是不但要修改分析与设计,而且也要修改程序实现,即 是既修改数据结构,又修改编码。
10.22两层结构和三层结构的软件维护方法有什么不同?
两层结构的维护方法是维护客户机上的软件修改后,制作成口动安装的光盘,传递给用户自 己安装,以替换原来的旧软件。服务器上的软件由维护人员直接在服务器上修改,测试,安 装,运行。而三层结构客户机上的软件维护不需要到用户现场去,只需在系统后台服务器上 借助网络运行,是的图案见的安装与升级变成了一个完全透明的过程。(参见教材259)
10.23如何在软件维护活动中贯彻“三种开发方法”、“五个面向理论”和“三个模型”思 想?(待续) 教材259页中
2.软件维护的最新方法
笫3种方法:站在“三种开发方法”的角度 第4种方法:站在“五个面向理论”角度
三个模型:功能模型,业务模型,数据模型(如何贯彻实在找不到) 10.24软件维护与软件产品版本升级有什么关系?
若小维护前的版本号为V1.0.0,则小维护后的版本号为Vl.O.lo若大的维护前的版本号为 V1.0.1,则大的维护后的版本号为Vl.l.lo
只有当软件产品的运行环境发生发生大改变时,或者该软件产品的功能变化超过30%时,其 版本才能升级,此时版本号中小圆点左一位才 能加一,有V1.LL变为V2.00o 意味着一轮新的维护 周期的开始。
10.25怎么理解软件产品的版本号?
一般而言,版本号中小原点的右一位表示该版本的大修改次数,版木号屮小圆点的右二位表 示该版本的小修改次数。只有该软件产品的运行环境发生大改变的时,或者该软件产品的功 能变化超过30%吋,其版本才能升级,此时版本号中小圆点的左一位才能加1。
10.26怎么理解迭代模型RUP对软件维护的重大影响?
迭代模型把软件生命周期定义为四个主要阶段:初始、细化、构造、移交。经过这四个阶段 的历程被称为一个开发周期,白动产生一个周期内的所有文档,从而生成一个软件产品。
移交这四个阶段,从而演化为下一代产品,这就是旧产品的修理维护, 这就是新产品的升级换代,这就是开发周期的演化,这就是RUP对软件维护工作的影响。 10.27(题目同26)
10.28请设计出“软件维护管理文档”的格式。(P262)
版本升级既是产品功能增强、性能提高的手段,又是商业运作、开拓市场的重大手法。 一个新版产品的推出,
首次经历这四个阶段称为该产品的初始开发周期,除沖该产品的生命终止,否则它将重 复初始、细化、构造、
因篇幅问题不能全部显示,请点此查看更多更全内容