Software Engineering——A PRACTITIONER'S APPROACH (english edition · eighth edition)

ARCHITETUAL DESIGN

Record at P261

Choosing the right architecture style can be tricky. Bushman suggests two complementary concepts that can provide some guidance. 

Problem frames(wikipedia linked)  describe characteristics of recurring problems, without being distracted by references to details of domain knowledge or programming solution implementations.

Supplement

The first problem frames identified by Jackson included:

  1. required behavior
  2. commanded behavior
  3. information display
  4. simple workpieces
  5. transformation

The intuitive idea behind this problem frame is:

  • There is some part of the physical world whose behavior is to be controlled so that it satisfies certain conditions. The problem is to build a machine that will impose that control.

Domain-driven design suggests that the software design should reflect the domain and the domain logic of the business problem you want to solve with your application.

Software Engineering——A PRACTITIONER'S APPROACH (english edition · eighth edition)

时间: 2024-10-09 20:20:10

Software Engineering——A PRACTITIONER'S APPROACH (english edition · eighth edition)的相关文章

SEMAT[软件工程方法和理论 Software Engineering Method and Theory]

Agile software development Agile software development is a group of software development methods based on iterative and incremental development, in which requirements and solutions evolve through collaboration between self-organizing, cross-functiona

Software Engineering: 2. Project management

resources:"Software Engineering" Ian Sommerville For most projects, important goals are: Deliver the software to customer at the agreed time. Keep overall costs within budget. Deliver software that meets the customer's expections. Maintain a hap

个人阅读作业2—《No Silver Bullet: Essence and Accidents of Software Engineering》读后感

在进行了一次结对编程.一次团队编程和一次个人编程项目后,读了<No Silver Bullet: Essence and Accidents of Software Engineering>,在此说说自己的感想体会.在团队编程中我们遇到了很多个人.结对编程时没有遇到的问题. Of all the monsters that fill the nightmares of our folklore, none terrify more than werewolves, because they t

Software Engineering

OOA Object-Oriented Analysis:面向对象分析 OOD Object-Oriented Design  :面向对象设计 OOP  Object Oriented Programming:面向对象编程 UML  Unified Modeling Language:统一建模语言 Software Maintenance:软件维护 Software Testing:软件测试 Software Project Management:软件项目管理 System Developmen

Software Engineering | Factory method pattern

工厂对象通常包含一个或多个方法,用来创建这个工厂所能创建的各种类型的对象.这些方法可能接收参数,用来指定对象创建的方式,最后返回创建的对象. 有时,特定类型对象的控制过程比简单地创建一个对象更复杂.在这种情况下,工厂对象就派上用场了.工厂对象可能会动态地创建产品对象的类,或者从对象池中返回一个对象,或者对所创建的对象进行复杂的配置,或者应用其他的操作. 这些类型的对象很有用.几个不同的设计模式都应用了工厂的概念,并可以使用在很多语言中.例如,在<设计模式>一书中,像工厂方法模式.抽象工厂模式.

Reaction to 构造之法 of Software Engineering From The First Chapter toThe Fifth Chapter(补充版)

几个星期前,我阅读过一篇文章,一位老师教导自己的学生要积极地去阅读文学文献,其中,我很欣赏他的一句话:“Just think of liturature as if you're reading a long text-message”.引申到这里,对比后才发现自己在现实生活中真的很少在课后花时间来细看自己的专业书籍,说来惭愧,这种情况出现的频率最多的就是在学期末备战考试了.因为这次的作业,我似乎告诉自己这是一个非常“恰当”的理由去让自己提前去完成未完的“任务”.阅读一本书,就要认真,要对得起自

Reaction to 构造之法 of Software Engineering From The First Chapter toThe Fifth Chapter

几个星期前,我阅读过一篇文章,一位老师教导自己的学生要积极地去阅读文学文献,其中,我很欣赏他的一句话:“Just think of liturature as if you're reading a long text-message”.引申到这里,对比后才发现自己在现实生活中真的很少在课后花时间来细看自己的专业书籍,说来惭愧,这种情况出现的频率最多的就是在学期末备战考试了.因为这次的作业,我似乎告诉自己这是一个非常“恰当”的理由去让自己提前去完成未完的“任务”.阅读一本书,就要认真,要对得起自

10. Software, Software Engineering, water fall (瀑布模型),Code Complete等名词的来源

①.Software-软件”一词是20世纪60年代才出现的,软件Software——1958年由贝尔实验室的著名统计学家John Tukey 提出软件与硬件一起构成完整的计算机系统,它们是相互依存,缺一不可的. 自从第一台计算机诞生以后,就开始了软件的生产,到现在为止,经过了三个阶段.即程序设计时代,程序系统时代,软件工程时代. 1.程序设计时代(1964年~1956年) 这个阶段的生产方式是个体手工劳动,使用的工具是机器语言,汇编语言. 2.程序系统时代(1956年~1968年) 这阶段的生产

Software Engineering homework2

现在市面上有诸多软件,选取一类软件,请分析: Q1:此类软件是什么时候出现的,这些软件是怎么说服你(陌生人)成为它们的用户的?他们的目标都是盈利的么?他们的目标都是赚取用户的现金的么?还是别的? A1:我选择的是手机应用——课程格子.大学上课是要提前看好时间和教室的,打印课程表不如将课程表存在手机里方便:纸质课程表是"死"的,单双周课程无法直观显示,而课程格子会自动提示上课时间.教室与授课教师,所以我选择了课程格子来陪伴我的学习.课程格子于2012年8月29日创建,是一款基于课程表的移