One of the most difficult questions faced by organizations is how to actually deploy the system. Should it a direct cut over deployment be attempted? It is the cheapest and most direct? Should the two systems be run in parallel? And for how long? Is there a way to do a phased implementation?
Discussion of the issues and how does a company make a decision of which type of approach to take. Things that might be considered are:
- Urgency of the new system in production
- Experience and past performance of the development team
- Complexity of the new system
- Criticality of the new system (what is the cost of errors or failure?)
In this unit, we spend some time discussing the cloud. In this unit, take some time to learn a bit about the various cloud service providers. Using your answer to the practical assignment in this unit, describe how you might implement your design using the cloud. Which provider(s) would you use? What type of services would you require? How might you assure the security of the applications in the cloud?
Throughout the material on human-computer interaction, the concept of usability was emphasized. One area of usability that is often overlooked is accessibility. Research a disability, and describe how it effects a user’s ability to interact with systems, and describe some ways the user interface can accommodate these disabilities. Also, feel free to discuss the prevalence of the disability, and whether or not you would feel it is appropriate to make these accommodations in the systems used in the examples in this course.
Who should be in charge of designing the database – team members, who understand the application requirements, or a database design expert, who may not understand the problem domain issues but does understand good database design? How can the team verify that the solution is correct and, more difficult, that it is efficient?
Another interesting combination of both database and integrity is how to design and implement so that the database is secure? What kind of encryption should be used within the database? What data needs to be secure?
What does it mean to have integrated models? Explain how each of the models relate to the other models – models we have learned are use case diagram, CRUD matrix, class diagram, activity diagram, fully developed use case diagram, system sequence diagram, state machine diagram. How can cross checking between models ensure that the requirements are accurate and correct? What are the dangers of not cross checking between the models?
In this unit, you have created a class diagram for a package delivery system, along with all the other participants in this course. Each of you probably has a different class diagram derived from the same narrative descriptions. Can all of these be correct? When evaluating class diagrams, what can we look for to asses that it captured the necessary data requirements? Parts of any assessment will be subjective, but in this discussion, we should explore the objective methods of evaluating these models.
Many developers begin their data modeling by thinking about the physical database, and structuring their data by building tables and fields, and assigning data types and keys. In other terms, they tend to start designing immediately based on their assumptions about the objects that must be tracked in persistent storage. However, as you have seen in this unit, and in the following unit, we learn to analyze the data needs first, irrespective of the physical database designs (which we learn about later). What do you think about this? Are there scenarios where this formal data analysis is not needed, or is this never the case? What are some of the risks to a project that bypasses this formal analysis, and moves directly to the design?
In this unit, we begin looking at formal modeling diagram syntax for information systems. However, you may find that many organizations do not use these formal modeling techniques, and instead use rough drawing techniques (what I call “boxes and arrows”). Why are these formal techniques important, and if you are working with an IT organization that has not adopted a formal standard for process modeling, what might be your advice to entice them to do so?
As an IT auditor, what is the benefit to you if organizations use standard techniques to model their processes and systems, and what challenges might you have in organizations where no such standards exist?