- COTS stands for commercial off the shelf software.
- We will not build, but buy a software off the shelf.
- We spend very little time customizing the software.
- We use CBSE (component based software engineering) to implement COTS.
- Idea to develop software systems by selecting appropriate off the shelf components and then assemble them with a well defined software architecture.
- CBSE has three major functions.
- Developing software from pre-fabricated, reusable parts.
- The ability to use those parts in other applications.
- Easily maintain and customize those parts to produce new functions and features.
- COTS components.
- Independent and replaceable part of a system that fulfills a clear function.
- Works in the context of a well defined architecture.
- A component communicates with other components by its interfaces.
- Developed by different developers, using different languages and different platforms.
- Advantages of COTS.
- Development cost is reduced.
- Development time is reduced.
- Complex systems can be built by reusing pre-existing components.
- Testing effort is reduced.
- Challenges with COTS
- COTS is a black box.
- Lack of functional and technical requirements.
- Level of quality is unknown.
- Unknown development process and methods.
- Compatibility issues.
- Uncertain upgrade schedules and quality.
- Difficulty in regression testing and test automation.
- Inter-operability and integration issues.
- COTS testing techniques
- Black box component testing.
- To understand the behavior of a component, various inputs are executed, and outputs are analyzed.
- To catch all types of errors all possible combination of input values should be executed.
- To make testing feasible test cases are selected randomly from test space.
- System level fault injection.
- A technique for improving the coverage of a test by introducing faults to test code paths.
- Fault, propagate through an observable failure follows a well defined cycle.
- When executed, a fault may cause an error , which is an invalid state within a system boundary.
- An error may cause further errors within the system boundary.
- Each new error acts as a fault.
- When error states are observed at the system boundary they are termed failures.
- This is termed the fault error failure cycle.
- Operational system testing.
- Complements system level fault injection.
- System is operated with random inputs(valid and invalid input)
- Provides more accurate assessment of COTS quality.
- A key operational testing feature is error detection which ensures, correct functional implementation.
- Operational testing allows component interaction.
- Software wrapping.
- Wrapper generally refers to a type of packaging, such as a flat sheet to enclose an object.
- It is a piece of code that one builds to isolate the underlying components from other components of the system.
- A glue component provides the functionality to combine different components.
- Interphase propagation analysis.
- Interface, propagation analysis is used by injecting faults at one component.
- Aggregator design pattern
- Aggregator design pattern can be implemented as an aggregator service which will call more than one micro services based on the needs and collates the response.
- Generate a report form two or more micro services .
- CQRS Design Pattern
- FAANG/MAANG Engineer
- Low Code Platforms
- Software Testing
- Secure Coding
- IOT
- Microservices
- Web Security
- UML Diagrams
- Fork–join model
- Dependency Injection
- Adapter Pattern
- Join Pattern
- DevOps
- Agile
- Security Awareness
- API gateway pattern
- Serverless Architecture
- Event Driven API paradigms
- Rational Application Development
- COTS
- Rational Software Architecture
- N layer/tier Architecture
- OAuth 2.0
- Scaling Microservices
- SAGA Pattern
- Circuit Breaker Pattern
- Singleton
- Immutable
COTS
Subscribe to:
Posts (Atom)
Recursion
Q What do you understand by a Recursive Programme? Recursion Is the process of repeating items in a self similar way. In programming langua...
-
Inheritanceis tightly coupled. Inheritance is basically used for polymorphism which can be done in other ways to. Generally over a time we d...
-
How can we secure our micro-services? Application security User security Spring access controls Framework security Interaction with downstre...
-
Q What is the difference between wireless sensor networks and IOT networks? Ans : IoT exists at a higher level then WSN. In other words,...
No comments:
Post a Comment