A systemic approach to the analysis, design,assesment,implementation,test,maintence, and reengineering of software.
Software engineering
Human action that produces an incorrect result
Error
Manifestation of an error in software
Fault
Does the software work compared to what the user needs
Validation
Does the software work compared to the given specifications
Verification
Specifying what the customer wants and defines what the software system is require to do, not how
requirements
testing the architecture and the communication as a whole
Integration testing
Fosing on the smallest unit of a software. I isolating different areas, repeating until every module has been tested.
Unit testing
A form of software testing, preformed by the customer/end user
acceptance testing
testing that involves an human being testing it.
Manual testing
A structured process that enables the structure of high quality and low cost software
software development life cycle
A mix between testing and implementations
Deployment
System vs Integration testing
system - application as a whole is tested
Integration- The interfaces between modules is tested
avoid multitasking, avoid handoffs. Work as a team and communicate well.
Agile mindset
KISS,DRY, YAGNI
Programming principles
6 phases of software testing life cycle
1. requirement analysis
2. test planning
3. test case design
4.test environment setup
5. test execution
6. test cycle closure
Separation of concerns
A Program should be designed with different containers and these containers should not have access to each other.
YAGNI
Should never code for the functionality on the off chance that you need something in the future.
KISS
Keep it stupid simple- don't over complicate things
DRY
Don't repeat yourself when it comes to coding
Program deviates from expected behavior, unable to perform a required function
Failure
4 principles of OOP
1.Inheritence
2. Abstraction
3.Encapsulation
4.Polymorphism
a set of well-defined instructions to solve a particular problem. It takes a set of input(s) and produces the desired output.
Algorithm
Name the 6 architecture principles talked about in class
1. Layered architecture
2.client-server
3.pipe and filter
4.event driven architecture
5.microservice architecture
6. Model View controller
Places constraints on what goals should be met in the product
Non-functional