A、the practice of designing, building, and maintaining off-the-shelf software from prefabricated parts
B、the practice of designing, building, and maintaining ad-hoc software without the use of formal methods
C、the practice of designing, building, and maintaining reliable and cost-effective software using standard techniques
D、the practice of designing, building, and maintaining fast and flexible software specifically for engineering applications