IC行业内部的CAD应用
本文通过一个集成电路设计有关的软件项目,讨论了该项目的主要特点和本人所担任的工作,着重讨论了在项目需求分析过程中采用的具体方法和工具以及选用的理由。
由于项目的专业领域的特殊性,分两类不同的需求讨论了需求分析中遇到的问题及解决方法;在这个过程中给出了对选用的具体工具和方法的效果的描述。接着本文讨论了对使用方法的改进的一些想法以及具体的实现过程。最后提出了我对需求分析的某些看法,强调了与客户沟通的重要性。
近年,我一直从事某企业中有关IT项目的开发,有一个系统是用于计算机辅助电路设计的,包括了从上流设计到下流设计的所有流程,如用于可设计百万门数量级的逻辑门电路。有关方面把电路中路径的提取、过滤以及表示的某软件开发任务交给我公司,我有幸担任了该部分的需求分析以及设计。
我所设计部分为一单独可启动的软件,主要是解析文件中的连线路径,以列表视图和用直方图等把它们显示出来,还可以执行诸如查找与过滤等功能。
委托方对此提供了很初步的需求说明,把一些基本功能及性能要求描述了一下。我在需求分析时的工作主要有两点:第一,对该软件的界面等详细需求要自己重新进行分析提取。第二,对于已提供的功能要求需要深化和细化,以形成真正完整的需求分析文档。
在接到需求分析任务后,我分析了一下所要完成的工作。发现由于是专用领域的软件,对专业领域要求相当高,所以准备把此项目分成两部分:
(1)界面所受专业领域影响几乎没有,但由于全部没有任何要求,反而会感到风险和改动可能是最大的。
(2)功能方面由于委托方的许多功能都可以调用相应模块来得到,并且已有了相应的书面的简单需求,相应来说只是完成深化。对界面,我采用了部分RUP的思想迭代与渐进。而对功能需求采取了分层细化,每细化一层就要求委托方确认、修改和补充。
首先把风险较大的部分完成,这是现代软件开发的基本常识。我选择先进行界面的需求分析。第一步是根据功能描述抽取出逻辑模型,并使逻辑模型与界面元素及功能一一对应,大体上决定了界面应有的功能,然后根据该界面功能描述,确定具体的控件,这时,我参考了委托方已初步完成的主窗口的界面布局及控件的使用规律,然后根据需要完成的功能从Qt(由于要支持Windows和Unix双平台,所以控件库采用Qt)的类库中选择相应的控件。在提取和抽象逻辑模型时,我采用了Rose2000中的用例图,即以USE-CASE图来描述与外部的关系。之所以采用Rose,我是基于以下的原因:第一,在已开发的部分中,委托方统一要求我们使用Rose进行类和顺序图等的设计和代码生成。第二,Rose提供了标准的图来描述系统与外部的关系,在全球范围已是一种标准结构。第三,使用上的方便性。我用Rose的USE-CASE图,理清了我们的软件窗口与委托方主窗口以及外部角色(操作者)之间的相互关系。
在确定了界面元素后,考虑到文档的可理解性不是很强,我采用Visio2000把界面的外观绘制出来,写上了基本的控件作用,随后送给委托方评审,幸运的是除了几个小功能的修改,委托方基本批准了我的方案。
下面的工作是为控件的行为及状态变化制定相应的状态迁移图,我选用的'工具仍是Rose,我用了状态图和时序图,把重要的控件状态变化及相应顺序进行了描述,随后的几天把相应的DOC文档建好写明,基本上界面设计就完成了。
下面的需求是针对功能需求的。虽然委托方技术部门有初步的需求文档,但由于领域的专门化不对,我不清楚其中复杂的路径提取关系及较深入的专业术语,一直有一种举步维艰的感觉。只能采用分层细化的原则,从最初的几条深入一层变成十几条。这样的话,不会一下子碰到太深的专业问题,可以循序渐进从委托方与文献的解答中不断学习,深化自己对专业领域的了解,这样在设计中自己始终是层层推进的,不至于一于碰到无法逾越的专业障碍。
在这一阶段的开发中,由于一直是与自己不熟悉的专业领域打交道,所以我觉得一些辅助设计工具似乎无法发挥应有的功能。在这期间,对我帮助最大的应是公司的E-Mail系统,所有不清楚的问题的提出,以及对问题的解答都通过它进行周转。换句话说,在需求分析阶段,它起到了一个与客户的交流沟通和客户需求的提取作用。所以,我认为在这一阶段,E-Mail系统是对我帮助最大的工具,其次是Excel,我用它建立了问题跟踪图表,对每一个提出的问题,均需要记录上去,把问题结果(可分为已清楚、仍不太清楚、不清楚、尚未回答)均记录下来,根据这些表,我可以很好地了解自己工作中的核心问题,并有了解决它的方向,提高了工作效率。
每进行一层的细化,我都把结果交付委托方审核,由他们进行提出何时能终止细化,大约在八层细化后,对方认为已达到了效果,确认可以结束。至此,分析工作全部完成,项目的需求分析基本成功了。
在这次需求分析中,我认为取得成功的原因主要是方法和工具选择得正确。在界面设计中采用了流行的辅
助工具,对需求及逻辑模型的建立提供很大的帮助,可以更方便帮助自己理清思路。选用了迭代法,把一些错误的影响在功能分析和界面分析的不断迭代过程中加以改正。在后期,以功能需求为主时,我主要依赖的是沟通工具和表格工具,这也说明辅助工具不是万能的,需求分析的关键之关键,应是与客户的交流与沟通。
通过这次案例,我认为在软件的需求分析工作中,方法的重要性应远超过工具的使用,应当首先确定分析中的风险,把风险分类,用不同的方法去解决各类风险,而工具的选择不仅是要看影响力和名气,而是要真正为我所用,应把握其精髓,即是此工具到底可以对开发有什么帮助,而不是仅限于如何使用。我认为在需求分析中工具的作用不外乎两个:一是实际系统与环境模型等的抽象工具,二是需求表达工具。第一类的代表是Rose,第二类的代表是Word,WPS,Visio等,在这次项目中由于地理上的限制还用到了沟通工具,Web浏览与E-Mail服务系统。
最后我还是总结一下,在需求分析中工具方法都只是辅助项目成功的因素,真正的决定因素还是—一“与客户的沟通”。
-
CAD与机械制图相融合的应用技巧
随着计算机技术的飞速发展,CAD在机械制图中的重要地位也凸显出来。下面YJBYS小编为大家搜索整理了关于CAD与机械制图相融合的应用技巧,欢迎参考阅读,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生培训网!一、CAD技术在机械制图中重要地位首先,伴...
-
2017大学CAD期末考试题答案
一、单项选择1、按哪个键可切换文本窗口和绘图窗口A、F2B、F8C、F3D、F5答案:A2、默认情况下,命令提示行显示为几行A、3B、5C、2D、8答案:A3、AutoCAD默认扩展名是A、dwtB、dwgC、bakD、dxf答案:B4、在CAD中,以下哪个命令可用来绘制横平竖直的直线A、栅格B、捕捉C、...
-
cad实习总结汇编13篇
总结是事后对某一阶段的学习、工作或其完成情况加以回顾和分析的一种书面材料,它可以有效锻炼我们的语言组织能力,不妨让我们认真地完成总结吧。你想知道总结怎么写吗?下面是小编收集整理的cad实习总结,希望对大家有所帮助。cad实习总结1首先实习给人的最深感受就...
-
cad清理图层命令的使用方法
cad是应用最广泛的计算机辅助设计软件,学会cad怎么删除图层是最基本的`,下面小编教大家cad删除图层方法。cad设置的图层过多,但是使用的却没有几个,如何清理多余图层呢?1、首先,打开cad,编辑绘制CAD图。2、在命令栏输入“pu”点击空格。3、弹出如下图所示对话框,点击...
相关文章
- Traffic Accident为题目的作文
- Credit Cards on Campus英语四级作文
- 关于javascript中encodeURI和decodeURI的使用方法
- 九年级《unit 6 I like music that I can dance to. Period2》评课稿
- If I could catch a rainbow英文美文欣赏
- 注册内部审计师(CCIA)职业发展前景
- Credit Cards on Campus大学英语六级作文
- 交换机DHCP Relay进行IP与MAC的绑定
- 英语美文:Olympic Fund Scratchcard Launched
- Credit Cards on Campus英语六级作文