首页 > 产品&培训 > 培训 - 软件工程

概要 产生的背景 软件工程构成 软件工程对比 介绍1:需求的转化 介绍2:系统模块化 介绍3:管理桌面

       在所有的行业中,“设计”都是决定产品价值的最关键的活动!

           

       设计可以分为两大部分:是负责业务设计的“外观、功能”;是负责“技术、实现

       但是软件行业基本上可以说没有①,也就是说没有“业务设计”(即使有一些也可以说是不成体系的,零散的),只有关于技术设计的②,但技术设计不能替代业务设计,而客户价值往往是由业务设计决定的。

 

       基干式软件工程制定了简单易学直观地就可以看懂的设计资料的呈现、编制方法,使得产品的相关人员(客户、业务、开发,测试、实施等)都可以理解,并基于这个方法进行业务设计,它可以解决的问题如

       如何构建信息化环境下的管理系统

       如何构建自适应自成长的管理系统(用户自我管理)

       如何实现软件的规模化开发

       如何实现软件的模块化设计

       如何设计填报式管理系统

       如何设计过程式管理系统  

  基干:基础、骨干    

           
                                                   详细参见

在业内已经有了很多种软件工程的情况下,为什么还要重新设计&建立一套“基干式软件工程”呢?  主要目的有二个

 

一,适用于配置式开发(零编码)

       现有的软件工程和方法论大多是基于编码开发方式为前提提出的,基干式软件工程关注的重点是“配置式开发方式”。

       由于配置式开发的特点是将代码封装在构成软件的构件内(=控件+规则),软件是通过“组合构件”来实现的,软件实现过程中使用不到编码技术,因此,采用针对编码技术建立的软件工程技术是难以适用于配置式开发的。

 

二、软件的生产工业化方式

       ■ 制造业在100年前就已经开始了工业化生产的探索(流水线)

       ■ 建筑业现在也已经开始工业化生产的探索(构件化)

       软件行业的生产现状呢

          软件行业的现实是:使用了高科技的硬件设备(计算机),但生产方式是传统的手工编代码,每日重复着繁琐、分散,

          低效和难以复制的工作。

 

       软件行业也需要找到一套能够类似制造业的“工业化生产”方式,使得开发方式能够与先进的硬件设备相匹配。实现工业化方式的生产需要两个要素:工具&方法,工具已经有了零编码的基干平台,因此,还需要一套“零编码”的工艺工法 

    

      基干式软件工程就是零编码开发的“工艺工法”。

  
    

      基干式软件工程,按照实现软件过程的前后顺序,由4大部分构成
 

一、需求工程

     ■ 信息化咨询:通过与企业高层交流传递信息化理念、价值,获取企业信息化目的、目标等经营管理层需求。交付整体解决方案

     ■ 需求调研:获取客户业务&IT需求并结构化标准化地记录,是来自于管理和执行层的主要需求。交付需求调研报告

     ■ 需求分析:根据前二个环节的资料,分析、补全、梳理出企业未来的业务架构(客户确认依据)。交付需求规格说明书

 

二、设计工程

       设计工程分为二部分,业务设计&系统设计

      ■ 业务设计:偏重客户的业务应用(管理、流程、客户体验等),需要综合咨询、调研、分析等环节信息,运用IT手法为客户设计信息化环境下最佳业务运作方式,这是软件工程的核心,系统最终价值主要取决于业务设计。交付业务设计规格书

     ■ 系统设计:设计的第二部分是系统设计,系统设计偏重于技术实现(数据库、性能、安全等)。交付系统设计规格书

 

三、实现工程

     ■ 开发配置:依据前述的业务设计规格书系统设计规格书实现软件。交付系统(软件)

     ■ 测试验证:分为对系统的技术测试和对系统的业务验证(运用业务脚本方式)。交付测试验证报告

 

四、应用工程

     ■ 实施应用:对完成系统的上线、培训、以及将企业管理规则导入到系统实现设计价值,应用磨合等。交付系统实施报告

     ■ 运营维护:针对客户信息中心培训对系统运营以及维护的方法。交付运营维护指导书

     

 

基干式软件工程编码用软件工程内容的主要区别(不限于此)

 

一、业务设计

       基干式软件工程最大特点之一是设立了“业务设计”这个环节,并区分了“业务设计”和“系统设计”覆盖范围和目的,并给出了业务设计相应的方法、标准、流程,并明确地指出了:

        1. 业务设计的目的客户价值

             比如:■ 管理者界面和操作者界面的设计要点?

                       ■ 如何设计成本的精细管理控制机制?

                           注:业务设计的重点不是UI设计

         2. 业务设计师是软件实现过程的核心人物

             如同建筑业一样,建筑的设计者是“建筑设计师”(不是结构工程师,也不是设备工程师一样),因为业务设计师

             是直接了解客户需求的人。

 

二、模块化设计

        ■ 提出了模块化设计的原理“组件 + 机制

        提供统一的制图方式、定义了组件、机制等

        ■ 提出了基线产品的概念、实现了软件零件的通用化方法 

 

三、工业化软件生产模式

       结构化的划分了软件生产的不同环节,可以将软件的开发过程转换成为制造业方式

        ■ 制定了软件过程的流程化操作

        ■ 全部的开发过程可以由不同企业、部门、个人采用分包、验收、定额的方式

 

      

       做好了业务需求的调研和分析,下一个重要的工作就是:如何将需求转换为系统的(组件、流程、规则),从客户表述的“工作步骤”→ 分析师梳理的“业务活动”→ 业务设计师设计的 “系统组件”。 

       管理系统开发难,后期的维护更难,由于没有很强的应变能力,大多数的管理系统在客户需求发生变化时响应的时间都很长。基干式软件工程提倡的设计方法会有效地改善这个问题。

      

  没有采用模块化的设计方法,完成的系统容易形成“紧耦合
状 态,从而在需求发生变化时,难以改动,这样的系统容易发
生改一个地方,要同时影响数个相关点,造成牵一发而动全身
问题
                                                                               


 

       基干式软件工程是支持进行系统“松耦合”设计&实现的设计方法,它是依据基干原理的“组件+机制”设计理念来构建系统的,调整机制,可以快捷地增加,或移除组件。

       按照基干方式设计&实现,可以获得如图示意的效果:哪个环节的模块不合适,摘掉曲别针,换掉它;或是做一个新模块利用曲别针固定到合适的位置上。

                                                            

       学习了基干式软件工程,可掌握如何设计管理系统的“管理桌面”,形式进行设计。

 

       管理桌面不仅仅可填报数据,而且还要对该数据所对应的的业务进行“管理”,这样完成这个界面的操作,就相当于完成一个“任务”,既然是任务,那么就要有任务目标、达成规则,检验标准等。