TDD 第一章 使用入门(三)

[size=large][b]Design[/b]
[/size]
[size=large]
基于客户的需求你设计并构建一个系统,设计过程的一部分就是将客户的需求翻译成这个系统大体上是怎样使用的。像基于web的系统,这就意味着设计一些满足功能需求的页面。如果你在做中间件,你的系统将被其它客户软件使用并且与其他的服务器软件交互。这样的话你就会想在开始之前先确定各个系统和中间件之间交互的那些接口。

你只有首先进行高层次的设计,而不是研究非常详细的规范。随着你对客户需求认知的不断加深,你可以一步步完善原先的设计。在你确定你的java代码是否行之有效的过程中你依然可以更新你的设计文档。利用面向对象的开发技术还是可以为你提供这种快速适应情况变化的灵活性的。
如果你对即将使用的开发语言没有全面的理解,使用上述的自外及里的方式设计系统将是一项令人气馁的工程。那么如果你开始时构建系统的一些内部模块,就可以让你跨越语言基础的障碍。

[img]/upload/attachment/74214/56f3715f-0c76-3a5f-98dd-6959c4d77f65.bmp[/img]学生信息管理系统主要是关于学生的,所以你的第一步工作就是要把现实世界中的概念抽象成面向对象的表示。你可以写一个Student类,Student对象应该有一些诸如姓名,证件号,班级等基本信息。你应该专注于一些小的概念例如创建一个唯一的学生对象,它可以保存学生的姓名信息。
上面那个书的图标将会贯穿本书,我将用那个图标表示系统的需求和一些题材,你得根据这些需求为系统提供相应的功能实现以满足客户。
[quote] You design and construct a system based on customer needs, or requirements. Part of the design process is translating the customer requirements into rough ideas or sketches of how the system will be used. For a web-based system, this means designing the web pages that will provide the application's functionality. If you are building "inbetween" software known as middleware, your system will be used by other client software and will interact with other server software. In this case, you will want start by defining the communication points the interfaces between the other systems and the middleware.
You start by building only high-level designs, not highly detailed specifications. You will continually refine the design as you understand more about the customer needs. You will also update the design as you discover what works well and what doesn't work well in the Java code that you build. The power of object-oriented development can allow you this flexibility, the ability to quickly adapt your design to changing conditions.
Designing the system from the outside in as described above would be a daunting task without complete understanding of the language in which you're going to build itJava. To get started, you will construct some of the internal building blocks of the system. This approach will get you past the language basics.
The student information system is primarily about students, so as your first task you will abstract that real-world concept into its object-oriented representation. A candidate class might be Student. Student objects should contain basic information about a student such as name, identification number, and grades. You will concentrate on an even smaller concern first: Create a unique student object that stores the name of the student.
The book icon that appears to the left of the preceding paragraph will appear throughout Agile Java. I will use this icon to designate requirements, or stories, that you will build into the student information system. These stories are simple descriptions of what you need to build into the system in order to make the customer happy. You will translate stories into detailed specifications that you realize in the form of tests.[/quote]

[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值