• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






高煥堂.EIT

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

OOAD-Sec-03

    By 高焕堂 2010/10/29 

[Go Back]

[請指教:高老師的免費on-line教學視頻]  

                                                                                                               

Android_从需求分析到设计

  

需求分析:对映到系统行为(Behavior)设计

 

1.  前言

     Use Case上一篇文章里,提到从Use Case连结到Layout画面的设计,也连结到UI(如Activity或View子类)事件处理类别的设计上。由于UI事件的处理工作分散于Android应用框架的基类别(Super class)和应用子类别(Subclass)上,所以会触发应用框架(Framework)与应用程序(Application)之间的讯息传递(或函数呼叫)。

     在Framework-based平台上开发应用软件时,呈现框架与应用程序之间的沟通是一项重要事情,因为这是框架开发者与应用软件开发者之间的分工界面,也是框架与应用程序两个模块之间的API。凸显这个API是非常重要的,可以在类别图上呈现之,也可以在顺序图(Sequence Diagram)里呈现之。顾名思义,顺序图可以呈现详细的讯息传递顺序;而类别图则能呈现模块与接口之关系,也就是呈现系统的架构性意义,而不是执行(Execution)的行为意义。

 

2. 表达需求的Use Case图

     一般的Use Case是用来表达User的需求。例如,一般Use Case图如下:

  

    这表达了User在Layout_01画面上,按下”Play”按钮(Button),就可以播放MP3歌曲了。

 

3. 框架与应用程序的事件传递情形

    依循上图的需求,设计师规划出事件讯息的处理类别,如下:

  

4.  以Sequence图呈现行为设计

    在应用程序启动时,Android框架就送出onCreate()给ac01子类别。这子类别就准备Layout_01画面,并呼叫Android框架的setContentView()去要求框架显示出UI画面。当User在Layout_01画面上,按下”Play”按钮时,Android框架就送出onClick()给ac01子类别。这子类别就呼叫MediaPlayer的play()函数,在幕后进行播放MP3音乐的工作。[歡迎光臨 高煥堂 網頁: http://www.cnblogs.com/myEIT/ ]

    于是,可以拿UML的Sequence图来呈现上述的设计思维。由于每位设计师想要凸显的焦点会有些不同,所以会出的Sequence图的造型,也可能有些细微的差异。 

Sequence图的造形(一)

    特别凸显:User的事件是由Android框架先接到,然后才传送到ac01子类别;而且由Android框架来显示出Layout画面,如下图:

  

Sequence图的造形(二)

    不凸显由Android框架来显示出Layout画面,如下图:

  

Sequence图的造形(三)

    不凸显由Android框架先接收及显示出Layout画面,如下图:

  

Sequence图的造形(四)

    凸显团队分工:Android框架和MediaPlayer类别都是Google团队所开发的。而且呈现出:从应用程序看Android框架的观点,如下图:

  

Sequence图的造形(五)

    呈现出:从Android框架看应用程序的观点,如下图:

   

Sequence图的造形(六)

    隐藏Android框架,只呈现应用程序,如下图:

  

5. 结语

    上一篇是以状态机图来呈现「控制角度」的系统行为;而本篇则以Sequence图来呈现「执行角度」的系统行为。◆

 [Go Back]

 

 

发表于 2013-10-30 17:44  高煥堂.EIT  阅读(150)  评论(0)    收藏  举报
 
刷新页面返回顶部