Bei der Softwareentwicklung erfordern unterschiedliche Rollen das Jonglieren von jeweils drei verschiedenen Aufgaben: Programm- und Projekt-Manager jonglieren Funktionen, Ressourcen und Zeit, Softwareentwickler jonglieren Fehlerfreiheit, Leistung und Sicherheit Wenn Sie als Softwareentwickler nicht die Fehlerfreiheit, Leistung und Sicherheit des von Ihnen geschriebenen Codes beachten, könnte man auch sagen, dass Sie Ihren Job nicht richtig machen. |
Showing posts with label Software-Architect. Show all posts
Showing posts with label Software-Architect. Show all posts
Monday, April 02, 2007
Fehlerfreiheit, Leistung und Sicherheit
Thursday, November 23, 2006
What a Software-Architect must know...
Concerning my progress (in the area of coding): I am still working through the first C# tutorial. Just finished lection 16: Delegates and Events. I got stuck to this topic a bit, because the tutorial only scratches the surface of this important topic. So I intensified my studies on that subject which took a bit more time.
Sometimes I ask myself, why am I so slow? The answer is, there is so much to learn additional to learning to code. Currently I read a general basic book about software-architecture (in german): Effektive Software-Architekturen (Effective Software-Architectures) written by Dr. Gernot Starke. A great book in my opinion for a starter like me. Among other things the book proposes a way how an architecture is iteratively developed:
A) Collect information about similar problem/solutions
B) Develop a basic system idea
C) Iteration Cycle
1) Identify influencing factors and boundary conditions for the architecture
2) Identify projectrisks
3) Develop solution-strategies
Ongoing: Documentate your architecture!
Also I really love listening to and watching the many existing podcasts and webcasts. There are MSDN Webcast-Videos, MSDN Podcasts and the MSDN Arcast-Shows with Ron Jacobs. There is also the Software Engineering Radio a non-microsoft podcasts that I ran across lately founded by Markus Voelter. These are great for a long car ride or as a listening lecture for the evening, thus keeping track of the current technologies!
Knowing about the most important technologies is one point of a long list what a software architect should know. The SEI (Software Engineering Instiute) of the Carnegy Mellon Institute has made an interesting study about "The Duties, Skills, and Knowledge of Software Architects".
I think the list and proposals fit well to my separation in architecture, engineer, developer and project-manager!
Sometimes I ask myself, why am I so slow? The answer is, there is so much to learn additional to learning to code. Currently I read a general basic book about software-architecture (in german): Effektive Software-Architekturen (Effective Software-Architectures) written by Dr. Gernot Starke. A great book in my opinion for a starter like me. Among other things the book proposes a way how an architecture is iteratively developed:
A) Collect information about similar problem/solutions
B) Develop a basic system idea
C) Iteration Cycle
1) Identify influencing factors and boundary conditions for the architecture
2) Identify projectrisks
3) Develop solution-strategies
Ongoing: Documentate your architecture!
Also I really love listening to and watching the many existing podcasts and webcasts. There are MSDN Webcast-Videos, MSDN Podcasts and the MSDN Arcast-Shows with Ron Jacobs. There is also the Software Engineering Radio a non-microsoft podcasts that I ran across lately founded by Markus Voelter. These are great for a long car ride or as a listening lecture for the evening, thus keeping track of the current technologies!
Knowing about the most important technologies is one point of a long list what a software architect should know. The SEI (Software Engineering Instiute) of the Carnegy Mellon Institute has made an interesting study about "The Duties, Skills, and Knowledge of Software Architects".
I think the list and proposals fit well to my separation in architecture, engineer, developer and project-manager!
Tuesday, November 14, 2006
Current Software Architectural Concepts
As a preparation for the job interviews I studied the current most important concepts of software-architecture. I identified three important concepts which I will focus on:
Service Oriented Architecture
SOA is a management concept which leads to a flexible IT Infrastructure which is driven by business needs. The core idea is to provide the whole enterprise functionality as an amount of different independent services.
The main goal of a SOA is the construction of an IT infrastructure which is geared to business processes. Changing business processes need a flexible IT which can adapt to these changes. To enable this flexibility the reusability of functionality and support of distributed systems are other goals of a SOA.
Model Driven Architecture
The MDA tries to automatically generate code via models. The models can be defined in UML so they can be developed in cooperation with the customers. Software changes should only be made in the models, not in the code.
Event Driven Architecture
Components in an EDA communicate via events. Because events are a special kind of message the EDA makes use of a message oriented communication via message channels and the publish-subscribe integration pattern.
- Service Oriented Architecture (SOA)
- Model Driven Architecture (MDA)
- Event Driven Architecture (EDA)
Service Oriented Architecture
SOA is a management concept which leads to a flexible IT Infrastructure which is driven by business needs. The core idea is to provide the whole enterprise functionality as an amount of different independent services.
The main goal of a SOA is the construction of an IT infrastructure which is geared to business processes. Changing business processes need a flexible IT which can adapt to these changes. To enable this flexibility the reusability of functionality and support of distributed systems are other goals of a SOA.
Model Driven Architecture
The MDA tries to automatically generate code via models. The models can be defined in UML so they can be developed in cooperation with the customers. Software changes should only be made in the models, not in the code.
Event Driven Architecture
Components in an EDA communicate via events. Because events are a special kind of message the EDA makes use of a message oriented communication via message channels and the publish-subscribe integration pattern.
Sunday, October 08, 2006
Disciplines of a Software Architect
There are four terms (or perhaps roles) which come in my mind concerning my "learning-path" in the future:
Of course I have to enlighten these roles more in the future. The upper paragraph is a first shot to describe the possible roles of a software-architect and will be enhanced in the future. But I think the contents of my studies will allways fit in one of these four roles and bit by bit it will become apparent what these roles really mean and in what way they are different.
- Software-Developer
- Software-Engineer
- Software-Architect
- IT Project-Manager
Of course I have to enlighten these roles more in the future. The upper paragraph is a first shot to describe the possible roles of a software-architect and will be enhanced in the future. But I think the contents of my studies will allways fit in one of these four roles and bit by bit it will become apparent what these roles really mean and in what way they are different.
Subscribe to:
Posts (Atom)