Domain 8 Flashcards
Programming Languages and Generations:
▪ 1st generation: Machine Code
▪ 2nd Generation: Assembler
▪ 3rd Generation: Cobol, basic, C, C++, C#, Java, JavaScript,…
▪ 4th Generation: ColdFusion, Progress 4GL, SQL, PHP, Perl,…
Waterfall
Manifesto for Agile Software Development:
What is valued in the manifesto:
▫ Individuals and Interactions more than processes and tools.
▫ Working Software more than comprehensive documentation.
▫ Customer Collaboration more than contract negotiation.
▫ Responding to Change more than following a plan.
The twelve principles in the manifesto:
- Customer satisfaction by early and continuous delivery of valuable software.
- Welcome changing requirements, even in late development.
- Working software is delivered frequently (weeks rather than months).
- Close, daily cooperation between business people and developers.
- Projects are built around motivated individuals, who should be trusted.
- Face-to-face conversation is the best form of communication (co-location).
- Working software is the primary measure of progress.
- Sustainable development, able to maintain a constant pace.
- Continuous attention to technical excellence and good design.
- Simplicity—the art of maximizing the amount of work not done—is essential.
- Best architectures, requirements, and designs emerge from self-organizing teams.
- Regularly, the team reflects on how to become more effective, and adjusts accordingly.
Agile Software Development: cycle
SDLC (Software Development Life Cycle):
Referential integrity:
When every foreign key in a secondary table matches a primary key in the parent table.
⬧ It is broken if not all foreign keys match the primary key.
Semantic integrity:
Each attribute value is consistent with the attribute data type.
Entity integrity:
Each tuple (row) has a unique primary value that is not null.
Data Definition Language (DDL):
⬧ A standard for commands that define the different structures in a database.
⬧ Creates, modifies, and removes database objects such as tables, indexes, and users.
⬧ Common DDL statements are CREATE, ALTER, and DROP.
⬧ A standard for commands that define the different structures in a database.
⬧ Creates, modifies, and removes database objects such as tables, indexes, and users.
⬧ Common DDL statements are CREATE, ALTER, and DROP.
⬧ Used for selecting, inserting, deleting and updating data in a database.
⬧ Common DML statements are SELECT, DELETE, INSERT, UPDATE.
Coupling:
▪ The degree of interdependence between software modules, a measure of how closely connected two routines or modules are.
• Cohesion:
▪ Refers to the degree to which the elements inside a module belong together. ▪ Measures the strength of relationship between pieces of functionality within a given module. ▪ In highly cohesive systems functionality is strongly related.
• ORB (Object Request Broker):
▪ Middleware which allows program calls to be made from one computer to another via a network, providing location transparency through remote procedure calls.
▪ ORBs promote interoperability of distributed object systems, enabling such systems to be built by piecing together objects from different vendors, while different parts communicate with each other via the ORB.
DCOM (Distributed COM):
⬧ The networked sequel to COM which adds to support communication among objects on different computers—on a LAN, a WAN, or even the Internet.
CORBA (Common Object Request Broker Architecture):
⬧ Open vendor neutral ORB standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms.
⬧ Enables collaboration between systems on different operating systems, programming languages, and computing hardware.
OOAD (Object-Oriented Analysis and Design):
Iteration after iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively, will be refined and evolve continuously driven by key factors like risks and business value.
OOA (Object-Oriented Analysis):
⬧ Creates a model of the system’s functional requirements that is independent of implementation constraints.
⬧ Organizes requirements around objects, which integrate both behaviors (processes) and states (data)
OOD (Object-Oriented Design):
⬧ The developer applies the constraints to the conceptual model produced in object-oriented analysis.
⬧ Such constraints could include the hardware and software platforms, the performance requirements, persistent storage and transaction, usability of the system, and limitations imposed by budgets and time.
OOM (Object-Oriented Modeling):
⬧ Common approach to modeling applications, systems, and business domains by using the object-oriented paradigm throughout the entire development life cycles.
⬧ Heavily used by both