摘要: 用解决小问题的相同方式解决大问题。 1.确认你的软件做客户要它做的事 2.运用基本的OO原则来增加软件的灵活性 3.努力实现可维护、可重用的设计 看待大问题的最佳方式就是化整为零,将它视为许多单独的功能片段(pieces of functionality) 你可以将那些片段的每一个创建为要解决的单独 阅读全文
posted @ 2017-07-19 21:26 lanshanxiao 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 聚合(aggregation):聚合是关联的一种特殊形式,表示一件事物是由另一件事物(部分地)组成。 在Java中的称呼:抽象类(abstract class),关系(relationship),继承(inheritance),聚合(aggregation) 在UML中的称呼:抽象类(abstrac 阅读全文
posted @ 2017-07-17 23:01 lanshanxiao 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 情景(context),文本分析(textual analysis),属性(attribute),操作(operation) 确保事情正常运作以及真实世界不会摧毁你的应用程序的关键是分析:想出潜在的问题,然后解决那些问题——在你将应用程序发布到真实世界之前。 良好分析第一步是: 想出潜在的问题 委托 阅读全文
posted @ 2017-07-17 19:46 lanshanxiao 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 客户永远是对的:当需求改变时,你必须准备好更新你的应用程序并确保它运作的就像客户预期的那样。当客户有新需求时,要靠你来改变应用程序以符合新需求。 软件分析与设计的不变真理是:改变。无论你把应用程序设计的多好,应用程序总会是随着时间成长或改变。 需求时时在变,有时在项目中间,有时在你认为一切都已完成时 阅读全文
posted @ 2017-07-17 15:46 lanshanxiao 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 用例:用例是捕捉新系统或软件变更的潜在需求技术。每个用力提供一个或多个场景(scenario),传达系统如何与终端用户(end user)或其他系统交互以实现特定目标。 什么意思?我也没看懂? 一个用例,三个部分。 1.清楚的价值: 每个用例对于系统都必须有明确的价值(clear value)。加入 阅读全文
posted @ 2017-07-16 21:39 lanshanxiao 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 不会总结的程序员,不是好的程序员! 回头看,我们做了什么? 1.确认你的软件在做客户要它做的事 是的,我们做了让用户提供吉他属性,可以从Guitar库中搜索到心仪的吉他,之间出现了总是没有匹配到用户想要的吉他,导致吉他店差点倒闭。还好经过努力,我们把自己犯得错误纠正了!不然店长就和我们同归于尽了!太 阅读全文
posted @ 2017-07-15 23:11 lanshanxiao 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 上次,我们从Guitar类中分离出了GuitarSpec类,可以让用户通过GuitarSpec类来搜索心仪的吉他。 这次用户说了,卖吉他的时候,又多出了一个搜索方法,弦的个数,可以从1到12,我不管反正我就要这个搜索功能,你看着办吧! 上次的GuitarSpec类中,我们并没有提供用户弦的个数这个搜 阅读全文
posted @ 2017-07-15 22:39 lanshanxiao 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 客户又通知我们,他的Guitars库中有很多相同属性的吉他,但是可能售价上不同。 现在,我们要实现的是,怎样返回库中能匹配所有属性的Guitar,并列出来。 更新Inventory.java中的search()方法: 更新FindGuitarTester.java: 通过以上的修改,我们完成了步骤一 阅读全文
posted @ 2017-07-15 21:31 lanshanxiao 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 伟大软件的简易三步骤: 1.确认你的软件客户要它做的事。 2.运用基本的OO原则来增加软件的灵活性。 3.努力实现可维护、可重用的设计。 项目架构: Guitar类: Inventory类: 搜寻测试代码: 运行结果: 为什么,明明有,为什么说没有? 检查了代码,可能搜寻中“fender”的f是小写 阅读全文
posted @ 2017-07-15 17:46 lanshanxiao 阅读(330) 评论(0) 推荐(0) 编辑
摘要: UML(Unified Modeling Language):统一建模语言 封装:将编程元素(programming elements)包含在较大、较抽象的实体内的过程,也被称为信息隐藏(information hiding)或关注点分离(separation of concerns) 继承:一个类 阅读全文
posted @ 2017-07-15 15:53 lanshanxiao 阅读(201) 评论(0) 推荐(0) 编辑