系统分析与设计学习笔记(一)

为什么要学习这门课程?

  “拥有一把锤子未必能成为建筑师”。

这门课程学习的是面向对象分析和设计的核心技能的重要工具。对于使用面向对象技术和语言来,创建设计良好、健壮且可维护的软件来说,这门课程所授予的技能是基本要求。对于创建对象      系统来说,了解面向对象语言例如JAVA或者C++是必要的,但不是首先要做的。了解“对象思想”才是关键所在。

学习的内容:UML与对象思想

  UML只是图形表示法,并不能代表OOA/D,也不是方法。

  学习“对象思想”才是这门课程的重点与难点。

  如果没有掌握如何创建优秀的面向对象设计,如何评估和改进现有设计,那么学习UML或者UML CASE作图技巧就显得毫无意义

  UML的意义在于它是一种应用于OOA/D和“软件蓝图”的语言,

  它最重要的意义有两点:

  1.我们可以把它当作一种思考的工具

  2.它也可以是一种沟通的形式

通过这门课程的学习,我应该达到的目标是:

  应用原则和模式来创建更好的对象设计;

  基于作为是反的UP敏捷方法,在分析和设计中迭代地遵循一组公共的活动;

  创建在UML表示法中常用的图;

最低学习目标(也就是最重要的学习目标):

至关重要的能力是熟练地为软件对象分配职责。这项技能是必须要执行的一项活动,无论是画UML图还是进行程序设计,并且直接关乎到软件构件的健壮性、可维护性和可重用性。在实际项     目。中,如果只能仓促编码,即使在这种情况下,分配职责也是必不可少。这门课程中,将持续学习分配职责的原则。

什么是分析与设计?

  分析强调的是对问题和需求的调查研究,而不是解决方案。

  “分析”一词含义广泛,最好加以限制,如需求分析或面向对象的分析。

  设计强调的是满足需求的概念上的解决方案(在软件方面和硬件方面)而不是其具体实现。

  最终设计可以实现,而实现(如代码)则表达了真实和完整的设计。

  也可以概括为:做正确的事(分析)和正确地做事(设计)。

什么是面向对象分析与设计?

  在面向对象分析过程中,强调的是在问题领域内发现和描述对象(或概念)。

  例如航班信息中包含了飞机,航班和飞行员等概念。

  而在一个电影售票系统中,概念就有电影院,电影,场次甚至电影院座位等概念。

  在面向对象设计过程中,强调的是定义软件对象以及它们如何协作以实现需求。

示例流程(也是学习流程):

  定义用例——定义领域模型——分配对象职责并绘制交互图——定义设计类图

时间: 2024-10-25 00:30:25

系统分析与设计学习笔记(一)的相关文章

《AxureRP原型设计学习笔记》之骨头班门弄斧篇

懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 青岛) ---- 前言 ---- AxureRP中的RP:Rapid Prototyping,快速原型. 这是产品经理的神奇,作为开发来搞这个东西,有点班门弄斧. 最近边查边搞了一个丑陋的app原型,一点心得,简计于此. mac下的AxureRP装完之后,默认打开是不显示程序界面的.别跟骨头似的以为没装好,重新下载安装.新建或打开即可. 这是软件界面: ---- 控件 ---- 不建议初学者首先下

领域驱动设计学习笔记

最近学习了领域驱动设计,基本上熟悉了领域驱动的一些基本术语以及一些分析的方法,并结合了实际的开发架构.基本的概念是通过<领域驱动设计:软件核心复杂性应对之道>这本书来进行学习的,里面详细讲解了领域驱动的一些基本概念以及领域驱动的多个设计模式,如果想对领域驱动进行深入学习的话,这本书是一个不错的基础. 有了基本的概念之后,为了与实际的开发进行结合,我还阅读了<领域驱动设计C# 2008实现问题.设计.解决方案>.这本书作者通过实际的项目来展开讲解的,前面几章根据领域驱动的概念设计了领

领域驱动设计学习笔记(一 事件总线)

何为领域驱动设计? 2004年著名建模专家Eric Evans发表了他最具影响力的书籍:<Domain-Driven Design: Tackling Complexity in the Heart of Software>(中文译名:领域驱动设计:软件核心复杂性应对之道),书中提出了领域驱动设计(简称 DDD)的概念. 领域驱动设计事实上是针对OOAD的一个扩展和延伸,DDD基于面向对象分析与设计技术,对技术架构进行了分层规划,同时对每个类进行了策略和类型的划分. 领域模型是领域驱动的核心.

[软件架构设计学习笔记] - 软件架构概念

组成派的概念 计算组件及组件之间的交互 1.组件(程序模块.独立程序).连接件(过程调用.管道.消息   组件间的关系).约束(组件连接条件) 2.是一组具有特定形式的架构元素,这些元素分为三类:负责完成数据加工的处理元素.作为被加工信息的数据元素.用于把架构的不同部分组合在一起的连接元素 3.某个软件或计算机系统的软件架构是该系统的一个或多个结构,每个结构均由软件元素.这些元素的外部可见属性.这些元素之间的关系组成. 决策派的概念 一些重要方面做出的决策的组合 1.决策? 软件的组织,构成系统

类的设计 学习笔记

package com.ctu.java.exer; public class TestPerson { public static void main(String[] args){ Person p = new Person(); p.study(); p.showAge(); p.addAge(2); p.showAge(); Person p1 = new Person(); p1.showAge(); } // 属性 } class Person{ String name ; int 

yii框架设计学习笔记(一)

阅读提示: 本文章适合和我一样的菜鸟们,事先声明受于见识原因,其中偏驳和遗漏及错误,大家可以置之一笑,但是也欢迎大家指正错误,各位大神大侠 yii是什么?yii是一款由国人开发的高性能php框架.yii的构成.yii其主要思想由桌面开发的事件驱动及组件化开发为基础的框架.yii的作用.yii拥有完备的拓展库,以及其自生的特性,使得其非常插拔式的开发方式非常容易被人用来拓展程序,同时其引入了mvc的思想作为其上层开发,便于其他人的开发.yii高性能的原因因为其组件化的结构,只有当类真正使用的时候才

&amp;lt;&amp;lt;软件设计学习笔记&amp;gt;&amp;gt;

儇懦俜劝讯RHL承谅撕沂http://weibo.com/2017-12.19=33JBp/1001604186109285387723 遮链俨纪滩VHF毕肚偬残http://weibo.com/2017-12.19=RNJ7p/1001604186109297970779 托吮纸杖派ZRG醚囱倌唇http://weibo.com/2017-12.19=p5b7p/1001604186109306402544 焉鸥辖兆蜗WYO级恿净部http://weibo.com/2017-12.19=95v

JavaScript权威设计--JavaScript函数(简要学习笔记十)

1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"likeZqz()".有些些函数是用作内部用的或者为私有函数通常以一条下划线为前缀,就像"_zqzName()". 2.以表达式方式定义的函数 如: var zqz=function (){ return "zhaoqize"; } 在使用的时候必须把它赋值给一个变

《Java程序性能优化》学习笔记 Ⅰ设计优化

豆瓣读书:http://book.douban.com/subject/19969386/ 第一章 Java性能调优概述 1.性能的参考指标 执行时间: CPU时间: 内存分配: 磁盘吞吐量: 网络吞吐量: 响应时间: 2.木桶定律   系统的最终性能取决于系统中性能表现最差的组件,例如window系统内置的评分就是选取最低分.可能成为系统瓶颈的计算资源如,磁盘I/O,异常,数据库,锁竞争,内存等. 性能优化的几个方面,如设计优化,Java程序优化,并行程序开发及优化,JVM调优,Java性能调