Week 3 Flashcards
What is software?
A set of instructions that tell tell the hardware what to do. Created through the process of programming.
What are challenges that can be solved by operating systems?
- Disk fragmentation;
- Limited memory;
- Concurrent processes;
- Compatability;
What are distinctions within application software?
- Funtional Perspective
- Hierarchical perspective
- User perspective
- Data perspective
What is meant by distinction functional perspective?
Divide them based on the function they have, for example for marketing or for logistics
What is meant by the distinction hierarchical perspective?
- Divde them in software that is used for operational purposes or for managerial purposes or strategic purposes
What is meant by the distninction user perspective
Divide them in terms of what kind of users are using the platform
What is meant by the data perspective?
Data is core of information systems. So you divide the applications based on what the data is used for. Handling the present (transactions) or preparing for the future (analytics) or remembering the past (data warehouses)
What is cloud computing?
- Use of internet for pooling IT resources.
- There is dynamic IT resource use and payment (so you give up your own IT center and use external parties for it).
- You pay for what you actually use;
- Virtualization and GRID
- Can be public or pricate
What is virtualization
A server can run a 1000 users at the same time as they virtualize machines (so not real machines, but virtualized)
What is GRID?
A thousand machines acting as one machine to improve performance
What are three types of cloud computing?
- Software as a service (SaaS)
- Platform as a service (PaaS)
- Infrastructure as a service (IaaS)
- > in practice often combinations
What is SaaS ?
Often what users see. So an application in the cloud. THink about your email
What is PaaS?
Specically for developers. Like amazon webservices, provides a complete environment for development purposes
What is IaaS?
Often for IT managers. Only gives you an basic structure, like a windows envirnment. You use it to run your own applications on top of it.
What are advantages of Cloud Computing?
- You don’t have to store software yourself
- Available from every computer with internet access
- Large quantities of users can use it
- Services can be leased for as-need basis
- Your information is backed up externally
- New applications run and install quicky
What are disadvantages of Cloud Computing?
- Information is stored at a server of someone else.
- Must have internet access
- Relying on third party
What are the economic advantages of cloud computing?
- Low entry barriers
- Scalability
- Innovation is done for you
- Reduction of capital expenses and overhead
What is open source software?
The source code is visible for the users and they can edit/modify it.
- Typically by programmer communities
- Typically free, but not necesarilly
What is an advantage of Open source software?
- It is usually cheaper;
- Might be a big community that can help you if you are having problems
- Users can be used to make improvements
What is an disadvantage of open source software?
- There is no provider that is responsible for it if you have problems
What is the business model of open source software?
- TO an extent it is for fun by hackers and programmers, so no business model;
- Some companies focus on open source, so when they gain a lot of users these users might need consultancy services or machines
What is modularization?
- Breaking programs up in parts so that a large program is easier to read and debug;
- It enables that parts of the program can be used in other programs
What are the key ideas of modularization?
- Breaking up the program in parts that have a well-designed interface;
- Interface hides the internal structure of the module;
- The interface gives guidance on how to use that module;
- Interface is a stable reference point on how to evolve both the interface as the internal structure;
What is the most important modularization paradigm?
- Object-oriented programming
- > with service-orientation as an extension
What is object-oriented programming?
- Giving structure to a program so that properties and behaviours are bundled into objects;
- Model concrete, real-life things (cars, relations, employees) into software objects.
- Real world objects are the center in the programming (the grouping criterion) and in the overall structure of the program.
What are the key items in object oriented programming?
- Class -> category/object
- instance -> what or who belongs to a class
- inheritance -> a subclass having all the properties of a class (but can have more)
What is procedural programming?
- Structuring your program like a recipe, providing steps in the form of code blocks that carry out tasks to complete a task.