theory lectures Flashcards
Process Business Model
every department, at different levels, can have information flows with other departments.
Richard Stallman
one of the guru’s of open source.
Give Me Credit licenses
indicate that credit needs to be given when the software is used. if you improve a software you need to give credit to the original creator but you can commercialise it.
Give Me Everything licenses
cannot be commercialised. credit needs to be given for everything.
Open.Office
a project with the aim to reduce Office’s dominant market share.
Linux/Ubuntu
a term given to several operating systems using the Linux code as a foundation.
prototyping
creating prototypes of software applications, ie. incomplete versions of the software program being developed. a prototype simulates only a few aspects and may be different from the final product.
Incremental Build model
the model is designed, implemented, and tested incrementally, meaning a little more is added each time. it is finished when it satisfies all requirements. it combines elements of the waterfall and the iterative philosophy of prototyping.
iterative and incremental development
any combination of both the iterative design and incremental build model. this can be illustrated in a loop. you can go back through the loop.
spiral model
it combines features of prototyping and the waterfall model. it is intended for large, expensive, and complicated projects. it has advantages of both top-down and bottom-up concepts. you start in the middle of the spiral and build outwards.
Rational Unified Process (RUP)
an iterative software development process framework. RUP tried to make software development more structured. It is not a concrete prescriptive process but an adaptable framework, intended to be tailored by the development organisations. You are expected to select elements of the process that are appropriate.
agile
a group of software development methods based on iterative and incremental development. it also focuses on working with the customer.
Scrum
an iterative and incremental agile software development network. it is a flexible, holistic product development strategy. the development team works as an atomic unit, opposing the sequential approach. the idea is to have something to show your client after 2-4 weeks. they ask customers for “stories” when talking about what they want.
product backlog
keeps track of what was done and what needs to be done.
sprint backlog
tells you what needs to be done, but in a sprint. a sprint is a 2-to-4 week cycle.
stand up meeting
usually the form a daily scrum meeting takes. the idea is to move away from the corporate idea of a meeting.
burn down chart
a chart used to keep track of progress. it has total effort on the y-axis and time on the x-axis.
burn up chart
a chart used to keep track of progress. it has story points on the y-axis and time on the x-axis. you can estimate how much time you might need to finish all the story points.
Extreme programming (XP)
has aspects of Scrum. it improves software quality and responsiveness to changing customer requirements. it involves frequent “releases” in short development cycles and introduces checkpoints where new customer requirements can be adopted.
pair programming
programming with two people.
Test-driven development (IDD)
relies on the repetition of a very short development cycle. First, the developer writed an automated test case that defines a desired improvement or new function. then, produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.
Database Management Software (DBMS)
Structured Query Language (SQL)
a non-procedural language. SQL runs in DBMS. it can be embedded into Python and is used for a relational database.
entity
a business object that represents a group, or a category of data. eg. customers, accounts, bank branch.