1/106
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
System
The complete set of components that work together to carry out a particular function. These include hardware, software, communications and people.
Input-Process-Output
Describes the structure of an information processing program or other process. It is the most basic structure for describing a process.
Feedback Loop
Allows outputs to be fed back into a system as inputs to allow for adjustment of a process.
The Context of a New System
The extent and limitations of a new system. The organisations issues such as user roles and underlying technology.
Organisational Issues for a New System
Mission/strategic: The strategic goals set by companies may need to change as new systems are implemented.
Data security: Data can be sold for marketing.
Operational dependency: Reliance on a single company for data retrieval and system operation.
The Need for Change Management
An approach to transitioning individuals, teams, and organisations to a desired future state. This is a structured approach for ensuring that changes are smoothly and successfully implemented to achieve lasting benefits.
Communication of the need for and benefits of change
Users may require training
Recruitment may be necessary to bring in suitable skillsets
Stakeholder support
Planning, milestones, completion date
Dependencies between project stages/components
Compatibility between old system and new system
Testing
Planning for Change
Alignment: Aligning the organisational goals with the new system?
Measurement: How will the success of the change be measured (what data should be collected before the changes)?
Communication: How will the change be communicated to stakeholders?
Compatibility: How compatible is the new system with existing dependent systems? What data conversion is required for the new system?
Installation: Which installation process would work best for the organisation?
Managing Change
Recognising changes in the broader business environment and adjusting other impacted systems.
Training employees on the appropriate changes.
Winning the support of the employees with the benefits of the changes.
Documenting the change process, in case problems arise after installation of the new system.
Legacy systems
Refers to outdated computer systems, programming languages or application software that are used instead of available upgraded versions.
Compatibility Issues
Historic data may not have to be converted into the new system format.
Cannot keep updated with latest technology (incompatible).
Legacy systems are high maintenance and may involve intricate patching and modifications.
User satisfaction and efficiency may be low.
International System Compatibility
When two systems interact or are integrated together there are a range of issues that might arise:
Character encoding systems may differ.
Database systems may be different.
Issues with usage rights of propriety systems.
Conflicting work cultures of those working with the systems. Also, conflicting organisational goals.
Software as a Service (SaaS)
Also referred to as "hosted applications", it is a software delivery method that provides access to software remotely as a web-based service. Its pricing is usually based on a monthly fee instead of software licensing.
Benefits of SaaS
Scalability - As an organisation grows, more users need to be added to a system, rather than purchasing additional in-house server hardware and buying more software licences, an organisation can simply adjust their monthly SaaS service subscription.
Accessibility - A browser and an internet connection is all that's usually required to access many SaaS applications.
Upgradeability - A service provider deals with hardware and software updates.
Resilience - Infrastructure and data reside in the cloud service provider's datacenter. If some from of disaster should occur on an organisation's premises, the system can be used remotely with internet.
Collaborative tools - Many SaaS solutions offer online tools for collaboration.
Limitations of SaaS
Data mobility - What happens to the data and systems of an organisation when a service provider fails? Or if a company needs to change SaaS vendor for another reason like cost?
Security - If sensitive company data and business processes are to be entrusted to third-party providers, then issues such as identity and access management need to be addressed.
Integration - Businesses that adopt multiple SaaS applications face the problem of software integration with other systems within a company.
Compliance - When data resides in a service provider's data centre, ensuring that an organisation complies with the relevant governmental data-protection regulations can be a problem.
Downtime / loss of connectivity - Outages do happen. Any downtime is irritating, but a lengthy outage of a critical system could prove disastrous. This is especially problematic in less developed countries, where the internet service is not as reliable.
Platform as a System (PaaS)
Offers the hardware, operating system and the infrastructure for running applications over the internet. The service provider has already built the infrastructure and the program, so all the developer has to do is write their program and display it. Maintenance is the responsibility.
Infrastructure as a Service (IaaS)
Form of cloud computing that provides virtualised computing resources over the internet.
Installation Processes
When a new system has been created and is ready to implement.
Direct Change Over
The old system is stopped completely, and the new system is started. All of the data that used to be input into the old system now goes into the new one.
Advantages - Takes minimal time and effort, the new system is up and running effectively.
Disadvantages - If the new system fails, there is no back-up system, so there could be significant downtime while the system is fixed.
Parallel Running
The new system is started, but the old system is kept running in parallel for a while. All of the data that is input into the old system is also input into the new one. Eventually, the old system will be stopped, but only when the new system has been proven to work.
Advantages - If anything goes wrong with the new system, the old system will act as a back-up.
Disadvantages - Entering data into two systems, and running two systems together, takes a lot of time, expertise, and effort.
Phased Implementation
The new system is introduced in phases, gradually replacing parts of the old system until the new system takes over.
Advantages - Allows users to gradually get used to the new system. Staff training can be done in stages.
Disadvantages - If a sub part of the new system fails, there is no back-up for that sub part.
Pilot Running
One department of the business is given full implementation of the new system, similar to a 'trial version' of the system.
Advantages - All features of the new system can be fully trialled, and if something goes wrong, only a small part of the organisation is affected. The staff who were part of the pilot scheme can help train other staff.
Disadvantages - For the office/department doing the pilot, there is no back-up system if things go wrong. Tough the pilot may be successful, there's still a possibility that the system may not be capable of handling its full-scale requirements.
Data Migration
The process of importing legacy data to a new system. This can involve entering the data manually, moving disk files from one folder (or computer) to another, database insert queries, developing custom software, or other methods.
Legacy Data
The recorded information that exists in your current storage system, and can include database records, spreadsheets, text files, scanned images and paper documents.
Data Cleansing
The process of preparing legacy data for migration to a new system. Because the architecture and storage method of new or updated systems are usually quite different, legacy data often does not meet the criteria set by the new system, and must be modified prior to migration.
Data Validation
The process of ensuring that a program operates on clean, correct, and useful data. It ensures that the data meets a set of criteria, often called "validation rules".
Data Migration Issues
Planning issues - Insufficient time and resources allocated to migration of data between systems.
Incomplete data transfer and/or data glitches can lead to poor data quality and lost data.
Inadequate testing before or after migration.
Extended downtime for the system as data is in the process of being migrated.
Character Encoding
Each character is assigned with a unique value
American Standard Code for Information Interchange (ASCII)
One of the most popular character encoding sets. It represents uppercase and lowercase English alphabets, numbers, mathematical operators and symbols from integers with values between 0 and 127.
Unicode
A modern standard for text representation that defines each of the letters and symbols commonly used in today's digital and print media.
Internationalisation
The process of designing a software application so that it can potentially be adopted to various languages and regions without engineering changes.
Localisation
The process of adopting internationalised software for a specific region.
White-box testing
Tests the internal structures and algorithms of an application through code analysis. (The point of view of the programmer)
Advantages of White-Box Testing
Code Optimisation
- Facilitates the removing of unnecessary code and the finding of hidden errors in early phases of development.
Efficiency
- Two algorithms can solve the same problem correctly but have very different efficiencies. White-box testing can find where needless inefficiencies are.
Thoroughness
- Looking at the actual code can find potential causes of errors that Black-box testing could miss.
Disadvantages of White-box Testing
Technical Knowledge Required
- The tester must have knowledge of the system and programming skills due to the complexity of the testing.
Expensive and Time Consuming
- It's time intensive and thus can be expensive for the organisation to hire skilled testers.
Black-Box testing
Testing what the system is supposed to do, from the point of view of the user; with no knowledge of how the program does what it does
Advantages of Black-Box testing
Automated Testing
- Testers save time by focusing on software functionality. Comprehensive testing can be done quickly to check for expected output results.
Code Access not Required
- Specific programming knowledge is not required to run the test.
Disadvantages of Black-Box Testing
Limited by test cases
- The tests are only as good as the test data. It may not test all functionality thoroughly.
Interface issues
- Realistic Graphical User Interface (GUI) interactions may be difficult to stimulate and test with scripts.
Unit Test
A quality measurement and evaluation procedure. It evaluates how an individual unit of software code complies with its purpose. This testing is a form of black-box testing.
Benefits:
Early detection
- Problems are found early in the development cycle, making it easier to fix them.
Modular detection
- Unit testing allows code to be changed within a small unit of the system and then easily tested again without retesting entire systems.
Integration and System Testing
Occurs after each unit of the program has been successfully tested. They test the interactions between units and the complete, integrated system. This involves white-box and black-box testing.
User Acceptance Testing (UAT)
The last phase of the software testing process. Actual software users test the software to make sure it can handle required tasks in real world scenarios, according to specifications. Often divided into Alpha and Beta testing.
Alpha Testing
A group of programmers within the organisation examine early versions to see how the system performs. It is conducted when the software may still be unstable or has incomplete data functionality.
Beta Testing
Is conducted when the software is close to being ready for release and has complete functionality and the developers believe that there are few to no errors. It reduces failure risks and increases the quality through customer validation. Direct feedback from customers is a major advantage.
Automated Testing
Used when there are tests that can't be accomplished by manual testing because they would consume too much time and resources. It is when another software is used to check the performance of the software
Static Program Analysis
Analysis of computer software that is performed without actually executing programs. Is performed on the source code.
Dynamic Program Analysis
Performed by executing programs with a set of test inputs and comparing the results to expected outputs.
Automated Load Testing
Used to test online services. They evaluate the performance of a system while simulating the resource consumption equivalent to hundreds or thousands of simultaneously connected users.
Continuous Integration (CI)
Automated testing throughout development.
User Documentation
Information included with software that delivers instructions on how to properly use a program for its intended purpose.
Optimised Installation/Configuration
Installing and configuring systems by be complicated, poor configuration during the setup process can lead to inefficient use.
Tutorials
Users are guided through a process one step at a time. It is not always practical to create a complete one.
Online Documentation
This would require an internet connection in order to access the documentation. They can be updated in real time.
Printed Manual
This cannot be directly accessed through a computer, and if the physical copy is lost, they would lose access to the documentation. Things cannot be automatically searched.
Live Chat
Online support can also be through a live chat, or a video session, whereby you can get real-time support from a technician. This support gives a feeling of being supported by a real person and this is preferred by many people. Its target is to resolve specific problems quickly.
Embedded Assistance
Many systems will now come with user documentation such as tooltips and dynamic page content within the system itself.
Hardware
An encompassing term that refers to all the physical parts that make up a computer, such as the motherboard, CPU, RAM, and power supply.
Components
Internal hardware devices that make up the computer and ensure that it is functional.
Peripherals
External hardware devices that are not essential to a computer's functions.
Software
An organised collection of computer data and instructions, that can construct a computer to perform specific tasks.
System Software
A base for application software that helps the computer operate.
Programming Software
A set of tools to aid the developers to write programs.
Application Software
Intended to perform certain tasks, and is either a single program or a collection of smaller programs.
Network
A group of two or more computer systems linked together via a wired or wireless communication medium
Computer/Data Network
A telecommunications network that allows computers to exchange data.
Local Area Networks (LANs)
The computers are geographically close together in the same building.
Wide Area Networks (WANs)
The computers and LANs are spread over greater distances within the same city or local region. They care connected by telephone lines or radio waves.
Metropolitan Area Networks (MANs)
A data network designed to provide coverage for an entire town or city.
Home Area Networks (HANs)
A network contained within a user's home that connects the digital devices of its residences.
Server
A computer that is dedicated to managing network resources. They are referred to as dedicated because they carry out hardly any other tasks apart from their tasks.
Email Server
An application usually installed on dedicated hardware that stores incoming mail for distribution to local users and sends out out outgoing messages.
DNS Server
Manages and processes internet domain names and their associated records on an IP (Internet Protocol) based network. Their most basic function is to translate a domain name into its respective IP address.
Print Server
A computer that can process print-related jobs for a network of computers.
Router
A device that analyses the content of data packets transmitted within a network to determine whether the source and destination are on the same network or whether data must be transferred from one network type to another.
Firewall
Blocks unauthorised access from external public or private networks. It is an integrated system of hardware and software.
Client Network Computer
Is at the receiving end of a service in a client/server model networking system.
Thin Client
Has minimum functions that uses the resources provided by a host computer and its job is usually just to display results processed by a server.
Thick/Fat client
Runs its own applications and only relies on a server for data storage. It is more expensive than a thin client as it needs a faster processor and more resources such as memory.
Security Issues
Malware infections (e.g. viruses, Trojan horses, spyware).
Automated Denial of Service (DOS) attacks.
Manual attacks by hackers (e.g. code injection).
Unauthorised distribution of data by malicious employees.
Methods of Avoiding Security Issues
Using strong firewalls.
Using malware scanning tools on incoming network traffic.
Implementing strict security policies and practices.
Limiting network access to only where it is necessary.
Privacy issues
An ethical issue. Leaking of user information by attackers.
Accidentally sharing information with more people than intended.
Companies collecting data on employees.
Identity theft.
Censorship
An ethical issue. Some of the information may be deemed inappropriate by the company administration, or government networks may set up firewalls to block traffic bound for certain destinations.
Addiction
A social issue. It may be a catalyst for an unhealthy lifestyle. Interpersonal social skills might deteriorate because people spend too much time on social networks.
Dependency
A social issue. Network failure may literally mean business failure. Organisations are becoming more affected by the possible threats of networks.
Stakeholders
A person, group, or organisation that is actively involved in a project, is affected by its outcome, or can influence its outcome.
Project leader.
Project team members.
Upper management.
Developers.
Testers.
End users.
Defining a Problem
What kind of output should be produced?
Where will the input data come from and who will it be entered and validated?
Should computers be used at all?
Should standard software packages be sued?
Who will have responsibility for the input, processing, and output of the system?
Interviews
In-depth data collection through consultation of different stakeholders.
Questionnaires
A larger process of data collection from a wide range of stakeholders, though less flexibility and depth than an interview.
Existing Literature
Used to compare the system requirements and functionality with other turn-key systems.
Turn-key system
A computer system that has already been developed. They include all the hardware and software necessary for the system.
Advantages/Disadvantages of Interview
Advantage - More detailed data can be gathered compared to a questionnaire. Interesting topics can be pursued.
Disadvantage - Time consuming, not easy to classify or quantify qualitative data. It is costly.
Advantages/Disadvantages of Questionnaire
Advantage - Many people can be reached quickly. Results can be analysed with numerical methods.
Disadvantage - People may not respond, questions cannot be clarified as they can be in an interview. Biased questions and untruthful answers. Time-consuming.
Advantages/Disadvantages of Existing Study, System Documentation
Advantage - The data required to be input and the outputs produced can be identified.
Disadvantage - The documents may not tell the whole story without the people that use them.
Exclusion of End User
Poorly defined requirements - The opportunity to get feedback on what the product needs to accomplish is lost. The requirements may not be well defined.
Lack of buy-in - End users will not be invested in the solution, and can lead to a negative reaction and loss of business.
Errors/modifications are not identified - Later on, the system may have to undergo major changes.
Misuse of Information/Data Privacy
An ethical issue. Electronic systems and data collection reach into all levels of government, businesses, and personal lives. Companies with access to this data have a distinct advantage when competing in the market place.
System Development Life-Cycle (SDLC)
Composed of a number of clearly defined and distinct work phases that are used by system developers to plan for, design, build, test, and deliver systems.
Stage 1: Requirement Analysis
System Development Life Cycle 1. This is the planning stage:
Defining criteria for success.
Gathering information.
Defining scope.
Defining inputs and outputs.
Stage 2: System Design
System Development Life Cycle 2. This is where data models, prototype designs and testing plans are developed. A more detailed feasibility report can be produced at this stage, including a cost-benefit analysis.
Stage 3: Implementation
System Development Life Cycle 3. The process of creating the system. This is the coding phase.
Stage 4: Testing and Installation
System Development Life Cycle 4. This is where the tests planned during the design phase are applied to check that the system works correctly.
Stage 5: Evolution and Maintenance
System Development Life Cycle 5. Small changes may be able to be handles with maintenance (patches or minor updates for software systems). Larger changes caused by internal or external factors might redefine the requirements of a system.
Agile System Development (ASD)
An iterative development process that emphasises close collaboration between the development team and system users throughout the development of a system. It promotes:
Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change of following a plan.
Software is seen as an organism!