Software Architect Tomek Marszał Wsinf 2016.

Slides:



Advertisements
Similar presentations
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Advertisements

Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
Managing Reuse Presented by: Aisha Al-Hammadi. Outline Introduction History. The technical and managerial advantages of Reusing Solutions. The main challenges.
ACTIVITY THEORY AND HUMAN-COMPUTER INTERACTION Simon Tan CS 260, Spring 2009.
SDLC: System Development Life Cycle Dr. Dania Bilal IS 582 Spring 2007.
Riga Technical University Department of System Theory and Design Usage of Multi-Agent Paradigm in Multi-Robot Systems Integration Assistant professor Egons.
The Rational Unified Process 1 EECS810: Software Engineering.
Are you looking for an opportunity to join a company that has a long history and an exciting future? A place where you can grow within an international.
Page 1 An Overview of The COTS-Aware Requirements Engineering and Software Architecting Project (CARE/SA) The University of Texas at Dallas Department.
Software Engineering cosc 4359 Spring 2017.
Introduction to Systems Analysis and Design
Discussion Topics for Exploring OMG UPDM Way-ahead
Introduction to UML.
Chapter 1 The Systems Development Environment
Methodologies and Algorithms
Design Patterns: MORE Examples
Chapter 1 The Systems Development Environment
Regression Testing with its types
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Designing software applications
Information Systems Development
Chapter 1: Introduction to Systems Analysis and Design
Building Information Systems
Presentation on Decision support system
Object-Oriented Analysis and Design
Chapter 5:Design Patterns
Object-Oriented Techniques
Introduction to Design Patterns
Independent Study of Ontologies
Chapter 1 The Systems Development Environment
The Systems Engineering Context
SDLC: System Development Life Cycle
Distribution and components
1.Introduction to Rational Unified Process (RUP)
Chapter 1 The Systems Development Environment
Building Information Systems
Systems Analysis: Data Requirements
Chapter 1 The Systems Development Environment
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Advantages OF BDD Testing
Software Reuse Objectives
Introduction To System Analysis and Design PART 2
Introduction to Design Patterns Part 1
Appendix A Object-Oriented Analysis and Design
Software engineering -1
Need for the subject.
DESIGNING YOUR SYSTEM.
UML profiles.
Software Design Lecture : 15.
Chapter 7 –Implementation Issues
Chapter 1: Introduction to Systems Analysis and Design
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Chapter 1 INTRODUCTION TO MANAGEMENT AND ORGANIZATIONS
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Creative Design Solutions: Design Thinking
Unit 6 part 5 Test Javascript Test.
A Brief History 1969: the term “software engineering” was coined
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
CSCI 130 Classes and Objects.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Creative Design Solutions: Design Thinking
Chapter 1 The Systems Development Environment
HLN Consulting, LLC® November 8, 2006
System Design and Acquisition
1.02 Creative Design Solutions: Design Thinking
Chapter 1: Introduction to Systems Analysis and Design
The Core Concepts of EA A Few Final Words
(Software) reuse, is the use of (Software) knowledge, to build new (something) software.
Logical Architecture & UML Package Diagrams
Presentation transcript:

Software Architect Tomek Marszał Wsinf 2016

Who is Software Architect A software architect is a software expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms. The leading expert is referred to as the chief architect

History The software architect concept began to take hold whenobject-oriented programming (OOP) was coming into more widespread use (in the late 1990s and early years of the 21st century). OOP allowed ever-larger and more complex applications to be built, which in turn required increased high-level application and system oversight.

Responsibilities The main responsibilities of a software architect include: Limit choices available during development by choosing a standard way of pursuing application development creating, defining, or choosing an application framework for the application Recognize potential reuse in the organization or in the application by observing and understanding the broader system environment creating the component design having knowledge of other applications in the organization Subdivide a complex application, during the design phase, into smaller, more manageable pieces Grasp the functions of each component within the application Understand the interactions and dependencies among components Communicate these concepts to developers

Responsibilities Recognize potential reuse in the organization or in the application by observing and understanding the broader system environment creating the component design having knowledge of other applications in the organization Subdivide a complex application, during the design phase, into smaller, more manageable pieces Grasp the functions of each component within the application Understand the interactions and dependencies among components Communicate these concepts to developers The main responsibilities of a software architect include: Limit choices available during development by choosing a standard way of pursuing application development creating, defining, or choosing an application framework for the application

Responsibilities Subdivide a complex application, during the design phase, into smaller, more manageable pieces Grasp the functions of each component within the application Understand the interactions and dependencies among components Communicate these concepts to developers

Responsibilities In order to perform these responsibilities effectively, software architects often use tools or standardized model and symbol sets such as Unified Modeling Language(UML) and OOP to represent systems or develop artifacts.

Duties The role of software architect generally has certain common traits: Architects makes high-level design choices much more often than low-level choices. In addition, the architect may sometimes dictate technical standards, including coding standards, tools, or platforms. Software architects may also be engaged in the design of the architecture of the hardware environment, or may focus entirely on the design methodology of the code.

Duties The role of software architect generally has certain common traits: Architects makes high-level design choices much more often than low-level choices. In addition, the architect may sometimes dictate technical standards, including coding standards, tools, or platforms. Software architects may also be engaged in the design of the architecture of the hardware environment, or may focus entirely on the design methodology of the code.

Responsibilities In order to perform these responsibilities effectively, software architects often use tools or standardized model and symbol sets such as Unified Modeling Language(UML) and OOP to represent systems or develop artifacts.

Responsibilities In order to perform these responsibilities effectively, software architects often use tools or standardized model and symbol sets such as Unified Modeling Language(UML) and OOP to represent systems or develop artifacts.

Responsibilities In order to perform these responsibilities effectively, software architects often use tools or standardized model and symbol sets such as Unified Modeling Language(UML) and OOP to represent systems or develop artifacts.

Responsibilities Subdivide a complex application, during the design phase, into smaller, more manageable pieces Grasp the functions of each component within the application Understand the interactions and dependencies among components Communicate these concepts to developers