You are on page 1of 2

The most common solution for complexity in software development and software are: -

 Encapsulation architecture -- a combination of ‘similar’ constructs (objects, functions,


other things) into a single unit and expose public interfaces for interaction with other
units, while keeping their internal complexity hidden.

 Repository architecture -- a collection of components which operate with common


interfaces and common data structures.

 Layered architecture -- a set of horizontal collections of components. Complexity for


similar disciplines is isolated with each layer with well-defined interfaces between
layers.

 Vertical architecture -- an approach for breaking functions into vertical units.


Complexity is handled by breaking out larger capabilities into smaller, more manageable
units.

The fundamental activities of a software development process are:


 Specification.
 Design and Implementation.
 Validation.
 Evolution.
project planning and control, assigning staff to tasks, and selecting from among
different alternatives for the application are a part of complementary task in software
development processes

Software architecture stakeholders a group of people or organizations that are directly involved.

This are listed below.

 Project Team, they are a group of people who should be considered first when creating

software architecture. Let us not make application solutions using the. Net language, if

available in companies, is only java programmer, and none of them knows.

 Management Team. They are a group of people we have to talk to and pay attention to

before deciding to make architectural software. This management team is a group of


people who will protect us so that everything we design can be carried out until it reaches

the final goal.

 Third-Party. There may be several problems related to the integration process with third

parties because of the complexity level.

 Supporting Team. This stakeholder group is an organization or person who supports the

system at one or more SDLC stages.

The user is concerned that the system is reliable and available when needed; the customer is
concerned that the architecture can be implemented on schedule and to budget; the manager is
worried (as well as about cost and schedule) that the architecture will allow teams to work
largely independently, interacting in disciplined and controlled ways.

Some of software architect skills and knowledge are: -


 Experience in various software designs, languages, and architecture.
 Solution definition and problem-solving skills.
 Practical experience in project management.
 Familiarity with computer networks and IT security management.
 Experience and knowledge of cloud computing. Good understanding of business
processes. Strong organizational skills. Strong understanding of analytical skills and
techniques.
 Communication skills
 Inter-personal skills

You might also like