Consider the software domain of an auto parts store, like AutoZone. Do the following:
a. Identify key functionalities that the software should include.
b. Discuss potential challenges and solutions in implementing and maintaining the software.
c. Propose features that could enhance the user experience.