bourgeois chapter 10 Flashcards
(40 cards)
programming
the process of creating a set of logical instructions for a digital device to follow using a programming language, also called coding because not everyone can understand it.
Systems-Development Life Cycle (SDLC)
a very structured and risk-averse methodology designed to manage large projects that include multiple programmers and systems that would have a large impact on the organisation. it is criticised for being inflexible. it is built on the waterfall methodology.
waterfall methodology
only when one step is completed can another step begin and changes to the requirements are not allowed once the process has begun.
preliminary analysis (SDLC)
create a review of the request. a key part is a feasibility analysis (technical, economic, legal) to decide if the project should start at all.
system analysis (SDLC)
analysts and stakeholders work together to determine the specific requirements for the system. it creates an overview of what the system is supposed to do, but does not include programming. the result is a system-requirements document.
system design (SDLC)
a designer takes the system-requirements document and develops the specific technical details required for the system to create designs for the user interface, database, data inputs/outputs and reporting. the result is a system-design document.
programming (SDLC)
the code gets written. the result is an initial working program.
testing (SDLC)
the developed software is put through a series of structured tests, eg. unit test, system test, user-acceptance test. any errors get addressed.
implementation (SDLC)
the system gets implemented in the organisation. this phase includes training users, providing documentation, and conversion from the old to the new system.
maintenance (SDLC)
reported bugs are fixed and requests for new features are evaluated and implemented; system updates and backups are performed on a regular basis.
Rapid Application Development (RAD)
a software development methodology that focuses on quickly building a working model of the software, getting feedback from users, and then using that feedback to update the working model. the focus is on user participation and iteration.
requirements planning (RAD)
overall requirements for the system are defined, a team is identified, and feasibility is determined.
user design (RAD)
representatives of the users work with the system analysts, designers, and programmers to interactively create the design of the system.
joint application development (JAD) session
gets all of the stakeholders together to have a structured discussion about the design of the system.
construction (RAD)
application developers, working with the users, build the next version of the system. it is executed in parallel with User Design in an iterative fashion, until an acceptable version of the product is developed.
cutover
the system goes live.
agile methodologies
a group of methodologies that utilise incremental changes with a focus on quality and attention to detail. each increment is released in a specified period of time (time box), creating a regular release schedule with very specific objectives.
lean methodology
focuses on taking an initial idea and developing a MVP.
minimum viable product (MVP)
a working software application with just enough functionality to demonstrate the idea behind the project.
pivot
a change in strategy by rethinking the core idea behind the project and create a new MVP.
quality triangle
when developing software there is tension between developers and different stakeholder groups relating to time (how quickly can it be built), cost (how much money will be spent), and quality (how well it will be built). the triangle states that you can only address two. it helps with understanding tradeoffs when developing products and services.
machine code
first-generation programming language (low-level). it is done by directly setting actual ones and zeroes (the bits) in the program using binary code.
assembly language
second-generation programming language, which gives English-like phrases to the machine-code instructions.
third-generation language
more like a spoken language. most must be compiled, which is a process that converts them into machine code. eg. BASIC, C, Pascal, Java.