Muutke küpsiste eelistusi

Software Architect [Pehme köide]

  • Formaat: Paperback / softback, 432 pages, kõrgus x laius x paksus: 231x185x28 mm, kaal: 771 g
  • Ilmumisaeg: 06-Apr-2023
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119820979
  • ISBN-13: 9781119820970
Teised raamatud teemal:
  • Pehme köide
  • Hind: 37,94 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 44,64 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 432 pages, kõrgus x laius x paksus: 231x185x28 mm, kaal: 771 g
  • Ilmumisaeg: 06-Apr-2023
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119820979
  • ISBN-13: 9781119820970
Teised raamatud teemal:

A strategic state-of-the-art software architecture manual for all skill levels

In Software Architect, veteran enterprise and solution architect Michael Bell delivers a hands-on playbook of best practices for aspiring and practicing software architects, seeking to improve their software design, integration, communication, presentation, and knowledge acquisition skills. He explores the career enablement, career planning, self-training, and self-improvement topics you’ll need to increase your ability to offer powerful and effective business and technological solutions.

In the book, you’ll learn how to help companies promote business and technological transformation by implementing modern and first-class software design, deployment, integration, and operations.

Software Architect also includes:

  • A modern software architect’s toolbox that includes best practices for multi-dimensional software design and integration in an enterprise quantum computing ecosystem
  • A breakdown of the various types of software architects, as well as useful self-assessments for aspiring and practicing professionals
  • Skill acquisition strategies for software architects along with strategic approaches to ace software architecture interviews

An indispensable manual for aspiring to be architects, software architects-in-training, and practicing software architects. Software Architect is an essential read for anyone hoping to improve their ability to deliver robust business and technical solutions to enterprises everywhere.

Introduction xxiii
Part 1 Software Architect Capability Model
1(28)
Chapter 1 Software Architect Capability Model
3(26)
Software Architect Capability Model: Benefits
4(3)
How Should Organizations Utilize the Software Architect Capability Model?
4(1)
Why Create a Personal Software Architect Capability Model?
5(1)
Rudimentary Guiding Principles
6(1)
Software Architect Capability Model Creation Process
6(1)
Requirements Drive Architecture Solutions
7(2)
Requirements Issued by Problem and Solution Domain Entities
7(1)
How Do the Problem and Solution Domains Collaborate?
7(2)
Important Facts to Remember
9(1)
Create a Software Architect Capability Model in Five Steps
9(1)
Step 1 Provide Requirements and Specifications
10(2)
Business Requirements
10(1)
Technical Specifications
11(1)
Ensure Clear Requirements
11(1)
Step 2 Identify Software Architecture Practices
12(1)
Establish Architecture Practices
12(1)
Step 3 Establish Software Architecture Disciplines
13(4)
Apply Architecture Disciplines to Architecture Practices
14(1)
Applying Disciplines to the Application Architecture Practice
14(2)
Applying Disciplines for the Data Architecture Practice
16(1)
Step 4 Add Software Architecture Deliverables
17(4)
About Software Architecture Deliverables
17(1)
Add the Deliverables Section
18(3)
Step 5 Quantify Skill Competencies
21(7)
Quantifying Architecture Skills
22(1)
Measuring the Application Architect Skill Levels
22(2)
Measuring Data Architect Skill Levels
24(1)
Skill Competency Patterns for Architects
25(1)
How Can Organizations Utilize the Skill Competency Pattern?
26(1)
How an Individual Can Utilize the Skill Competency Pattern
27(1)
Interview Questions
28(1)
Part 2 Software Architecture Career Planning
29(120)
Chapter 2 Types of Software Architects
31(42)
Business Needs for Technological Solutions
32(3)
Business Needs for Software Architecture: Strategic Collaboration
32(1)
How Does Software Architecture Respond to Business Needs?
33(1)
Business Needs for Software Architecture: Technological Mediation
33(1)
How Could Technological Mediation Efforts Be Utilized?
34(1)
Business Needs for Software Architecture: Technological Implementation
34(1)
How Does the Implementation of Software Products Meet Business Needs?
34(1)
Organizational Leading Software Architect Levels
35(14)
Ranking Leading Software Architects
35(1)
Collaboration Hierarchy of Leading Software Architects
36(2)
Level I Enterprise Architect Responsibilities
38(1)
Enterprise Architect Summary of Responsibilities
38(1)
Enterprise Architect Responsibility Table
39(1)
Level II Solution Architect Responsibilities
40(1)
Solution Architect Summary of Responsibilities
41(1)
Solution Architect Responsibility Table
42(2)
Level III Application Architect Responsibilities
44(1)
Application Architect Summary of Responsibilities
44(2)
Application Architect Responsibilities Table
46(2)
Comparing Responsibilities of Leading Software Architects
48(1)
Types of Domain Software Architects
49(16)
Data Architect
49(1)
Data Architect Summary of Responsibilities
50(1)
Data Architect Responsibilities Table
51(1)
Cloud Architect
51(3)
Cloud Architect Summary of Responsibilities
54(1)
Cloud Architect Responsibilities Table
55(2)
Security Architect
57(1)
Security Architect Summary of Responsibilities
58(2)
Security Architect Responsibilities Table
60(2)
Business Architect
62(1)
Business Architect Summary of Responsibilities
62(1)
Business Architect Responsibilities Table
63(2)
Collaboration Between Leading Software Architects and Domain Software Architects
65(8)
Use Case I Collaboration Between an Application Architect and a Data Architect
66(1)
Application Architect and Data Architect Collaboration Table
66(2)
Use Case II Solution Architect and Security Architect
68(1)
Solution Architect and Security Architect Collaboration Table
68(2)
Use Case III Business Architect and Enterprise Architect Collaboration
70(1)
Business Architect and Enterprise Architect Collaboration Table
70(3)
Chapter 3 Career Planning for Software Architects: A Winning Strategy
73(44)
Software Architecture Career Planning Process
74(15)
Career Planning Step 1 Conduct Self-Discovery
75(1)
Discovery of Technological and Social Talents
75(1)
Career Planning Self-Discovery Subject's
76(1)
Career Planning Step 2 Pursue Research
76(1)
Formal Education, Training, and Certification
77(1)
Employment Opportunities and Interviews
77(1)
Subjects of Research
77(1)
Career Planning Step 3 Devise an Approach
78(1)
Setting Software Architecture Career Goals
78(2)
Setting Software Architecture Career Milestones
80(1)
Decision-Making
81(1)
Action Planning
82(3)
Career Planning Step 4 Plan Career Execution
85(1)
Use Case I A Software Architecture Career Execution Plan with Alternative Tasks
85(3)
Use Case II Optimized Software Architecture Execution Plan
88(1)
Self-Discovery Process: The Six Ws
89(9)
The "Why"
90(1)
The "Who"
91(1)
The "What"
92(1)
Self-Discovery Questions for Software Architecture Candidates
93(1)
Self-Discovery Queries for Software Architects
93(1)
The "Where"
94(1)
The "When"
95(1)
The "How"
96(1)
"How" Self-Queries for Software Architecture Applicants
97(1)
"How" Self-Questions for Practicing Software Architects
97(1)
Carving a Software Architecture Career Path
98(19)
The 4D Software Architecture Career Perspectives
99(1)
Social-Driven Career Perspective
100(1)
Social-Driven Career Chart
100(1)
Carve Out a Social-Driven Career Chart
101(1)
Social-Driven Career Path
102(1)
Create a Social-Driven Career Path
102(1)
Technology-Driven Career Perspective
103(1)
Technology-Driven Career Chart
104(1)
Create a Technology-Driven Career Chart
105(1)
Technical-Driven Career Path
106(1)
Develop a Technical-Driven Career Path
106(1)
Leadership-Driven Career Perspective
107(1)
Leadership-Driven Career Chart
108(1)
Create a Leadership-Driven Career Chart
109(1)
Leadership-Driven Career Path
110(1)
Develop a Leadership-Driven Career Path
110(2)
Strategy-Driven Career Perspective
112(1)
Strategy-Driven Career Chart
112(2)
Create a Strategy-Driven Career Chart
114(1)
Strategy-Driven Career Path
114(1)
Develop a Strategy-Driven Career Path
115(2)
Chapter 4 Self-Assessment for Software Architects
117(32)
Social Intelligence
118(8)
Teamwork
118(1)
Partnership
119(1)
Self-consciousness
119(1)
Communication
120(1)
Networking
120(1)
Soft Skills
120(1)
Trust Building
121(1)
Learning from Others
121(1)
Negotiation
122(1)
Self-presentation
122(1)
Teleworking
123(1)
Fellowship
123(1)
Self-sufficiency
124(1)
Handling Customer Relationships
124(1)
Social Intelligence Skill Assessment
124(2)
Software Architecture Practice
126(7)
Software Architecture Strategy
126(1)
Software Architecture Vision
127(1)
Software Architecture Role
127(1)
System Integration
128(1)
Interoperability
128(1)
Software Reuse
129(1)
Distributed Architecture Model
129(1)
Federated Architecture Model
129(1)
Architecture Styles
130(1)
Architecture and Design Patterns
130(1)
Componentization
130(1)
Software Architecture Frameworks
131(1)
Software Development
131(1)
Software Architecture Practice Skill Assessment
132(1)
Leadership
133(8)
Managing Time
134(1)
Decision-Making
134(1)
Problem-solving
134(1)
Diversity, Equity, and Inclusion
135(1)
Responsibility and Accountability
135(1)
Hiring Preferences
136(1)
Creative Thinking
136(1)
Critical Thinking
136(1)
Being Proactive
137(1)
Establishment of Trust
137(1)
Administrative Duties
138(1)
Coaching and Training
138(1)
Team Building
139(1)
Resolving Conflicts
139(1)
Assessment of Leadership Competencies
140(1)
Strategy
141(8)
Software Architecture Strategy
142(1)
Strategic Thinking
142(1)
Problem Identification
142(1)
Problem-solving
143(1)
Abstraction
143(1)
Generalization
144(1)
Visualization
144(1)
Software Design Approaches
145(1)
Simplification
145(1)
Analytical Capabilities
145(1)
Influencing
146(1)
Promoting Culture
146(1)
Strategy Execution Plan
147(1)
Assessment of Strategic Competencies
147(2)
Part 3 Software Architecture Toolbox
149(136)
Chapter 5 Employing Innate Talents to Provide Potent Organizational Solutions
151(22)
Innate Skills Promote Software Architecture Effectiveness
152(2)
Remember: Survival, Survival, Survival
152(1)
Consequences of Failing to Invoke Innate Talents
153(1)
Employ Chief Innate Talents to Become an Effective Software Architect
154(1)
The Power of Creativity
154(3)
The Benefits of Unleashing Software Architecture Creativity
155(1)
Unleash the Power of Software Architecture Creativity
155(2)
The Potency of Imagination
157(5)
The Benefits of Harnessing Imagination
158(1)
Unleash the Power of Imagination
159(3)
Software Design Aesthetic
162(5)
Technical Proficiency and Aesthetic Talents Drive Software Design
162(1)
The Chief Contribution of Design Aesthetic Talents to Software Architecture
163(4)
Curiosity Attributes
167(6)
The Contribution of Curiosity to Software Architecture
167(1)
The Influencing Facets of Curiosity on Software Architecture Practices
168(5)
Chapter 6 Software Architecture Environment Construction
173(50)
Benefits of the Software Architecture Environment Construction Discipline
174(1)
Must Haves: Problem Statements and Requirements
174(2)
Never Start a Software Design Project Without Understanding the Problems
175(1)
Never Start a Software Design Project Without Requirements
176(1)
Software Architecture Structures
176(2)
Micro Level: Multidimensional Structures of Software Implementations
176(1)
Macro Level: 3D Software Architecture Environment Structure
177(1)
Software Architecture Environment: Driven by an Uncontrolled Quantum Landscape Behavior
178(1)
Software Architecture Environment: An Intelligent Topological Space
179(2)
Deformation Aspects of a Multidimensional Software Architecture Environment
181(1)
Entanglement Effects in a Software Architecture Environment
182(1)
Software Architecture Environment Forces Drive Software Behavior
183(5)
Probability Assessment of Software Operations and Behavior
184(1)
Software Architecture Environment Positive and Negative Forces
184(1)
Software Architecture Environment Gravitational Forces
185(1)
The Impetus for Granting Software Architecture Gravitational Powers to Software Implementations
186(1)
Software Architecture Gravitational Force Intensity
187(1)
The Cost of Unbalanced Software Architecture Environment Gravitational Forces
187(1)
Competing Software Architecture Environment Forces
188(2)
Software Architecture Environment: A Survival Game Space
188(1)
Maintaining a Pragmatic Balance Between Competing Software Architecture Forces
189(1)
Mitigating the Competing Forces Challenge
190(1)
Software Architecture Environment Harmonizing and Disharmonizing Forces
190(5)
Chief Properties of Harmonizing Forces in a Software Architecture Environment
191(2)
Chief Properties of Disharmonizing Forces in a Software Architecture Environment
193(1)
Genetic Encoding of a Software Architecture Environment
194(1)
Difficulties of Restructuring a Software Architecture Environment
194(1)
Encoding a Software Architecture Environment
195(1)
Influences on Social, Behavioral, and Business Goals
195(1)
Software Architecture Environment Construction Life Cycle
196(23)
Software Architecture Environment Construction Process
197(1)
Creating a Software Architecture Environment Construction Balance Table
197(2)
Software Architecture Environment Construction Design Activities
199(2)
Use Case I Software Architecture Environment Composition and Decomposition Design Activities
201(1)
Design-Time vs. Runtime Environment Composition and Decomposition Design Activities
201(1)
Composition and Decomposition Design Methods
202(1)
Composition and Decomposition Process Outline
203(1)
Use Case II Software Architecture Environment Integration and Disintegration Design Activities
204(1)
When to Apply Integration and Disintegration Design Activities
205(1)
Integration and Disintegration Design Methods
205(1)
Integration and Disintegration Process Outline
206(2)
Use Case III Software Architecture Environment Centralization and Decentralization Design Activities
208(1)
When to Employ the Software Environment Centralization and Decentralization Design Activities
208(1)
Centralization and Decentralization Design Methods
209(1)
Software Architecture Environment Centralization and Decentralization Process Outline
210(1)
Use Case IV Software Architecture Environment Elasticity and Inelasticity Design Activities
211(1)
When to Employ Elasticity and Inelasticity Design Activities
212(1)
Elasticity and Inelasticity Design Methods
213(1)
Software Architecture Elasticity and Inelasticity Design Process Outline
214(1)
Use Case V Software Architecture Environment Synchronization and Desynchronization Design Activities
215(1)
When to Employ Environment Synchronization and Desynchronization Design Activities
216(1)
Environment Synchronization and Desynchronization Design Methods
216(2)
Software Architecture Environment Synchronization and Desynchronization Design Process Outline
218(1)
Construction Laws of a Software Architecture Environment
219(1)
Best Practices for Software Architecture Environment Construction
220(3)
Chapter 7 Structural Construction of Software Implementations in Multidimensional Environments
223(62)
Software Architecture Solids: Rudimentary Geometrical Design Structures
224(13)
Atomic Solid
225(2)
Composite Solid
227(1)
Monolithic Solid
228(1)
Interface Solid
229(1)
Pipe Solid
230(1)
Inclusive Utilization of Pipe Solids
231(1)
Exclusive Utilization of Pipe Solids
232(1)
Internal Utilization of Pipe Solids
233(1)
Data Solid
234(2)
Software Architecture Solids' Attribute Summary
236(1)
Software Architecture Dimensional Model
237(10)
Software Architecture: Zero Dimension
238(1)
Software Architecture: One Dimension
239(1)
Software Architecture: Two Dimensions
240(1)
What Impacts the Length and Width Dimensions of a 2D Software Structure?
241(1)
Software Architecture: Three Dimensions
242(1)
Volumes of 3D Software Structures
242(1)
Increase in Software Architecture Level of Specificity in a 3D Computing World
243(2)
Software Population Sustainability in an Architecture Environment Space: A Capacity Planning Challenge
245(1)
Comparative Perspectives in a Software Architecture Space
246(1)
3D Software Structures in a Software Architecture Computing Space
247(10)
The Impetus for Establishing a 3D Software Architecture Space
247(2)
Chief Features of Software Architecture Computing Space
249(1)
Influences of Software Structures on Software Architecture Computing Space
250(1)
Relative Positions in a 3D Software Architecture Computing Space
250(1)
Coordinate Axes: Skeleton of a Software Architecture Computing Space
251(1)
Software Architecture Computing Space Logical Coordinate System
252(1)
Cardinal and Intercardinal Physical Directions in Software Architecture Computing Space
253(1)
Applying Cardinal and Intercardinal Directions to Software Architecture Computing Space
254(1)
Marrying a Logical Coordinate System with Cardinal and Intercardinal Physical Directions System
255(1)
Leveraging the Z-Axis to Create Floors in a Software Architecture Computing Space
256(1)
Distribution Styles of 3D Software Implementations in an Architecture Computing Space
257(7)
Federated Distribution Style
258(2)
Flooring Distribution Style
260(1)
Symmetrical and Asymmetrical Distribution Styles
261(1)
Symmetrical Distribution Style
261(2)
Asymmetrical Distribution Style
263(1)
Construction Life Cycle of Software Implementations
264(17)
Software Construction Process
265(1)
Creating a Software Construction Balance Table
265(1)
Software Construction Design Activities
266(1)
Use Case I Thicken and Contract Design Activities
267(1)
When to Apply Thicken and Contract Design Activities
268(1)
Thicken and Contract Design Methods
269(1)
Software Structure Thickening and Contracting Process Outline
270(2)
Use Case II Lengthen and Shorten Design Activities
272(1)
When to Apply the Lengthen and Shorten Design Activities
273(1)
Lengthen and Shorten Design Methods
273(2)
Software Structure Lengthening and Shortening Process Outline
275(2)
Use Case III Layer and Delayer Design Activities
277(1)
When to Apply Layer and Delayer Design Activities
277(1)
Layer and Delayer Design Methods
278(1)
Layer and Delayer Process Outline
279(2)
Governing Laws for Software Construction in a 3D Computing World
281(1)
Best Practices for Constructing Software Implementations
282(3)
Part 4 Software Architecture Interview Preparations
285(84)
Chapter 8 Preparing for a Software Architecture Interview: A Winning Strategy
287(50)
Software Architecture Job Interview Strategy
288(3)
Preparing a Job Interview Defense Plan
288(1)
Preparing a Job Interview Attack Plan
289(1)
Software Architecture Job Interview Preparation Model
290(1)
Software Architecture Job Interview Defense Plan
291(17)
Study and Analyze the Job Description
291(1)
Start with Identifying the Scope of the Software Architecture Job Requirements
292(1)
Dive Deep into the Software Architect Job Description
293(1)
Start with Analyzing the Summary Portion of the Job Requirements
294(1)
Create a Findings Table Version I for the Job Description
295(1)
Next, Analyze the Responsibilities Portion of the Job Requirements
296(1)
Then, Update the Findings Table Version II of the Job Description
296(1)
Last, Analyze the Software Architect Skills Portion of the Job Requirements
297(1)
Do Not Forget to Update the Findings Table of the Job Description
298(1)
Create a Software Architect Skill Competency Model for the Job Description
299(1)
Skill Competency Model's Requirements and Practices
300(1)
Skill Competency Model's Disciplines
301(1)
Design Discipline's Deliverables
301(1)
Cybersecurity Discipline Deliverables
301(1)
Products Selection and Evaluation Discipline's Deliverables
302(1)
SDLC Discipline's Deliverables
302(1)
The Competency Part of the Skill Competency Model
303(1)
Discover the Personal Knowledge Gap Before Attending a Job Interview
303(1)
Assess Whether the Next Software Architecture Job Is a Strategic Career Move
304(1)
Conduct a Software Architecture Mock Interview
305(1)
Prepare a Software Architecture Interview Cheat Sheet
306(1)
Prepare for Possible Software Architecture Interview Questions
307(1)
Software Architecture Job Interview Attack Plan
308(8)
Study the Hiring Organization's Business
309(1)
Start by Finding Information About the Hiring Organization
309(2)
Leveraging Business Knowledge During an Interview
311(1)
Understand the Business Model
312(2)
Get Familiar with the Hiring Company's Culture
314(1)
Conduct a Quick SWOT Analysis
315(1)
Understand the Hiring Organization's Technology
316(7)
Technological Information Sources
316(2)
Discover the Environment's Technology Stack
318(1)
Learn About the Development Technology Stack
319(1)
Study the Applications
320(1)
Identify Specific IT Projects
321(1)
Demonstrate Enterprise Architecture Knowledge of the Hiring Organization
321(2)
Adopt Software Architecture Lingo
323(5)
Use Design Patterns Vocabulary
323(1)
Use the Software Architecture Guidelines Lingo to Communicate Solutions
324(4)
Remember Software Architecture Tools
328(5)
Classification of Software Architecture Tools
329(3)
Especially Prepare for Architecture Visualization Tools Questions
332(1)
Get Familiar with Software Architecture Analysis and Evaluation Methods
333(2)
Be Aware of Early Architecture Evaluation Methods
334(1)
Be Aware of Late Architecture Evaluation Methods
335(1)
Talk About Software Architecture Analysis Standards
335(2)
Chapter 9 An Outline for Software Architecture Job Interview Questions
337(32)
Behavioral Questions
338(3)
Communication
339(1)
Interpersonal Relationships
340(1)
Software Architecture Leadership
340(1)
Skill Assessment Questions
341(1)
Software Architecture Attributes Questions
342(1)
Software Architecture LifeCycle Questions
343(3)
Software Architecture Concepts Questions
346(7)
Design Building Blocks Concepts
347(1)
Employ Design Building Blocks Concepts to Depict Solutions
347(1)
Prepare for the "How to Design" Interview Questions
348(1)
Software Architecture Environment Concepts
349(2)
Business Concepts
351(1)
Consumer Concepts
352(1)
Architecture Style, Architecture Pattern, and Design Pattern Questions
353(5)
Architecture Patterns vs. Design Patterns
353(2)
Understand Architecture Styles
355(1)
Remember Contextual Hierarchy of Patterns
355(1)
Why Interviewers Ask Architecture and Design Pattern Questions
356(1)
Prepare for Architecture and Design Pattern Questions
357(1)
Problem-solving and decision-making Questions
358(2)
Embrace the Software Architecture Problem-Solving and Decision-Making Process
358(1)
Identifying Business Problems
358(1)
Attend to the Problem-Solving and Decision-Making Process
359(1)
Prepare for Problem-Solving and Decision-Making Questions
360(1)
Data-Related Questions
360(2)
Focus on Data Aspects Related to Software Architecture
361(1)
More Data-Related Interview Questions
361(1)
Production Environment Questions
362(3)
Characteristics of Software Architecture Environment Hosted in Production
363(1)
Production Environment-Related Questions
364(1)
Software Architecture Framework Questions
365(4)
Focus on Array of Framework Contributions
365(2)
Software Architecture Framework Questions
367(2)
Index 369
MICHAEL BELL is an enterprise and solution architect with hands-on experience in business and software architecture modeling. He has consulted for organizations including J.P. Morgan Chase, Citibank, Bank One, UBS-Paine Webber, American Express, AIG, and the US government. He is the best-selling author of software architecture books, and he offers a variety of enterprise integration solutions for back-end and customer-facing systems.