Your Mission as a Developer

When we talk about the Developer, we talk about a role. A RUP project may have many people taking on a role, or one person taking on many roles or many partial roles. So you may, for example, take on a subset of the role of a developer, as well as a subset of the responsibilities of an analyst. Also note that in this chapter we briefly cover integration and database design. In many projects, especially larger projects, integration may be done by somebody with the title Configuration Manager, who may not do the tasks of analysis, design, implementation, or developer testing. Similarly, database design may be done by somebody with the title of Database Administrator (DBA), rather than a person with the title Developer.

As a developer, your overall objective is to translate requirements into executable code of sufficient quality. This needs to be done in close collaboration with the architect (see Chapter 16) to ensure that the design complies with the overall architecture. The developer's work can be broken down into the following high-level tasks:

  • Understand the requirements and design constraints

  • Design, implement, and test software that addresses the requirements

  • Design, implement, and test any necessary databases

  • Frequently integrate your application with the work of other developers

To carry out these tasks effectively, you need the following skills:

  • You need to understand how requirements are documented.

  • You need to have a solid understanding of the implementation technology and tools to be used, such as J2EE, .NET, the IDE you are using, visual modeling tools, and the deployment platform.

  • You need to be creative, yet structured, keeping a good balance between finding clever solutions to tricky problems and developing in a disciplined fashion.

  • You need to be quality conscious and make sure that checked-in code is tested .

As a developer, your contributions are critical (see Figure 17.1), especially during Construction, when the majority of code is designed, implemented, and tested. You also participate in Elaboration, when you design, implement, and test architecturally significant scenarios to help verify that the architecture is good enough. During Elaboration, you also implement architectural mechanisms, that is, reusable solutions to common problems such as how to deal with persistency or inter-process communication. You continue to refine the application through defect-fixing in Transition, and you may also spend some time in Inception building conceptual prototypes .

Figure 17.1. A Developer's Role in the RUP . A developer is primarily involved in the RUP disciplines of Analysis & Design and Implementation ”this means that they do most of their work in the Elaboration and Construction phases. Developers also play an important role during Transition and a minor role in Inception.

graphics/17fig01.gif



The Rational Unified Process Made Easy(c) A Practitioner's Guide to Rational Unified Process
Programming Microsoft Visual C++
ISBN: N/A
EAN: 2147483647
Year: 2005
Pages: 173

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net