• 静思
  • 吴言片语
    • 吴言
    • 片语
    • 杂七杂八
  • 死于青春
    • 一路走好
  • 乌合麒麟
  • 纪念
    • 5.12
    • 3.23
  • GitHub
    • A List of Post-mortems
    • The Art of Command Line
  • 关于
    • Privacy Policy

程序员的信仰

金鳞岂是池中物,一遇风云便化龙

HOME » 技术生活 » Object Modeling Strategies (IV)

Object Modeling Strategies (IV)

2005 年 10 月 11 日 @ 下午 4:51 by Jay | 被踩了 1,787 脚

Str#6. “Four Kinds of Features” Strategy // identifying purpose and features

– Be certain to include features that cover the following:

1. Log important information.

2. Conduct business.

3. Analyze business results.

4. Interact with other systems.


Str#6a. “Add Features, Inspired by Patterns” Strategy // identifying purpose and features

– Add features inspired by the stereotypical responsibilities of a participant (in Patt#3, Participant-Transaction), transaction (in Patt#6, Transaction – Transaction Line Item), and place (in Patt#4, Place-Transaction).

– Examples: assess the performance of a participant (how many, how much), calculate the total of a transaction, assess the performance of a place (how many, how much).


Str#6b. “Organize and Prioritize Features” Strategy // identifying purpose and features

– Organize the features into &quotfeature categories” (also known as &quotuse cases”).

. Example: maintaining employee info; assigning employees; assessing employee performance

– Prioritize the features.

. Identify the prioritization criteria. For example: normal sequence of business usage; greatest risk; customer interest; management interest; ease of implementation.


Str#7. “Calculation Results and Decision Points” Strategy // identifying purpose and features

– Add features that deliver calculation results.

– Add features that support decision points.


Str#8. “Best and Worst Features” Strategy // identifying purpose and features

– Ask users:

– What are the best features of the current system? Of competitive systems?

– What are the worst problems of the current system? Of competitive systems?

– What are the unneeded features of the current system? Of competitive systems?


Str#9. “Top 10” Strategy // identifying purpose and features

– Build a list of features.

– When you face an abundance of features (or classes, attributes, services), go after the top 10.

– Why: avoid being overwhelmed by a sea of low-level details.


Str#10. “Now and Later” Strategy // identifying purpose and features

– Consider current capabilities–and anticipated future capabilities.

– Ask, “How is it done now? How will it be done later, with the new system?”

– Look at things that people do to objects now, and consider features you can add (your automated objects might be able to do those actions to themselves).


Str#11. “Reengineer on the Boundaries” Strategy // identifying purpose and features

– Look at each organization or automated system boundary.

– Look for duplicate efforts on each side of such a boundary.

– Model the capability one time–and encourage some reengineering improvements for the organization.


Str#12. The “Smarter Devices” Strategy // identifying purpose and features

– Look for opportunities to use smarter devices, simplifying your object model and reducing software development schedule and costs.

– When building an object model in a field with rapidly changing data acquisition and control technology, be sure to take a systems perspective, spanning both hardware and software.


-- EOF --

除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:Object Modeling Strategies (IV)

分享

  • 点击分享到 Facebook (在新窗口中打开) Facebook
  • 点击以分享到 X(在新窗口中打开) X
  • 更多
  • 点击分享到Reddit(在新窗口中打开) Reddit
  • 点击分享到Telegram(在新窗口中打开) Telegram
  • 点击以在 Mastodon 上共享(在新窗口中打开) Mastodon

赞过:

赞 正在加载……

相关

Posted in: 技术生活 Tagged: oo
← Java code name
Java Concurrent框架之阻塞队列(Blocking queue) →

android (9) apple (20) augmentum (9) Beijing (21) bt (8) career (28) coding (38) firefox (10) google (36) hibernate (11) ibm (11) iphone (10) java (93) linux (16) m$ (26) mac (58) macos (27) nazca (9) olympics (8) oo (8) playstation (10) rip (8) Shanghai (39) spring (9) tips (45) tommy emmanuel (8) ubuntu (12) usa (23) windows (9) 北航 (17) 博客 (29) 吐槽 (8) 周末 (9) 和谐社会 (26) 小资 (11) 愤青 (40) 方言 (10) 朋友 (77) 歌词 (8) 烟酒不分家 (18) 爱国 (19) 爱情 (8) 犯二 (15) 破解 (8) 足球 (11)

烫手山芋

  • 再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~ - 被踩了 27,831 脚
  • 生活,就是一个期待跟着一个期待 - 被踩了 21,390 脚
  • 星巴克饮品缩写大全(Starbucks Drink ID Codes)[zz] - 被踩了 18,484 脚
  • 从一个全角冒号说一下我为什么不感冒iOS - 被踩了 14,420 脚
  • 有关Character.isLetter()和Character.isLetterOrDigit() - 被踩了 13,625 脚

刚拍的砖

  • leo 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 花 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 无名氏 发表在《从一个全角冒号说一下我为什么不感冒iOS》
  • Jay 发表在《Mac OS geek级问题》
  • Wei Wang 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》

随便看看

  • 80后的特征,你符合几条?(四)[zz]19 年 ago
  • 走好,Steve4 年 ago
  • Approve吧19 年 ago
  • 揭秘比特币和区块链(一):什么是区块链? [zz]9 年 ago
  • Facebook Valuation Over Time9 年 ago

文以类聚

光阴似箭

其他操作

  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

Copyright © 2025 程序员的信仰.

Jay's Omega WordPress Theme by Jay

 

正在加载评论...
 

    %d