Introduction to the Activity
Now that you’ve read about DBMSs, languages, and data providers, it’s time to make some decisions. As mentioned, database application design is not a deterministic process. Different designers will make different decisions based on their own experiences, comfort levels with technologies, available resources, and other factors. If given the chance over again, Amazon’s creators might have used Oracle as a backend with ASP.NET as their front-end. And Apple might have selected PASCAL for their go-to language instead of ObjectiveC for iOS applications. When making any architectural decisions for any programming project, you must carefully weigh all available options and make the best choice for your specific situation. For this module’s discussion, you will consider a situation and decide on your course of action.
Note: Since there are almost limitless tools and languages available to you, you will likely have to do some extra research on specific tools that would be useful.
Instructions to Learners
Step 1
Think of a to-be-designed information system that has not yet been discussed in class, together with the systems’ specification. You can come up with the system specification based on your research or your own experience, but it cannot be related to your database project. Post an initial message with the following information:
1. A description of the information system, its stakeholders, intended use, and major features
2. Accessibility features, including the following:
1. Will it be Web-based, a mobile app, a desktop app, or something else?
2. What platforms will it run on or be accessible from? iOS? Android? Windows? Browser-only? Multiple? Others?
3. Any nonfunctional requirements that would impact high-level design decisions. Recall from your module 2 readings that nonfunctional requirements describe the quality or character of a system, which contrast with functional requirements that describe what the system will do. For example, you might be designing your app to run on a Mac. This means you will probably be using Java or native C++ since .NET is not widely supported on macOS systems.
4. A description of an input screen that would be required for the system along with nonfunctional requirements related to the envisioned user interface
Step 2
Select the initial Replies of at least two classmates whose requirements sound interesting. In a follow-up reply to your classmate, address the following:
1. What DBMS, data provider, high-level language, and data API would you use to provide the required features and functionality? Why? Be specific.
2. Using Visio or Dia (one of which you installed previously) and following the sample in this week’s reading, create a mockup for the requested user interface. Write a paragraph explaining your design choices.
Step 3
Review your classmates’ responses from Step 2 and reply to at least one other classmate. In your reply, compare and contrast their proposed solutions. Are they different? Why? Who is right? Are they both right? Why? Which solution, if any, is better? Why?