Software implementation is a process to test if software is operating properly in its environment, including analyzing requirements, installation, configuration, customization, running, testing, systems integrations, user training, delivery and making necessary changes.
Some software implementation tools are CASE (support all phases of the development life cycle), visual editors, IDE, Configuration Management, etc.
Software testing involves identifying bug/error/defects in a software without correcting it. There are two main types of testing: Manual Testing and Automation Testing, which is used to re-run the test scenarios that were performed manually, quickly, and repeatedly. There are three main Methods:
Black-Box (based on external expectations – Internal behavior is unknown),
Grey-Box (done on the basis of data flow diagrams)
White-Box (internal workings are fully known) Testing.
The main levels of software testing are functional and non-functional
A design pattern is a description or template for how to solve a commonly occurring problem that can be used in many different situations. There are:
Creational patterns (class instantiation) that can be further divided into class-creation patterns that use inheritance, and object-creational patterns that use delegation.
Structural patterns(class and object composition), class-creation uses inheritance and object-patterns define ways to compose objects to obtain a new functionality.
Behavioral (class’s objects communication) design patterns that are most specifically concerned with communication between objects.
RESOURCES: Source making
The software architecture is a depiction of the system to understand how it will behave. It is the blueprint for both the system and the project developing it, defining the work assignments by design and implementation teams.
It seeks to build a bridge between business requirements and technical requirements by understanding use cases, and then finding ways to implement those use cases in the software. By building effective architecture, you can identify design risks and solve them early in the development process. It divides in 4 types:
- Business architecture − Defines the strategy of business, governance, organization, and key business processes within an enterprise and focuses on the analysis and design of business processes.
- Application (software) architecture − Serves as the blueprint for individual application systems, their interactions, and their relationships to the business processes of the organization.
- Information architecture − Defines the logical and physical data assets and data management resources.
- Information technology (IT) architecture − Defines the hardware and software building blocks that make up the overall information system of the organization.