欢迎来到天天文库
浏览记录
ID:39333488
大小:880.01 KB
页数:75页
时间:2019-07-01
《媒体播放器——项目》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第27章媒体播放器——项目完整实践在本书前面的章节已介绍了C语言的语法和Linux系统中各种常用的函数库,利用这些知识已可开发一些基本的应用程序。本章将这些知识综合应用到媒体播放器项目中,通过一个严格的项目管理制度对项目进行规划,并补充媒体播放器未实现的功能。如果该项目由多个人协同开发,则可以尝试分工协作,培养协同开发的经验。27.1软件工程实战软件开发的过程中离不开软件工程思想的指导,即使在学习过程中也应该时刻将软件工程方法放在重要位置。如果在学习程序开发过程中就遭遇了项目失败,对于学习者来说,所造成的挫败感一直会影响到将来的实际工作中。而实践软件工程思想又能为将来实际
2、工作打下扎实的基础,因此本节结合媒体播放器项目来进行软件工程的实战。27.1.1项目需求分析项目需求分析经常被作为一个独立的课题来研究,但对于开发人员来说,了解项目需求分析方法也是必不可少的。在朴素软件工程思想中,项目需求分析的方法使用的是实例分析法。27.1.2软件需求说明软件需求说明(SoftwareRequirementSpecification,简称SRS)是项目需求分析所得到的文档。它的作用是提出需要解决的问题,作为下一步软件设计和编码的基础。1.引言2.任务概述3.需求规定4.运行环境规定5.附录27.1.3项目视图的解决方案项目视图指的是项目的实际需求,开发
3、者在软件需求说明文档完成后即可针对项目视图提出解决方案。在给出解决方案的同时也要陈述自己的理由,但应该避免在这个阶段进行软件设计。下面列举媒体播放器项目中主要问题的解决方啊。1.媒体播放器界面设计2.数据库的选择3.读取MP3文件信息4.媒体播放功能27.2软件设计软件设计的内容很广泛,但结果只是总结出项目需求所列出功能的实现方法。这个实现方法必须清晰易懂,能够被所有参与项目的开发人员理解。因此,最终获得的应该是数据字典和流程图。本书前面部分已经对媒体库中大部分功能的实现进行了分步讲解,所以,这里讨论另外两个重要话题。第一是需求分析方法,即根据软件需求说明进行详细分析。第
4、二是制订开发计划和分工,目的是帮助读者按步骤实现软件。27.2.1需求分析需求分析是指理解项目的需求,就软件的功能进行深入理解,并且给出明确的解决方案。27.2.2制订开发计划媒体播放器中,首先应定义程序的主体结构,即实现核心控制模块。该模块是其他所有模块操作的基础,缺少该模块则难以进行后面的工作。然后在第二步可以同时进行媒体库模块和播放控制模块的实现,第三步进行用户界面模块和媒体文件解码模块的设计。最后的步骤是系统集成,把所有的模块关联起来,如图27.4所示。27.2.3分工协作一个较大的项目往往需要分工协作,如何进行项目分配和如何执行分配到自身的计划也是开发者必须具备
5、的能力。在这里需要引入一种称之为甘特图的图表,它是以图示的方式通过活动列表和时间刻度形象地表示出软件项目的活动顺序与持续时间。27.3版本控制无论是独立开发的软件项目还是协作开发,都需要进行版本控制。版本控制的作用是保护源代码,将每次对源代码的修改都记录起来。这样一方面能保证可以回溯到指定的时间点,另一方面在多人同时编辑一个源代码文件时不会相互覆盖对方的工作成果。目前版本控制工具有很多,Linux系统上使用最广泛的版本控制工具是CVS。该工具不仅能很好的支持C语言项目,而且能被Eclipse集成开发工具集成使用。27.3.1CVS服务器配置CVS服务器是托管源代码的仓库,
6、开发者通过访问CVS服务器获得源代码资源。在修改了相应的源代码后,源代码及其改动信息又被存回到CVS服务器中。多人参与的项目只用建立一个CVS服务器,开发者通过网络访问该服务器。27.3.2CVS服务器管理CVS是功能齐备的版本控制工具,在使用CVS服务器之前有几个重要概念必须了解。下面分别介绍这几个概念和操作方法。1.仓库2.模块3.导入4.签出5.签入6.添加和删除7.历史8.冲突解决9.标记10.分支11.远程访问12.局限性27.4在Eclipse中使用CVS客户端Eclipse集成开发环境内置了CVS客户端插件,因此可直接使用Eclipse管理CVS服务器中的资
7、源。对于Eclipse来说,CVS用于支持团队开发,是很多大型软件开发团队所选用的工具。在Eclipse中使用CVS客户端的优势在于:Eclipse与CVS无缝连接,可直接通过Eclipse的界面和菜单进行CVS操作。Eclipse为CVS提供了图形用户接口,无需记忆复杂的操作命令。Eclipse支持将CVS模块作为项目操作。27.4.1从CVS服务器签出模块并创建项目无论CVS服务器是在本地,还是在远端,都可以直接从CVS服务器中签出模块并创建项目。27.4.2签入文件每一个文件名后显示该文件的版本号,如果文件在本地被改动过
此文档下载收益归作者所有