实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。
可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。对程序进行模块模块化,也就是进行模块设计。
软件设计可以分为概要设计和详细设计两个阶段。
而概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
第四编码,软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
第五进行测试,软件测试的目的是以较小的代价发现尽可能多的错误。
要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。
李笙重生前见多数公司常用的两种测试方法,是白盒法和黑盒法。其中白盒测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。
而黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。
最后编写软件问题报告、软件修改报告。
李笙作为一个重生者,在软件维护上的意识有着独到见解,首先和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。
在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。
而事实上,在李笙重生前那段时间,有很多开发软件公司,对软件维护工作的重视往往远不如对软件研制工作的重视。特别是游戏类软件,是圈钱狂魔的同时淘汰最快的软件,一年半载的时间软件漏洞百出,用户体验感极差,用户瞬间流逝。
极乐音乐播放器不是那些以圈钱为目的的软件,日常维护、更新播放器是必须。
进行软件开发,就需要一定的设施需求。
软件开发平台源于繁琐的实践开发过程中。
开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的,软件开发平台应运而生。
平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,目前国内的管理软件市场,软件开发平台的应用已经成为一种趋势。
可是李笙在网上找了半个小时,也没有找到一个成熟的软件开发平台。同时也让李笙认识到现在是2000年。
由于开发环境、开发人员、功能定位、行业背景等的不同,不同品牌的平台存在较大差别。
这时选择的开发平台就至关重要了,李笙选择的平台是OutSystems。
OutSystems 是低代码开发平台,让软件开发人员和业务用户通过直观的可视化界面来构建应用程序,而不是传统的编写代码方式。用户可以在开发平台灵活拖动各个图形化控件,以构建业务流程、逻辑和数据模型等所需的功能,必要时还可以添加自己的代码。
李笙觉得OutSystems很适合现在自己的需求。
开发环境软件开发环境在欧洲又叫集成式项目支持环境。软件开发环境的主要组成成分是软件工具。人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件开发环境的重要质量标志。存储各种软件工具加工所产生的软件产品或半成品(如源代码、测试数据和各种文档资料等)的软件环境数据库是软件开发环境的核心。
工具间的联系和相互理解都是通过存储在信息库中的共享数据得以实现的。
软件开发环境数据库是面向软件工作者的知识型信息数据库,其数据对象是多元化、带有智能性质的。软件开发数据库用来支撑各种软件工具,尤其是自动设计工具、编译程序等的主动或被动的工作。
极乐音乐播放器需要的数据库无疑是巨大的。以一首5分钟的歌4M的大小为例子,一百万首歌400万M,就是2929.3G。
巨大的数据库,要使用大型服务器,自己搭建服务器资金是李笙现在无法承受的,这意味着前期李笙只能租服务器使用。