1. Describe how business uses information systems and provide some examples for each information system.”
The primary use of business information systems is to gather raw data, make sense of the raw data, and then provide reports and/or summaries for different levels of decision makers to utilize. Examples of information systems are below.
Transaction Processing Systems: TPS collect data from user input and then return data based on the collected data. An example of a TPS is a ticketing system for trains, planes, etc. As passengers input their information to reserve seats, the system spits out a report of what is still available to reserve for the next customer.
Process Control Systems: These systems help in monitoring processes using sensors, and then either make corrections, or send feedback for specific events. An example of this is your house temperature settings. Once the temperature is set, the system maintains the temperature by turning on or off the air to adjust when it detects a change.
Management Information Systems: These systems are used by upper level staff for making critical decisions. They are used to import data from databases for creating reports. An example of this system could be an inventory tracker at a warehouse or a local grocery store.
Decision Support Systems: This is a system that is a tool for data analysis and helps management make plans for the future. An example of this system is one used by a bank loan officer. The office can put in the information of the loan requester and they’ll receive data on which they can make a decision on whether or not to approve the loan.
Expert (or Knowledge-Based) Systems: These systems analyze raw data using specific sets of rules to provide suggestions. An example of these systems are systems utilized for medical diagnosis like MYCIN. MYCIN was created to help doctors diagnose bacterial infections. (2016)
Customer Relationship Management Systems: These systems are used in helping synch marketing and sales efforts. An example of this tool is Salesforce.
Mycin. (2016, August 5). Retrieved September 14, 2016, from https://en.wikipedia.org/wiki/Mycin
2. A systems analyst needs a variety of technical, business, and people skills. Identify academic courses that systems analysts should have that would help them in their future professional careers. Specially, what courses would help systems analysts with their problem solving skills?
I believe that the label “system analyst” could encompass a wide variety of job descriptions. However, I believe that there are some fundamental skills and courses that someone aspiring to be a systems analyst should have and take.
In general, I believe that systems analysts should have a basic understanding of the technical side of computer science and gain some background in database languages such as SQL so he or she would be able to run queries. Additionally, I believe systems analysts should also have a high level understanding of business processes. Classes that would benefit a systems analyst are classes like management information systems, software development, technical writing, and project management.
In order to boost the problem solving capability of a system analyst, I believe courses in statistics or business calculus would be beneficial. Much of the problem solving that a system analyst comes across involve creating hypothesis, analysis of information needed to produce an answer, and then solving for the solution. A course like statistics could train someone to think in this method and thus hone the problem solving skills for someone looking to be a systems analyst.
3. Many students today do not fully appreciate what it was like before automated information systems. Discuss some current systems to explore what the problems were before they were implemented. Discuss about what a current system could do and then talk about what it was like in the “old days.” The following list of systems could be considered for this discussion and it would let students know if the problems are solved or not.
Buying a car
Applying for a mortgage loan
Checking out a book from the library
Buying a book
Student course enrollment system
University course scheduling system
Telephone System: In the “old days”, there were switchboards that were human operated and not a scalable solution. Companies would need to hire people to pick up a call and patch the line together in order to connect two individuals.
Today’s modern solution come in the form of switches and IP addresses that can allow for large enterprises to have a scalable solution to a phone system. Phones are no longer hard-wired in but they run off of specific IP addresses that a switch can redirect the call to.
I personally believe that the telephone system has been resolved. The implementation of voice over IP has allowed companies to move into globalization effortlessly.
3. Think about your own university or college and choose an idea that could improve student satisfaction with the course enrollment process. Currently, can students enroll for classes from anywhere? How long does it take? Are directions simple to follow? Is online help available?
Next, think about how technology can help support your idea. Would you need completely new technology? Can the current system be changed?
Question: Create a system request that you could give to the administration that explains the sponsor, business need, business requirements, and potential value of the project. Include any constraints or issues that should be considered.
Enrollment system: I’m going to push the boundaries with this a little bit here. I’ve actually had thoughts about new implementations that UMUC could do as a whole with regards to classes AND enrollment. 🙂
Project Sponsor: UMUC IT Department
The current student enrollment system requires the student to have a full understanding of their requirements for graduation. They also need to have an idea of what they need to take in order to progress (which classes need to be completed before they can take others). Another method that a student can enroll is by emailing “someone” from student advisement and have them do it for the student. However, there is no feeling of personalization in the sense of when a student could meet with an advisor face to face and really talk about their degree and where they are going. The current enrollment system is also not available as a mobile application and neither is the course page.
The existing enrollment system will be enhanced to provide the following functionality
Extend enrollment/MyUMUC to mobile platforms
Established workflow of tuition payment.
Similar to online banking (see account, transfer money, etc).
Calendar alerts for payment due (for students who opt for payment plans)
Student Course Requirement Visibility
Completed vs to be completed
Breakdown of completed courses and grade earned
The existing My Classes portal to also be provided as a mobile application as is. The My Classes portal is sufficient as is but since most students utilize mobile devices on a regular basis, it would allow the student to have increased access to classes due to freedom of movement. It would make participating in discussions easier and thus allow students to achieve a better education.
Business Value of the Request
The enhancements to the enrollment system provides business value by:
Students would have a clearer snapshot of their current progress and where they have to go
more on-demand access to enrollment
Decrease the possibility of being dropped from classes due to missed payment
Increased efficiency in workflow
The enhancements to My Classes will add value by:
More on-demand access to classes and material
Increased mobility so students can study/participate wherever and whenever
Increased ability to participate in online classes
Mobile application will need to be secure because students will have the option to pay through mobile app.
device compatibility: mobile application for MyUMUC and My Classes will need to be compatible with devices and operating systems on the market.
1. All six methods of information gathering discussed in this week lecture take a lot of time. Do you think that there are some ways that systems analysts could collect the required information while saving time? Please offer your opinion on this issue.
Efficiency in data gathering
I would like to approach this question in a different perspective rather than commenting on how the information gathering methods discussed could be improved to save time. I would like to approach this topic from an overall perspective on steps that could be taken in order to improve efficiency as a whole and I have done a little research to support this perspective.
I believe there are some fundamentals that a systems analyst should complete when presented with a development issue. To use as an example, I will cite an existing opportunity that our company is pursuing. We have responded to an opportunity from the federal government and it asks us to design a workflow, portal, and application for a new registry system they would like to deploy. We are in the stage of preparing to present our example to them. During this stage, we have done extensive research on what the customer would like to see (there is a product on the market that is very similar to what they want), we have done the research on the end goal for this project (the customer has published strategic missions for this project), and we have done the research on the budgetary constraints for this project. By doing sufficient research, I believe a systems analyst can already shave off time for the entire project.
The next step for our response to the government, we have created a prototype armed with the information gathered during the research phase. This prototype will allow the government to get a look and feel of the product we have designed and cut out any miscommunication on what it will look like. I believe prototyping is an important step in cutting back time spent on information gathering.
Lastly, I believe that having a distributed database system will lend a hand in saving time. In the beginning phases of responding to this government project, multiple parties need to be privy to the research provided. By establishing a accessible and distributed information sharing/database system, it will allow all parties to have access to the pertinent information to this project. Moving forward, if the project is won, actual developers will also have access to the same information so in their design phase, they will know the pain-points to address and be able to revert back to the initial task at hand.
1. Suppose you are explaining the concept of prototyping to your manager to persuade her to approve the prototype approach to a proposed system that you are working on. Her response to your explanation is that “prototyping is a waste of time and money”. As a systems analyst, how could you respond to her?
Start a New Thread
My company is currently working on responding to a federal agency request for information and they have asked us to create a demo in response to their request. At this time, we have created a prototype for the demonstration.
In response to my manager, I would argue that prototyping is an efficient way to show users the workflow, the design, and allow users to interact with a simplified version of what the request is. This method can allow for stakeholders to identify areas of concern, speak to workflow ease, and provide feedback to system developers. With this feedback, system implementors can ensure a higher success rate with stakeholder usage of the end result.
Since my company is using a software that is specifically used to create platforms, creating a prototype for the demonstration was not a difficult task. During the demonstration, the stakeholders can see exactly how to interact with the system that we have created. If they have any questions about functionality or any new suggestions, they can easily make it there. We can gather the information from the demonstration and bring it back for our developers to create the solution the stakeholders are really looking for.
3. Your manager recently mentioned to you that “since data flow diagrams and systems flowcharts provide redundant pictures of an information system so we don’t need both. As a result, we can eliminate one of them to save time and deliver our system ahead of timer.” Do you agree with your manager? Please respond to your manager with your comment as a systems analyst.
My manager seems to have many questions regarding process and system… ;D
I would disagree with my manager in this case regarding redundancy. Although there are overlaps in data flow diagrams and system flow diagrams; I believe both are important displays of data.
A data flow diagram (DFD) is used to show the progression of information through data stores in a system. It allows the user to have a visual representation of the relationship between data and and the system. DFDs can be easily understood by technical and non-technical audiences. When presenting and implementing a new system, it is important that both user parties can see how the information moves from beginning to end. DFDs also provide an umbrella overview of the system in terms of what the boundaries and connections are. This diagram can also provide, on a detailed level, the system components. For system analysts, a DFD will show the external devices that are sending and receiving data; which processes can change the data, the flow of data and where the data is stored. (Le Vie)
The application of a flow diagram is more geared towards the technical process of a system. They contain less detailed information regarding data and are used to help clarify the purpose of the procedure. When presented correctly, they can help system analysts determine if there is a need for improvement.
When combined, data and system flow diagrams can help the business understand the implications of the new proposed system. It allows business stakeholders to see the triggers in an event, through the data flow diagram, and it allows system analysts to see if there are areas for improvement for the newly proposed system. (Putscher)
Le Vie, D. S., Jr. (n.d.). Understanding Data Flow Diagrams. Retrieved October 15, 2016, from http://ratandon.mysite.syr.edu/cis453/notes/DFD_over_Flowcharts.pdf
Putscher, G. (n.d.). Difference Between Data Flow Diagram & Flow Chart | Techwalla.com. Retrieved October 15, 2016, from https://www.techwalla.com/articles/difference-between-data-flow-diagram-flow-chart
1. What is an associative entity? When must a many-to-many relationship be modelled as an associative entity? Provide some examples demonstrate this issue.
What is an associative entity? When must a many-to-many relationship be modelled as an associative entity? Provide some examples demonstrate this issue.
According to research, an associative entity is a connection to describe a relationship between two different entities. These entities can have many-to-many relationships, meaning that one of the associative entities may have multiple relationships and connections to a parent or child entity.
Associative entities convey information about their attributes and their connections. They are considered an entity because they have attributes, and they are considered a relationship because they link entities together. These kinds of entities very frequently have many relationships and connections because they are attributable, but they can have independent meaning from other entitiesAssociative entities can also be participants in relationships separate from the associated entity relationships.
Primary keys should be a part of associative entities as well, because they are identifiers that adjoin certain tables in a relational model. Though tables may only contain one, primary keys are combinations of columns that uniquely specify rows. There is a difference between unique keys and primary keys, in that primary keys can enforce a “not null” constraint in a table or entity. Another aspect that differentiates primary keys from unique keys is that primary keys are selected as a key of most, or first, importance. Primary indexes are created for the management of primary keys and for ease of use and enforcement by a database manager.
Asta, J. M., & Seminara, J. (2016, October 3). Retrieved October 30, 2016, from http://www.wisegeek.com/what-are-associative-entities.htm
1. Database normalization is a very important process in designing and organizing tables (relations) and their columns (attributes or fields) in a relational database. Therefore, what are the consequences (problems) if a database was designed without it? Would the database still work?
Database normalization is defined as “the process of reorganizing data in a database so that it meets two basic requirements: (1) There is no redundancy of data (all data is stored in only one place), and (2) data dependencies are logical (all related data items are stored together).”
Since the goal of database normalization is to ensure no redundancy in data and to make sure that related data items are stored in a logical format, database normalization can help speed things up and make sure that the data is reliable. However, this does not mean that database normalization is applicable to all situations. As with any design, there are reasons why database normalization could prove to be ineffective and not the best practice. For a small company, database normalization can prove to be expensive. The practice often involves a lot of tables and table joins can be extensive. In the instance of multi-join queries, database normalization could work against the process. Secondly, database normalization can be difficult. If there is a complex scheme in place, database normalization can be hard to work with. Lastly, in creating prototypes and/or needing rapid development, database normalization isn’t necessary. A lot of time can be spent on normalization just to discover that the prototype needs to be scrapped and recreated. (Chapple, 2014)
In the end, databases will work without normalization. Database normalization has progressed to being a best practice but as with any design, the need for it should be determined by environmental factors such as size, budget, need, etc.
What is Normalization? – Definition from Techopedia. (n.d.). Retrieved November 05, 2016, from https://www.techopedia.com/definition/1221/normalization
Chapple, M. (2014). Should I Normalize My Database? Retrieved November 05, 2016, from http://databases.about.com/od/specificproducts/a/Should-I-Normalize-My-Database.htm
1. Explain the reasons why the study of HCI has become increasingly important for systems analysts and for the SDLC.
Human-computer interaction (HCI) refers to the study of the interaction between people and computers, as well as the extent to which computers either are or not developed for successful interaction with humans (TechTarget, 2016). When dealing with HCI, the value of individuals’ sensory systems such as sight, hearing, and touch function should be highly considered. These senses need to be considered because different users could use the system in different environments (e.g. different lighting situations, variable noise levels, etc.). A very important factor to consider in a system’s overall success is usability. It is critical that a project that goes through the entire SDLC yields a usable and safe system that offers the expected functions per the end users’ perspective (Jones, n.d.). The usability of the system is important because reduces wasted time and user frustration.
The implementation of a usable system involves consultation with end users throughout the systems development life cycle (SDLC). Most users usually have specific preferences on how interfaces to systems should appear. As a result, the systems analyst need to establish the right balance between “perfect” systems from the user perspective, as well as what is actually feasible from a more practical point of view (Jones, n.d.). This has to be done at each individual phase of the SDLC. This effort to design a practical system that is easy to use requires the systems analyst to pay attention to the following factors that affect the entire project:
Budget and cost
Schedule and timeline
Staff availability and skill level
In the end, it is the responsibility of a systems analyst to ensure that necessary resources are available to implement a system that meets user expectations. The deployed system should also be easy to learn, efficient, safe, enjoyable, and effective to use (W3Computing, 2014). This will help to minimize or totally avoid change requests from disgruntled users, and increase their overall satisfaction with the system. From an economic point of view, a system that receives praise from users will also result in an increase in overall organizational profit.
TechTarget. (2016). HCI (human-computer interaction. Retrieved October 31, 2016, from http://searchsoftwarequality.techtarget.com/definition/HCI-human-computer-interaction
Jones, M. (n.d.). Introduction. Retrieved November 1, 2016, from https://www.cs.bham.ac.uk/~rxb/Teaching/HCI II/intro.html
W3Computing. (2014). The Systems Development Life Cycle (SDLC) – Systems Analysis. Retrieved November 01, 2016, fromhttp://www.w3computing.com/systemsanalysis/systems-development-life-cycle/
1. There are several different levels in the testing process (unit or component testing, integration testing, system testing, and acceptance testing) that a software product must go through before release. The question is why we need to go through these levels. Could we skip some levels? Could we just test the finished software instead?
While the task of testing appears to be straightforward and easy at first, approached from an angle of critical thinking, end user and business results reveal how much complicated the task can get. The task of testing is difficult for many reasons:
– Testing is almost always done against requirements that are incomplete and possibly inaccurate
– Many testers approach the system from a black box perspective therefore missing opportunities of detecting defects requiring knowledge of the internal mechanisms of the software
– Testing is usually pushed to the last stages of implementations giving little time for testers to perform all testing phases needed to uncover different types of bugs
– Testing is still considered in many development shops to be an optional or less important phase when compared to other development phases
– Testing is approached from a static and partial perspective. Testers are not taking time to understand the system holistically and use it from an end user perspective to uncover issues that span technical and functional defects – requirements and usability issues.
To solve this difficult problem a comprehensive approach should be used to analyze the system using multiple techniques and testing layers to uncover all types of issues whether technical, functional, security, performance, usability etc.
There are many types or layers of testing including unit, functional, integration, regression, security, performance, acceptance tests each target a specific area of the system and uncovers specific problems with the software. For example, integration test can reveal integration issues with other internal or external systems that can’t be revealed using functional component tests. Another example is regression tests, since these tests are repeated every time there is a system change, it has the potential to detect regression problems by normal functional tests due to its limited frequency or scope.
While it is possible to omit some of these testing levels, the consequence would be loss of opportunities to uncover these defects in a testing environment. Since it is practically impossible to uncover all possible defects in a system, exercising as many permutations bring us closer to reducing considerably the chance for defects to occur in happy path, common exceptions, and critical business areas.