📄 lib0006.html
字号:
<b class="bold">The technical architect identifies implementation tasks for the project</b> <b class="bold">manager.</b> This role is especially important for J2EE projects because they encompass a much wider range of technologies than do other types of systems projects. Out of practical necessity, the technical architect also helps the project manager with project planning and estimates.</p>
<p class="para">
<b class="bold">The technical architect mentors developers for difficult tasks.</b> Typically, the architect is more experienced than the developers. When the developers run into a technical problem that slows them down, the architect is often the one to help them create a solution. For many projects, the architect is more of a mentor than an implementer.</p>
<p class="para">
<b class="bold">The technical architect enforces compliance with coding guidelines.</b> Being the one who establishes coding guidelines, the technical architect is the most likely to recognize when the guidelines are not being followed and is therefore the logical choice to enforce them. A project manager, who typically is charged with enforcement tasks, often does not have the technical experience to recognize compliance.</p>
<p class="para">Code reviews are an excellent enforcement mechanism. It is much harder for individual developers to privately skirt team coding standards if other team members examine the code.</p>
<a name="31"></a><a name="IDX-5"></a>
<p class="para">Code reviews are also an excellent learning tool for all members of the development team. The technical architect discovers holes in the design, and all participants learn tips and tricks from the rest of the team. Typically the most experienced member of the team, the technical architect often facilitates the code review. To be most useful, a code review should be held in a congenial, nonthreatening atmosphere.</p>
<p class="para">
<b class="bold">The technical architect assists the project manager in estimating project</b> <b class="bold">costs and benefits for management.</b> Although this is usually the project manager's responsibility, most project managers are less experienced with J2EE technologies and may not be aware of everything that needs to be done.</p>
<p class="last-para">
<b class="bold">The technical architect assists management in making personnel decisions for developer positions.</b> While personnel decisions are often viewed as a management function, the technical architect is in a good position to assess technical competence. Mistakes in personnel decisions can cause considerable damage to project timelines.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="32"></a><a name="ch01lev2sec2"></a>Project Manager</h3>
<p class="first-para">The project manager is responsible for coordinating and scheduling all tasks for all members of the project development team. The project manager must also communicate current project activities and status to management and end-user representatives. Further, the project manager acquires any resources or materials needed by the project or the team members.</p>
<p class="last-para">
<b class="bold">The technical architect is responsible for providing technical advice and</b> <b class="bold">guidance to the project manager.</b> The technical architect assists the project manager in identifying project tasks and the order in which they should be completed. The architect also helps the project manager identify needed materials and resources, including guiding the selection of other team members and validating their skill sets from a technical standpoint.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="33"></a><a name="ch01lev2sec3"></a>Business Analyst</h3>
<p class="first-para">The business analyst is responsible for working with end users to define the application requirements—the detail necessary to design and build the application. Because end users and developers often use different terminology, the business analyst is responsible for translating communications between end users and developers. Often the business analyst has experience on both the end-user side of the enterprise and the information technology side.</p>
<a name="34"></a><a name="IDX-6"></a>
<p class="para">As a project progresses, the business analyst's role diminishes but does not disappear. Developers typically have additional business questions that come to light during coding and testing activities. The business analyst works with the business side to get these questions answered.</p>
<p class="last-para">
<b class="bold">The technical architect is responsible for ensuring that the application requirements determined by the business analyst are adequate.</b> It's unreasonable to expect 100 percent of the analysis to be complete and correct. After all, analysis is to some extent subjective. However, the analysis needs to be complete enough to warrant proceeding with design.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="35"></a><a name="ch01lev2sec4"></a>Layout Designer</h3>
<p class="first-para">Many applications, especially those that are publicly available, need professional graphics or layout designers. Most technical architects, left to their own devices, can produce functional Web pages, but those pages typically are ugly and hard to use. Graphics design is more art than science. Usually, the layout designer works primarily with the business analyst and other representatives of the business side to work out the design. But the layout designer may also work with the presentation-tier developer to create a prototype.</p>
<p class="last-para">
<b class="bold">The technical architect is responsible for ensuring that the layout is technically feasible.</b> I've seen many Web page designs that use text effects that are available in word processors but are not supported by HTML—for example, a design using text rotated 90 degrees. The architect is in a position to catch and correct these kinds of problems early.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="36"></a><a name="ch01lev2sec5"></a>Presentation-Tier Developer</h3>
<p class="first-para">The presentation-tier developer is responsible for coding all HTML, Javascript, applet/Swing code, JSPs, and/or servlets for an application. In general, anything directly involved in producing the user interface is in the purview of the presentation-tier developer. Typically in collaboration with the layout designer, the presentation-tier developer builds the prototype and develops the working version. And with the technical architect, the presentation-tier developer determines the structure and design of front-end navigation.</p>
<p class="last-para">
<b class="bold">The technical architect is responsible for ensuring that design patterns can be maintained and extended.</b> Navigation issues are often complex and can easily degrade into hard-to-maintain code. The technical architect is in <a name="37"></a><a name="IDX-7"></a>a good position to identify and correct maintenance issues as well as other technical problems that arise.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="38"></a><a name="ch01lev2sec6"></a>Business Logic Developer</h3>
<p class="first-para">The business logic developer is responsible for coding all invisible parts of the application, including enterprise beans, Web services, RMI services, CORBA services, business objects, and data access objects. Some people refer to these invisible parts as the server-side components of the application. The business logic developer is often a Java specialist who works closely with the technical architect and assists in performance tuning as needed.</p>
<p class="last-para">
<b class="bold">The technical architect provides guidance for the business logic developer.</b> It's common for technical issues and problems to arise in server-side components, which are usually the most complex pieces of an application. Thus the technical architect often acts as a mentor to the business logic developer.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="39"></a><a name="ch01lev2sec7"></a>Data Modeler</h3>
<p class="first-para">The data modeler uses information from the business analyst to identify, define, and catalog all data the application stores in a database. Data modeling typically involves documenting application data in entity-relationship (ER) diagrams. The database administrators then uses the ER diagrams to produce a physical database design. Thus it is common for the roles of data modeler and database administrator to be combined.</p>
<p class="last-para">
<b class="bold">The technical architect is responsible for ensuring that the data model is adequate.</b> As with business analysis, it's unreasonable to expect the data model to be 100 percent complete. If the data model is largely complete and in third normal form, future changes in the model (and thus the database) are likely to be minor.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="40"></a><a name="ch01lev2sec8"></a>Database Administrator</h3>
<p class="first-para">The database administrator is responsible for formulating a database design based on the business requirements for the application and for creating and maintaining database environments for the application. Typically, the database administrator assists with performance tuning and helps the business logic developer diagnose application development issues regarding data access. Sometimes, the database administrator doubles as a business logic developer or data migration specialist.</p>
<a name="41"></a><a name="IDX-8"></a>
<p class="last-para">
<b class="bold">The technical architect works with the database administrator to resolve any issues or problems involving database storage.</b> However, the database administrator primarily interacts with the data modeler and the business logic developer.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="42"></a><a name="ch01lev2sec9"></a>Data Migration Specialist</h3>
<p class="first-para">Some applications, such as those for data warehousing, depend heavily on data migrated from other sources. The data migration specialist writes and manages all scripts and programs needed to populate the application databases on an ongoing basis. When an application has few migration requirements, this role may not be necessary or may merge with the database administrator's role.</p>
<p class="last-para">
<b class="bold">The technical architect defines data migration requirements for the migration specialist.</b> Working with the data migration specialist to solve any technical issues or problems that might arise is another aspect of the technical architect's role.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="43"></a><a name="ch01lev2sec10"></a>Infrastructure Specialist</h3>
<p class="first-para">The infrastructure specialist is responsible for providing all development, testing, and production environments as well as the deployment methods. A formal infrastructure for development and deployment saves time and effort. The idiosyncrasies involved in administrating containers, writing deployment scripts, and assisting with other developers diagnosing problems with their test environments represent a unique and challenging problem set.</p>
<p class="last-para">
<b class="bold">The technical architect defines infrastructure requirements for the infrastructure specialist.</b> The architect works with the specialist to determine the number and nature of the environments needed and what level of support is required for each environment. Many projects need at least one development, testing, and production environment. Some organizations combine the role of infrastructure specialist with that of technical architect.</p>
</div>
<div class="section">
<h3 class="sect3-title">
<a name="44"></a><a name="ch01lev2sec11"></a>Testing Specialist</h3>
<p class="first-para">A testing specialist is typically a detail-oriented person who makes sure that the application produced matches the specification and is reasonably free of bugs. Typically, a testing specialist has at least a basic knowledge of the business area.</p>
<a name="45"></a><a name="IDX-9"></a>
<p class="last-para">
<b class="bold">The technical architect works with testing staff to identify any infrastructure requirements and support needed.</b> The project manager and the business analyst usually establish the content of test plans and the testing methodology. Therefore, the architect's role in testing is usually support.</p>
</div>
</div>
</div><br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td><div STYLE="MARGIN-LEFT: 0.15in;"><a href="toc.html"><img src="images/teamlib.gif" width="62" height="15" border="0" align="absmiddle" alt="Team LiB"></a></div></td>
<td align="right"><div STYLE="MARGIN-LEFT: 0.15in;">
<a href="LiB0005.html"><img src="images/previous.gif" width="62" height="15" border="0" align="absmiddle" alt="Previous Section"></a>
<a href="LiB0007.html"><img src="images/next.gif" width="41" height="15" border="0" align="absmiddle" alt="Next Section"></a>
</div></td></tr></table>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -