OO第三次博客

(1) 规格化设计的大致发展历史

Software design description

A software design description (a.k.a. software design document or SDD), also Software Design Specification is a written description of a software product, that a software designer writes in order to give a software development team overall guidance to the architecture of the software project. An SDD usually accompanies an architecture diagram with pointers to detailed feature specifications of smaller pieces of the design. Practically, the description is required to coordinate a large team under a single vision, needs to be a stable reference, and outline all parts of the software and how they will work.

 

Composition

The SDD usually contains the following information:

  1. The data design describes structures that reside within the software. Attributes and relationships between data objects dictate the choice of data structures.
  2. The architecture design uses information flowing characteristics, and maps them into the program structure. The transformation mapping method is applied to exhibit distinct boundaries between incoming and outgoing data. The data flow diagrams allocate control input, processing and output along three separate modules.
  3. The interface design describes internal and external program interfaces, as well as the design of human interface. Internal and external interface designs are based on the information obtained from the analysis model.
  4. The procedural design describes structured programming concepts using graphical, tabular and textual notations.

These design mediums enable the designer to represent procedural detail, that facilitates translation to code. This blueprint for implementation forms the basis for all subsequent software engineering work.

 

IEEE 1016

IEEE 1016-2009, titled IEEE Standard for Information Technology—Systems Design—Software Design Descriptions, is an IEEE standard that specifies "the required information content and organization" for an SDD. IEEE 1016 does not specify the medium of an SDD; it is "applicable to automated databases and design description languages but can be used for paper documents and other means of descriptions."

The 2009 edition was a major revision to IEEE 1016-1998, elevating it from recommended practice to full standard. This revision was modeled after IEEE Std 1471-2000Recommended Practice for Architectural Description of Software-intensive Systems, extending the concepts of view, viewpoint, stakeholder, and concern from architecture description to support documentation of high-level and detailed design and construction of software. [IEEE 1016, Introduction]

Following the IEEE 1016 conceptual model, an SDD is organized into one or more design views. Each design view follows the conventions of its design viewpoint. IEEE 1016 defines the following design viewpoints for use:

  • Context viewpoint
  • Composition viewpoint
  • Logical viewpoint
  • Dependency viewpoint
  • Information viewpoint
  • Patterns use viewpoint
  • Interface viewpoint
  • Structure viewpoint
  • Interaction viewpoint
  • State dynamics viewpoint
  • Algorithm viewpoint
  • Resource viewpoint

In addition, users of the standard are not limited to these viewpoints but may define their own.

 

(2), (3), (4), (5)

由于我对JSF之前还不太明白,特别是语法,完全不明白。所以这部分我没法写任何有意义的内容。

 

(6)归纳自己在设计规格和撰写规格的基本思路和体会

之前做过游戏有一种叫GDD(Game Design Document)可是我对程序设计还不太熟,用的语法也不一样不过意思大概是一样,为了方便打团队合作。这几次作业的主要问题,不是在于设计而是我看了JSF 也没看懂语法,在谷歌搜了一下,语法有些不一样。后来到了上机课我才慢慢明白JSF里的语法,不过自然也晚了(对于写作业来说是晚了),不过对于我的学习自然不晚,我知道以后定会有这样的情况,与他人合作写程序,我之前做游戏的团队也说过一句话,每个人写的功能不能没有注释啊,不然其他程序员都不明白那功能是什么,发现有bug确更难改正。需要自己试才能明白,不过这样很吃力也很浪费时间的。

 

 

posted @ 2018-05-30 19:59  JadenRuneIris  阅读(167)  评论(0编辑  收藏  举报