SSH项目--国税(UML)

来源:互联网 发布:漫画美图软件 编辑:程序博客网 时间:2024/04/28 13:24
软件的发展历史

程序设计阶段
在1946年~1955年 
对硬件进行开发,规模很小
主要用于科学计算  
程序设计追求节省空间和编程技巧

软件设计阶段
在1956年~1970年
硬件增长速度快,性价比越来越高
从科技转化到了商用
软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,导致了“软件危机”

软件工程阶段
1970年~至今
大量的软件需求被提出,没有相应解决方案
改变软件开发的技术手段和管理
采用新的变成思想来开发软件
采用工程化的思想来管理软件
目前为止没有从根本上解决软件危机

软件工程的目标
利用工程化的方法.在给定成本、进度的前提下,开发出具有可维护性、正确性、可移植性的软件.提高软件产品的质量和开发效率,减少维护的困难

软件的复杂性
图形用户界面
程序与文档
数据通信
超大型关系型数据库(NoSQL不仅关系型数据库)
负载均衡集群

软件项目团队中的角色
分析师    软件构架师   设计人员    程序员    测试人员   运维人员   项目经理

两种软件开发模型
瀑布模型
螺旋模型

SSH项目--国税(UML)



软件开发阶段
可行性分析
需求分析
软件设计
实现阶段
测试阶段
维护阶段

项目可行性分析
技术可行性
经济可行性
社会可行性(Don’t  be evil)

需求分析阶段:
需求是产品的根源
需求工作的优劣对产品影响最大
SSH项目--国税(UML)



设计阶段: 

SSH项目--国税(UML)


实现阶段

SSH项目--国税(UML)


评估/测试阶段
SSH项目--国税(UML)


运维阶段
为客户提供故障诊断支持
应用程序要求的任何软件升级 




UML(Unified modeling language)
出现于70年代中期
数量从不到十种增加到了五十多种
OO方法的用户并不了解不同建模语言的优缺点及相互之间的差异 
90年代中期形成了UML统一建模语言 ;它是一种支持模型化和软件系统开发的图形化语言

UML 建模工具
IBM Rational Rose
StarUML
ArgoUML
……

UML组成
用例图
类图
时序图
活动图
状态图
协作图
部署图
……

用例图
用例图显示谁将是系统的使用者、用户希望系统提供什么服务以及系统能够为用户提供什么样的服务;从用户的角度描述系统的功能
用例图最常用来描述系统以及子系统
SSH项目--国税(UML)

用例图的2种元素4种关系
参与者(Actor)
用例(Use Case)
关联关系(Association)
包含关系(Include)
扩展关系(Extend)
泛化关系(Generalization)


用例间的关系
关联关系
包含关系
扩展关系


关联关系
表示参与者用例之间进行通信。 
不同的参与者可以访问相同的用例
尽量避免关联线交叉,以免影响显示效果
SSH项目--国税(UML)

参与者
系统用户
与所建造的系统交互的其他系统 
在用例图中,使用泛化关系来描述多个参与者之间的公共行为
SSH项目--国税(UML)

包含关系
客户用例可以简单地包含提供者用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。
SSH项目--国税(UML)
扩展关系
扩展用例被定义为基础用例的增量扩展并在一定条件下发生。
基础用例提供扩展点以添加新的行为。
扩展用例提供插入片段以插入到基础用例的扩展点上。  
SSH项目--国税(UML)

网上商城用例图
SSH项目--国税(UML)

用例图总结
外部可见的系统功能单元(用例图可分级别) 
不是需求或功能的规格说明,只展示和体现其所描述需求本身的情况
用例图最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的
给用户看的,所以在图中避免使用专业术语

类图
用于描述系统中的类与类之间的各种关系。
继承:父子类关系
实现:类与接口关系
关联(全局变量, 组合/聚合): 值、引用
依赖:局部变量(非Spring中 依赖注入)

创建类图
SSH项目--国税(UML)
类图举例
public class Person{
private Integer id;
private String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return  name;
}
}
SSH项目--国税(UML)
类图—继承关系
public abstract class BaseDaoImpl{
public void save(Object entity){
}
public Object findObject(Object id){
}
}
public class UserDaoImpl extends BaseDaoImpl{
}
SSH项目--国税(UML)
类图—实现关系
public interface UserDao {
}
public class UserDaoImpl 
implements UserDao {
}
SSH项目--国税(UML)
类图—关联关系
关联关系实际上就是类与类之间的联系
关联具有导航性:即双向关系或单向关系
SSH项目--国税(UML)
类图—组合关系(By value)
也是整体与部分的关系,但是整体与部分不可以分开;部分离开整体没有实际意义。
使用带实心菱形的实线来表示
SSH项目--国税(UML)

类图—依赖关系
A类使用到了另一个B类型
关系具有:临时性的、偶然性,但是B类的变会影响到A,
代码层面,为类B作为参数被类A在某个method方法中使用

类图分析
SSH项目--国税(UML)

类图总结:
注意此处的关联是全局的,依赖是局部的,在Spring中的依赖注入,就是这里关联关系
Show visibility :显示属性和方法可见性
Show all Attribute: 显示所有属性
Show all operactions 显示所有方法
Show operation Signature  显示方法声明
Show operation Stereotype  方法类型


时序图 Sequence Diagram
时序图Sequence Diagram是强调消息时间
顺序的交互图。
时序图描述类系统中对象和对象之间的交互
时序图是一个模型,用于描述对象组如何随着时间在某些行为方面交互
SSH项目--国税(UML)

时序图元素
角色(Actor)
对象(Object)
生命线(Lifeline)
消息(Message)
自关联消息(Self-Message)

用户登录时序图
SSH项目--国税(UML)
时序图总结
时序图只描述理想的工作流程
时序图工具没有”角色”, 可以在用例图中创建
角色,然后在把项目中的角色拖入到时序图中
SSH项目--国税(UML)

0 0
原创粉丝点击