coreC++ASoftwareEngineeringApproach