Notes on Project Management, Databases, and Programming Languages
Chapter 9: Critical Path and Project Management
- Critical Path: Sequence of activities that determines the shortest time to complete a project.
- Colocation Center: A facility where multiple corporations lease space and equipment.
- Data Center: Specialized facility to protect computer systems and data.
- Application Development Tool:
- ERP (Enterprise Resource Planning): Suite of software modules integrating major business activities.
- Benefits: Improved performance, minimized overhead, increased productivity, better access, enhanced customer satisfaction, reduced costs/errors, increased profitability, reduced inventory costs.
Software Development Life Cycle (SDLC)
- Planning Phase:
- Assemble project team, justify project, choose methodology, develop schedule, produce development plan.
- Goal: Create a development plan to improve, innovate, or create products.
- Analysis Phase:
- Study current system, determine requirements, write requirements report.
- Goal: Produce list of requirements for new/revised system.
- Design Phase:
- Identify solutions, evaluate and select best solutions, select hardware/software, develop specifications, obtain approval.
- Goal: Create detailed specifications for the system.
- Implementation Phase:
- Supervise tasks for constructing the system, purchasing hardware/software, creating/testing applications, training users, converting data, initiating the system.
- Goal: Ensure comprehensive documentation for effective use and modification.
- Maintenance Phase:
- Daily operation, modifications for improvement, correcting problems.
- Goal: Continue until system is obsolete or not cost-effective.
- Feature Creep: Projects fail due to unmanaged demand for changes.
- JAD (Joint Application Design): Technique where end users and analysts collaborate as equal partners in system design.
- BI (Business Intelligence): Process to collect and analyze business data for decision making.
Chapter 10: Databases and Models
- Database Models:
- Hierarchical: One-to-one and one-to-many relationships in a tree structure.
- Network: Data represented as a graph with nodes and connections.
- Relational: Data stored in related tables.
- O-O: Object-oriented programming organizing design around objects.
- DBMS: Software that manages data in a database.
- Data Independence: Separation of data from the manipulating programs.
- Normalization: Minimizes redundancy and maximizes efficiency.
- Operational Database: Used for daily data tasks.
- Data Warehouse: Large stores of data used for management decisions.
- Big Data: Huge datasets that are hard to process with conventional tools.
- Hadoop: Open-source software for storing and processing large datasets.
- MapReduce: Programming model for accessing big data in Hadoop.
- Data Mining: Algorithms analyzing information for useful knowledge.
Chapter 11: Programming Languages and Structures
- High-Level Languages: Based on human languages, abstracting low-level instruction details.
- Low-Level Languages: Specific to CPU commands; includes 1st, 2nd, 3rd, 4th, and 5th generation languages.
- 1st Gen: Machine language.
- 2nd Gen: Assembly languages with symbolic instructions.
- 3rd Gen: Languages like C, involving easier command words.
- 4th Gen: More closely resemble human languages.
- 5th Gen: Declarative languages like Prolog.
- Programming Paradigms: Conceptualizing tasks; includes procedural, object-oriented, declarative.
- Variables: Represent changeable values.
- Constants: Unchangeable values throughout the program.
- Syntax Error: Occurs when instructions violate language rules.
- Source Code: Human-readable program representation; Object Code: Output of the compiler.
Algorithms and Functionality
- API (Application Programming Interface): Set of routines for building software.
- Algorithm: Ordered steps for tasks.
- Pseudocode: Notational system for algorithms, less formal than actual programming.
- Control Structures:
- Selection: Based on true or false conditions.
- Repetition: Repeating instructions until a condition is met.
- Sequence: Changing order of execution.
- Class: Template for object groups sharing characteristics.
- Object: Represents a real-world entity.
- Inheritance: Passing traits from one class to others.
- Polymorphism: Allows methods to be redefined in subclasses.
- Encapsulation: Hiding details of objects for simpler use.