软工与UML
文章平均质量分 64
hongkong2007
这个作者很懒,什么都没留下…
展开
-
UP还是敏捷方法?
目前UP或RUP软件开发过程已经被很多企业所采用,敏捷方法也逐渐被很多公司使用,究竟是采用UP(RUP)还是敏捷方法呢?哪个更有效呢? 最有效的方法其实是根据企业自身的实际情况,来综合采用这两种方法,选择最适合你的最佳实践。 所谓最佳实践,是指人们在多年的实践过程中总结出来的最佳的开发软件的一些方法。 RUP中的最佳实践有:迭代式的开发、管理需求、使原创 2007-09-20 21:04:00 · 847 阅读 · 0 评论 -
设计模式浅谈
设计模式在软件设计过程中起着重要的作用, 直接决定了软件代码质量的可维护性, 可重用性等重要指标。那么是不是使用了设计模式就意味着软件的设计就是一个好的设计了呢?又该如何正确使用设计模式呢?一、设计模式在软件开发过程中的位置 设计模式通常在软件系统分析之后使用,可以在概要设计时进行初步的考虑,在进行详细设计之前确定如何使用。这样看来设计模式在软件系统分析设计过程中的抽象层次较高原创 2008-03-02 10:37:00 · 714 阅读 · 0 评论 -
从优秀到卓越
我见过很多非常优秀的技术人员,他们兢兢业业,刻苦努力,吃苦耐劳,当然他们也在自己的岗位上作出了优异的成绩,但是,当积累了几年的工作经验之后,就会进入一个迷茫期,一是年龄长的比收入快的多,二是不知道自己该朝哪个方向发展,因为能干的活也没少干,从来没清闲过,也很努力,可是这样年复一年,似乎又缺少了些什么,当初工作的激情也逐渐消退。首先,收入不会因为年龄的增长而增长,除非你能提供的价值在增加。在中原创 2008-03-09 09:27:00 · 785 阅读 · 0 评论 -
Extreme Programming 极限编程
Extreme Programming is a lightweight software develeping methodology. XP is the most popular of the Agile development methodologies. XP is an agile methodology for small to medium-sized teams deve原创 2009-01-10 18:19:00 · 876 阅读 · 1 评论 -
Scrum
Scrum is an agile process for developing software. With Scrum, projects progress via a series of month-long iterations called sprints.Scrum is ideally suited for projects with rapidly changing o原创 2009-01-10 18:20:00 · 533 阅读 · 0 评论 -
测试驱动开发
测试驱动开发(Test Driven Development,英文缩写TDD)是极限编程的一个重要组成部分,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完成全部功能的开发。代码整洁可用(clean code that works)原创 2009-01-10 18:21:00 · 669 阅读 · 0 评论 -
持续集成
在没有应用持续集成之前,传统的开发模式是项目一开始就划分模块,然后等所有的代码都开发完成之后再集成到一起进行测试,随着软件技术的发展,各种软件方法百花齐放,软件规模也在扩大,软件需求越来越复杂,软件已经不能简单地通过划分模块的方式来开发,需要项目内部互相合作,划分模块这种传统的模式的弊端也越来越明显,由于很多 bug 在项目的早期就存在,到最后集成的时候才发现问题,开发者需要原创 2009-01-10 18:23:00 · 1569 阅读 · 0 评论 -
桥接模式 Bridge
将抽象部分与它的实现部分分离,使它们都可以独立地变化。例如: 有产品树和一系列对不同产品进行评估的方法。产品树可以成为一个单独的继承结构,它们使用评估方法来获得产品的等级。评估方法可以成为一个独立的继承结构,两个继承结构可以独立变化,互不影响。代码如下:package bridge;import bridge.Evaluation.Grade;public inter原创 2009-01-10 18:47:00 · 687 阅读 · 0 评论 -
用例模型设计需要注意的几个问题
什么样的用例模型是正确有效的呢? 很多人在用用例模型描述软件需求的时候都会有这样的困惑,下面就来阐述一下比较常见的问题。一、 角色不仅仅指的是人 首先,要强调的是角色不仅仅指的是人,任何需要和软件交互的其他系统和设备都是系统的角色。 比如,一个软件系统需要从其他遗留系统中获取数据,那这个遗留系统就是这个软件系统的角色;再比如,软件系统运行过程中,时钟会在某个原创 2007-09-14 19:27:00 · 2476 阅读 · 0 评论 -
如何进行软件系统分析
实体类通常指系统中需要持久化的类,代表系统中的核心概念。软件系统分析目前用的较多的方法就是鲁棒(Robust)分析,也就是健壮性分析。首先根据用例的描述设计系统的边界类、实体类,和控制类。 一、边界类 边界类描述系统与角色的接口,通常是图形用户界面,通信协议、打印机接口、传感器和终端。最常见的就是窗体。那窗体中的各种控件算不算呢?不算,窗体本身是最合适的边界类,而其中的控件就原创 2007-09-14 19:47:00 · 1644 阅读 · 0 评论 -
如何组织软件团队的人员
软件开发过程中人的因素对成败起着决定性的作用,人员之间联系的多少和联系的方式与生产率直接相关。随着团队成员数量的增加,联系会复杂起来,人员相互之间的联系并不是按线性关系增长。 因此,已经进行中的软件项目在任务紧张,延误了进度的情况下,不鼓励增加新的人员给与协助。除非分配给新成员的工作是比较独立的任务,并不需要对原任务有更细致的了解,也没有技术细节的牵连。有人认为,在已经延误进度的软件项目原创 2007-08-26 14:22:00 · 1659 阅读 · 0 评论 -
软件开发过程中的几个问题
一、过程问题很多企业员工在使用UML的过程中,只是进行了领域建模,没有进行用例建模,这样是不能最大可能地发挥UML的优势的,因为该组织的软件开发过程不是用例驱动的。UML对使用它的软件开发过程的要求是用例驱动,以架构为中心,迭代和递增的开发,如果软件开发组织的软件开发过程不能满足这三点要求,那么UML的使用效果就会大打折扣。也会产生一些问题,有些组织在使用UML之后,发现前期花很长时间设计原创 2007-08-23 12:56:00 · 2121 阅读 · 0 评论 -
软件开发过程工作流程维度概述
业务建模业务模型具有重要意义,他不但是供软件分析人员了解企业内部工作流程的工具,而且可以发现企业的业务逻辑在信息化过程中存在哪些问题,需要做哪些改进,以加快信息化建设。对业务逻辑进行分析,分析过程中产生业务逻辑模型,包括业务用例模型和业务对象模型。识别业务用例,业务角色,业务对象等。通过业务模型重用达到业务逻辑重用。域模型域模型的设计,包括如何从需求中识别出类,找备选原创 2007-08-23 12:58:00 · 1857 阅读 · 0 评论 -
关于计算机软件的几个观点
面对飞速发展的计算机软件技术,如何跟上潮流?融会贯通地理解软件知识,增长见识,挖掘事物的本质,客观的分析问题,可以使你比别人跑的更快,更持久。一、 计算机软件的特征软件复杂度大,开发过程中可见性差,可集成性差,开发投入大,整个开发设计过程中人的因素至关重要,软件开发人员的管理也和一般职员不同,如何控制、管理以及对对各个环节的熟悉程度决定软件开发的成败,软件开发不允许犯错误。原创 2007-08-23 13:01:00 · 1161 阅读 · 1 评论 -
用UML建模需要注意的问题
用UML建模时,对软件开发过程是有要求的,必须是用例驱动,以架构为中心,迭代和递增的开发,如果软件开发组织的软件开发过程不能满足这三点要求,那么UML的使用效果就会大打折扣,下面详细论述: 一、 用例驱动用例驱动意味着为系统定义的用例是整个开发过程的基础。用例在多个核心工作流程中都发挥了作用。 1、 用例的概念可用来表示业务流程,我们称这种用例的变体为“业务用例”。原创 2007-08-24 15:44:00 · 916 阅读 · 0 评论 -
如何在软件开发团队中进行有效沟通
软件的性质决定了人的重要作用,因此有效的沟通就显得尤为重要。 一、文档很重要吗? 传统的软件开发过程强调文档的沟通作用,他要求每个阶段都要产生详细的文档,他希望通过文档不同的涉众可以更好地理解系统的内容,了解系统的进展。 然而,文档真的能起到预期的效果吗? 事实证明,能真正潜下心来,认真阅读文档的人并不多。如果一个人能够潜下心来阅读那些枯燥的文档,我们原创 2007-08-27 10:49:00 · 2518 阅读 · 0 评论 -
需求捕获与软件开发过程
需求真的在一直变化吗? 不一定是这样,例如对传统行业的信息化,由于有相对稳定的工作流程,需求变化不会很大。并不是所有的软件项目的需求都是变幻莫测的。如果在项目初期没有对需求进行全面的捕获和确认,那项目进行过程中出现反复修改,以至于返工,都是很可能的事。这就对需求捕获人员提出了很高的要求,需求不但要全面,准确,还要考虑到实施中的每一个细节,如果某个细节出现不符合客户实际的要求,到项原创 2007-08-24 13:28:00 · 754 阅读 · 0 评论 -
如何做好软件需求捕获
做过软件的人都听过这样的抱怨:需求变化太快,软件系统经常要修改,都连续加班几个星期了。。。。。。 通常面对这样的问题,要如何解决呢? 首先,问题的根源是:需求不断变化。 很多人都有这样的经历,在捕获需求时,根据客户的阐述,做了记录,然后开发出了软件,客户却说很多地方不符合他们的意思,又要求修改。我们分析一下捕获需求过程中存在的问题。 客户很可能对软件方原创 2007-08-24 13:31:00 · 735 阅读 · 0 评论 -
面向对象中的一些概念
继承 特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承。 继承意味着自动地拥有,或曰隐含地复制,子类从父类中继承属性和操作,根据需要添加自己的属性和方法。 多继承 允许一个特殊类具有一个以上一般类的继承模式称作多继承。抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象;也即,一个现实事物,可能担任很多角色,只有与问题域有关的角色,才予原创 2009-01-10 18:28:00 · 724 阅读 · 0 评论