单元1软件项目开发的立项与启动.pptx
- 文档编号:18627681
- 上传时间:2023-08-20
- 格式:PPTX
- 页数:58
- 大小:1.16MB
单元1软件项目开发的立项与启动.pptx
《单元1软件项目开发的立项与启动.pptx》由会员分享,可在线阅读,更多相关《单元1软件项目开发的立项与启动.pptx(58页珍藏版)》请在冰点文库上搜索。
单元1软件项目开发的立项与启动,【知识疏理】,1.1项目、软件与软件项目1项目项目是为了创造一个产品或提供一个服务而进行的临时性的努力,是以一套独特而相互联系的任务为前提,有效地利用资源,为实现一个特定的目标所做的努力,是一个特殊的将被完成的有限任务,是在一定时间内满足一系列特定目标的多项相关工作的总称。
【知识疏理】,1.1项目、软件与软件项目2软件软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据及其相关文档的完整集合。
其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是程序加工、处理的对象;文档是与程序开发、维护和使用有关的图文资料。
【知识疏理】,1.1项目、软件与软件项目3软件项目软件项目除了具备项目的基本特征(目标性、周期性、相关性、独特性、约束性和不确定性)之外,还有如下的特点:
(1)软件项目的需求总是不稳定的,处于不断变化之中。
(2)软件开发活动是一项以脑力劳动为主的知识活动,受团队成员技能与知识水平的影响较大,许多开发活动很难做到规范化。
(3)软件是知识产品,其开发进度、质量很难估算和度量,生产效率也难以预测和保证。
(4)软件开发难以完全做到功能分解,软件规模也无法简单地以“人天”数值的多少来衡量。
(5)软件项目周期长、复杂度高、变数多。
【知识疏理】,1.2软件的分类一般来讲软件被划分为系统软件和应用软件两大类,其中系统软件包括操作系统和支撑软件;应用软件包括管理软件、工具软件、行业软件、安全防护软件、多媒体软件、游戏软件等。
【知识疏理】,1.2软件的分类1系统软件系统软件为计算机使用提供最基本的功能,可分为操作系统和支撑软件,其中操作系统是最基本的软件。
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。
系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
【知识疏理】,1.2软件的分类2应用软件应用软件是为了某种特定的用途而被开发的软件,不同的应用软件根据用户和所服务的领域提供不同的功能。
它可以是一个特定的程序,例如一个图像浏览器。
也可以是一组功能联系紧密,可以互相协作的程序集合,例如微软的Office软件。
也可以是一个由众多独立程序组成的庞大的软件系统,例如数据库管理系统。
【知识疏理】,1.3软件工程的基本概念概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。
1993年IEEE进一步给出了一个更全面更具体的定义:
“软件工程是:
把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;研究中提到的途径。
”,【知识疏理】,1.4软件工程的基本原理下面简要介绍软件工程的7条基本原理。
(1)用分阶段的生命周期计划严格管理
(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性,【知识疏理】,1.5软件工程方法学通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型(paradigm)。
在软件工程领域中,这两个术语的含义基本相同。
软件工程方法学包含3个要素:
方法、工具和过程。
其中,方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
【知识疏理】,1.5软件工程方法学目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。
1传统方法学传统方法学也称为生命周期方法学或结构化范型。
它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。
【知识疏理】,1.5软件工程方法学2面向对象方法学概括地说,面向对象方法学具有以下4个要点。
(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。
(2)把所有对象都划分成类(class)。
每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。
【知识疏理】,1.5软件工程方法学2面向对象方法学(3)按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。
在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,这种现象称为继承。
(4)对象彼此间仅能通过发送消息互相联系。
对象与传统数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是数据处理的主体,必须向它发消息请求它执行它的某个操作以处理它的数据,而不能从外界直接对它的数据进行处理。
【知识疏理】,1.6软件的生存周期概括地说,软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
软件定义时期通常进一步划分成3个阶段,即问题定义、可行性分析和需求分析。
开发时期通常由下述4个阶段组成:
概要设计,详细设计,编码和测试。
其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
【知识疏理】,1.6软件的生存周期下面简要介绍软件生命周期每个阶段的基本任务。
(1)问题定义问题定义阶段必须回答的关键问题是:
“要解决的问题是什么?
”。
通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。
【知识疏理】,1.6软件的生存周期下面简要介绍软件生命周期每个阶段的基本任务。
(2)可行性分析可行性分析的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。
(3)需求分析这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
【知识疏理】,1.6软件的生存周期下面简要介绍软件生命周期每个阶段的基本任务。
(4)概述设计这个阶段必须回答的关键问题是:
“概括地说,应该怎样实现目标系统?
”概要设计又称为总体设计。
(5)详细设计详细设计阶段的任务就是把解法具体化,也就是回答下面这个关键问题:
“应该怎样具体地实现这个系统呢?
”。
【知识疏理】,1.6软件的生存周期下面简要介绍软件生命周期每个阶段的基本任务。
(6)编码和单元测试这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。
程序员应该根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言(必要时用汇编语言),把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。
【知识疏理】,1.6软件的生存周期下面简要介绍软件生命周期每个阶段的基本任务。
(7)综合测试这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到规定的要求。
最基本的测试是集成测试和验收测试。
(8)软件维护维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。
【知识疏理】,1.7软件过程的基本概念软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
概括的说,软件工程描述为了开发出客户需要的软件,什么人(Who)、在什么时候(When)、做什么事(What)以及怎样(How)做这些事以实现某一个特定的具体目标。
【知识疏理】,1.8软件的开发模型软件开发模型(softwaredevelopmentmodel)是指软件开发全部过程、活动和任务的结构框架。
典型的软件开发模型主要包括瀑布模型、迭代模型、快速原型模型、增量式模型、螺旋式模型、喷泉式模型等,下面分别予以介绍。
【知识疏理】,1.8软件的开发模型1瀑布模型瀑布模型(WaterfallModel)1970年由温斯顿罗伊斯(WinstonRoyce)提出,该模型由于酷似瀑布闻名。
瀑布模型是结构化模型。
其特征是:
活动的输入来自上一活动的输出;活动的输出传给下一活动;对活动的实施工作进行评审,整个过程是由文档驱动的。
其缺点是:
成品时间长;缺乏灵活性;最终得到的产品可能并非满足用户需求。
【知识疏理】,1.8软件的开发模型2迭代式模型迭代式模型是RUP(RationalUnifiedProcess,统一软件开发过程)推荐的周期模型。
在RUP中,迭代被定义为:
迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。
所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:
(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。
【知识疏理】,1.8软件的开发模型3快速原型模型所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。
如图1-3所示(图中实线箭头表示开发过程,虚线箭头表示维护过程)。
【知识疏理】,1.8软件的开发模型4增量式模型增量式模型也称为渐增模型,如图1-4所示。
使用增量式模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。
每个构件由多个相互作用的模块构成,并且能够完成特定的功能。
使用增量式模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。
【知识疏理】,1.8软件的开发模型5螺旋式模型螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。
理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,如图1-6所示。
螺旋式模型是一种风险分析的设计模型,它是生成周期模型与原型模型的结合,在每个阶段之前都增加了“风险分析”过程,形成迭代过程,直到系统完成。
【知识疏理】,1.8软件的开发模型5螺旋式模型完整的螺旋模型如图1-7所示,螺旋线每个周期对应于一个开发阶段。
每个阶段开始时(左上象限)的任务是,确定该阶段的目标、为完成这些目标选择方案及设定这些方案的约束条件。
接下来的任务是,从风险角度分析上一步的工作结果,努力排除各种潜在的风险,通常用建造原型的方法来排除风险。
【知识疏理】,1.8软件的开发模型5螺旋式模型,【知识疏理】,1.8软件的开发模型6喷泉式模型喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。
该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,类似一个喷泉,故称为“喷泉模型”。
【知识疏理】,1.8软件的开发模型7智能模型(4GL模型)智能模型是在第4代开发语言的支持下的开发模型。
在系统需求形成后,4GL语言将需求文档直接转换成程序代码。
8形式化模型形式化模型用数学语言描述系统,并进行设计的方法。
【知识疏理】,1.9软件项目开发的人员组成与分工
(1)项目经理项目经理负责界定项目的目标及范围、制定项目计划、管理开发过程、协调与配置项目资源、控制系统开发过程、评估团队成员的绩效、负责系统的集成与验收、保证项目按时保质完成。
(2)系统分析师系统分析师也称为框架设计师,他们主要负责软件项目的可行性分析、需求分析和规范说明,确定软件项目的逻辑模型和软件项目的基本功能、系统结构、数据要求等工作。
【知识疏理】,1.9软件项目开发的人员组成与分工(3)系统设计师系统设计师是软件项目开发过程中的高层实施人员。
他以前一阶段的逻辑模型为基础,充分考虑现有的技术条件、经济条件和管理现状,把软件项目规定在更合理的层次,精心设计软件项目实施方案。
(4)程序员程序员按照系统设计的总要求,用某一种程序设计语言(C#、Java等)设计软件项目的程序模块。
【知识疏理】,1.9软件项目开发的人员组成与分工(5)数据库管理员理解系统设计报告的数据需求,设计数据库系统的关系模型和数据表结构,规划物理存储,管理和控制系统数据库。
(6)系统测试员系统测试员负责编写测试用例,对软件项目系统进行多方面测试,发现软件中潜在的错误和缺陷,及时纠正,以保证软件项目的质量,投入运行能可靠地运行。
【知识疏理】,1.9软件项目开发的人员组成与分工(7)系统维护员系统维护员主要是对系统的硬件设备进行维护保养、安装更换易耗品,对软件系统和数据进行维护等。
【方法指导】,1.10软件项目的立项在项目的立项阶段,对项目的定义要有明确的描述,明确项目的目标、时间表、项目使用的资源和经费,而且得到执行该项目经理和项目发起人的认可。
立项是确定待开发的项目,要解决“做什么”的问题,关注点是效率和利润。
这个问题展开就是前期需要投入多少?
能否盈利?
什么时候收回成本、开始盈利?
能否持久的盈利?
【方法指导】,1.11软件项目的启动1.11.1软件项目在需方的启动项目启动是指项目发起人组织相关人员提出需求,确定项目管理者及其相关成员,编写必要的项目立项申请书。
1需方成立项目组织机构项目组织机构一般分为项目领导小组和项目工作小组。
项目领导小组主要负责确定和批准项目负责人,批准项目费用计划和工作计划,确认、验收项目各阶段的工作成果等。
项目工作小组主要负责编制招标书、参与招标等。
【方法指导】,1.11软件项目的启动1.11.1软件项目在需方的启动2需方在软件项目初始阶段的主要任务甲方即需方(有时也称为买方)是对所需要的产品或服务进行“采购”。
乙方即供方(有时也称为卖方)是为客户提供产品或服务。
甲方在软件项目初始阶段的主要任务是编制招标书、选择乙方和签署合同。
【方法指导】,1.11软件项目的启动1.11.2软件项目在供方的启动1供方在软件项目初始阶段的主要任务软件项目的选择是项目型企业业务能力的关键,软件项目选择过程,是指从市场上获得商机到与客户签订项目合同的过程。
乙方在初始阶段的主要任务是:
项目分析、竞标、签署合同。
【方法指导】,1.11软件项目的启动2供方成立项目组织机构项目组织机构一般包括项目领导小组和项目工作小组。
项目领导小组是负责监督项目有效执行的行政管理团队,该小组的成员通常包括项目组织中的高级技术人员、业务管理人员以及需方的管理总负责人等。
项目工作小组主要包括项目分析、设计、测试人员和用户代表等,根据项目的预计工作量和进度,由项目经理和项目领导小组共同确定该项目所需的人员配置。
【方法指导】,1.11软件项目的启动3项目授权当选择了一个软件项目之后,就需要对该项目进行授权和初始化,以便确认相关的人员知晓该项目。
这就需一个文档化的输出,该文档可以有很多不同的形式,项目章程是最主要的形式之一。
在项目的初期,一般会开发初始的软件项目范围说明书,说明项目所需要完成的工作和所需要提交的成果。
【模板预览】,1.12软件项目开发立项与启动阶段的主要文档软件项目立项与启动阶段编写的主要文档包括软件项目立项报告、软件项目开发的招标公告、软件项目开发的招标书、软件项目开发的投标书和软件项目开发合同等。
【项目实战】,【任务描述】,明德学院为了实现人力资源的信息化、科学化和规范化管理,拟开发和应用人力资源管理系统,其目标为:
通过人力资源管理系统的实施和应用,进一步完善学校的人力资源的基础管理、绩效考核、招聘培训和薪酬福利的管理,以提高HR部门的工作效率,规范HR部门的业务流程,进一步提高人力资源管理者对于人力资源管理的科学决策,从而提高学校人力资源管理的总体水平。
【项目实战】,【任务描述】,【任务1-1】编制人力资源管理系统项目的立项报告。
【任务1-2】编制人力资源管理系统开发的招标公告。
【任务1-3】编制人力资源管理系统开发的招标书。
【任务1-4】编制人力资源管理系统开发的投标书。
【任务1-5】编制人力资源管理系统开发的合同书。
【任务实现】,【任务1-1】编制人力资源管理系统开发的立项报告,软件项目开发立项报告是在软件项目开发前,所提出的待开发软件的目标、功能、费用、时间、对组织机构的影响等。
如果是本单位独立开发或联合开发,则称为立项报告。
如果是委托开发,则以任务委托书或开发协议的方式进行说明。
明德学院人力资源管理系统项目立项报告的主体内容如模板1-1:
立项报告模板所示。
立项报告中的“总体建设目标”示例如下所示。
【任务实现】,【任务1-2】编制人力资源管理系统开发的招标公告,招标公告一般招标代理机构编制,简要介绍招标项目情况、采购项目名称、采购方式、项目内容及需求、投标人资格及要求、投标时间与地点、开标时间及地点等。
【任务实现】,【任务1-3】编制人力资源管理系统开发的招标书,软件开发招标书一般包括招标邀请函、投标人须知、用户需求书、合同条款和投标文件格式5个部分。
1编制招标邀请函招标邀请函简要介绍招标机构名称、招标项目名称及内容、招标文件的获取时间及地点、投标文件的递交时间及地点、采购代理机构联系方式等内容。
【任务实现】,【任务1-3】编制人力资源管理系统开发的招标书,2编制投标人须知编制投标人须知着重说明本次招标的基本程序、投标人应遵循的规定和承担的义务、投标文件的基本内容、开标与评标方法、招标结果结果的处理、合同的授予等,其主体内容如模板1-3:
招标文件模板“第二部分投标人须知”所示。
【任务实现】,【任务1-3】编制人力资源管理系统开发的招标书,3编制用户需求书用户需求是指描述用户使用产品必须要完成什么任务,怎样完成需求,通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,从而从用户角度建立的需求方案。
【任务实现】,【任务1-3】编制人力资源管理系统开发的招标书,4编制合同条款明德学院人力资源管理系统开发的招标书中“合同条款”部分如模板1-5:
合同书模板所示。
合同的格式有多种,不同单位的合同样本不可能完全相同,招标方给出合同样本的主要目的是管理的规范化。
5编制投标文件格式明德学院人力资源管理系统开发的招标书中“投标文件格式”部分如模板1-4:
投标文件模板所示。
【任务实现】,【任务1-4】编制人力资源管理系统开发的投标书,明德学院人力资源管理系统投标书的主体内容如模板1-4:
投标文件模板所示。
软件开发投标书一般包括招投标报价表、商务响应、技术响应3个部分。
1投标报价投标人应按附表1.1的格式提交投标报价表,并提供用投标资料表中规定的软件制作的投标报价表的电子文件。
【任务实现】,【任务1-4】编制人力资源管理系统开发的投标书,2投标函3商务差异表4技术差异表,【任务实现】,【任务1-5】编制人力资源管理系统开发的合同书,软件开发合同是软件委托方或当事双方之间设立、变更、终止项目合作关系的协议,受法律的保护。
它一般包含软件委托方和软件开发方的权利与应尽的义务,约束它们共同的行为。
【任务扩展】,【任务1-6】人力资源管理系统立项与启动的扩展任务,【任务描述】,
(1)参照软件项目开发的立项报告模板,完善人力资源管理系统开发立项报告。
(2)参照软件项目开发的招标书模板,完善人力资源管理系统的招标书。
【任务扩展】,【任务1-6】人力资源管理系统立项与启动的扩展任务,【任务描述】,(3)参照软件项目开发的投标书模板,完善人力资源管理系统的投标书。
(4)根据委托方提供的用户需求说明,分析并抓取出软件功能,编写简单的软件需求规格说明书和软件功能确认书。
【小试牛刀】,【任务1-7】进销存管理系统开发的立项与启动,【任务描述】,阳光电器公司是一家主营家用电器的公司,该公司的主要业务涉及电器的采购和销售,销售业务主要有批发和零售两部分,有时候会出现打折促销。
公司的仓库和门面在同一栋大楼。
公司内设经理办公室、公司办公室、供应部、销售部、仓管部、财务部等部门,公司业务量逐年递增,现有的手工管理进货、销售、库存方式已不适应公司业务需求,急需开发一个进销存管理系统来高效管理公司业务,准确地反映进货、销售、库存等方面的各种信息,以帮助公司经理制定适宜的销售策略,实现对供应商资料、客户数据、商品信息、交易数据、各种单据等信息的迅速方便的录入、查询与管理,了解进销存各项相关信息。
【小试牛刀】,【任务1-7】进销存管理系统开发的立项与启动,【任务描述】,请代阳光电器公司编制以下文档:
(1)进销存管理系统项目立项报告。
(2)进销存管理系统开发的招标公告。
(3)进销存管理系统开发的招标书。
(4)进销存管理系统开发的合同书。
贝特信息技术有限公司拟投标该进销存管理系统开发项目,请代该软件公司编制进销存管理系统开发的投标书。
【单元小结】,本单元主要介绍了软件工程的基本概念和基本原理、软件的生存周期和开发模型等方面的理论知识。
本单元的重点内容是软件项目的立项和启动,这个阶段的主要任务是确定组织机构、人员分工、开发进度、经费预算、所需的硬件及软件资源等。
软件项目开发的立项是要解决“做什么”的问题,项目立项后,开始执行启动项目活动。
本单元以人力资源管理系统为例,重点阐述了立项报告、招标公告、招标书、投标书和开发合同的编制方法。
快乐学习、高效学习,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单元 软件 项目 开发 立项 启动