مرور کوتاهی کنیم بر اینکه "معمار نرم افزار کیست؟" در ویکی پدیا آمده است که:
Software architect is a computer programmer who makes high-level design choices and dictates technical standards, including software coding standards, tools, or platforms.
در همین منبع، ویکی پدیا توجهی داده است به سه عنوان دیگر و تفاوتهای آنها را بیان کرده است. این سه عنوان مرتبط با عنوان "معمارنرم افزار" اینها هستند:
Enterprise Architect
Solutions Architect
Application Architect
همچنین در منبعی دیگر اینطور گفته شده است که معمار نرم افزار مسئولیتهای زیر را برعهده دارد:
Lead the architecture and design of enterprise software applications
Lead migration from multiple existing platforms to an integrated solution
Translate business requirements into implementation strategies to ensure design meets performance, security, usability, reliability and scalability needs
Pair up development of critical software components with other software engineers
Actively find ways to improve our software platform (evaluate and incorporate new libraries, tools and technologies; code reviews; re-factoring; testing; etc.)
Find simple, robust solutions to complex problems, improve the maturity and security of the software development processes
Maintain the overall system architecture and evaluate the impact of changes to the system
Provide technical leadership in all tiers of enterprise application development: UI, application, service, database, etc.
Understand best-practice software architectures and software development processes; articulate and spread the knowledge internally
Understand and implement electric utility industry and security standards
Research, assess, and adapt to new technologies necessary to remain software leader in marketplace
در این مقاله مجموعه ای از وظایفی که معمار نرم افزار عهده دار انجام آنهاست به 5 گروه اصلی تقسیم شده است:
- Management of non-functional requirements
- Architecture definition
- Technology selection
- Architecture evaluation
- Architecture collaboration
در پستهای بعدی به این موضوع خواهم پرداخت که "معماری نرم افزار چیست؟"