12.07.2015 Views

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>DEV475</strong> <strong>Mastering</strong> <strong>Object</strong>-<strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Software Architect’s ResponsibilitiesSoftware Architect’s Responsibilities• TheSoftwareArchitectleads <strong>and</strong>coordinatestechnicalactivities<strong>and</strong> artifacts.Architect<strong>Analysis</strong> Model<strong>Design</strong> ModelDeployment ModelReferenceArchitectureSoftwareArchitectureDocument<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reserved 14The software architect role leads <strong>and</strong> coordinates technical activities <strong>and</strong> artifactsthroughout the project. The software architect establishes the overall structure foreach architectural view: the decomposition of the view, the grouping of elements,<strong>and</strong> the interfaces between these major groupings. Therefore, in contrast to the otherroles, the software architect's view is one of breadth as opposed to one of depth.In summary, the software architect must be well-rounded <strong>and</strong> possess maturity,vision, <strong>and</strong> a depth of experience that allows for grasping issues quickly <strong>and</strong> makingeducated, critical judgment in the absence of complete information. Morespecifically, the software architect, or members of the architecture team, mustcombine these skills:• Experience in both the problem domain, through a thorough underst<strong>and</strong>ing ofthe requirements, <strong>and</strong> the software engineering domain. If there is a team, thesequalities can be spread among the team members, but at least one softwarearchitect must provide the global vision for the project.• Leadership in order to drive the technical effort across the various teams, <strong>and</strong> tomake critical decisions under pressure <strong>and</strong> make those decisions stick. To beeffective, the software architect <strong>and</strong> the project manager must work closelytogether, <strong>with</strong> the software architect leading the technical issues <strong>and</strong> the projectmanager leading the administrative issues. The software architect must have theauthority to make technical decisions.• Communication to earn trust, to persuade, to motivate, <strong>and</strong> to mentor. Thesoftware architect cannot lead by decree — only by the consent of the rest of theproject. In order to be effective, the software architect must earn the respect ofthe project team, the project manager, the customer, <strong>and</strong> the user community, aswell as the management team.• Goal orientation <strong>and</strong> being proactive <strong>with</strong> a relentless focus on results. Thesoftware architect is the technical driving force behind the project, not a visionaryor dreamer. The career of a successful software architect is a long series of suboptimaldecisions made in uncertainty <strong>and</strong> under pressure. Only those who canfocus on doing what needs to be done are successful in this environment of theproject.4 - 14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!