Content in Brief Flashcards
Reliance on software - responsibility of (industry) accurately
The software development industry has a responsibility to ensure all systems are reliable and perform their various functions accurately
Intellectual property
Property resulting from the fruits of mental labour
Acknowledging the intellectual property of others (right)
All people and companies involved in the original creation of the software package are authors and have intellectual property rights in regard to their particular original contribution.
Recognition by others of the developer’s Intellectual property
Publishers of software products have a responsibility to ensure the intellectual property rights of all authors involved in the creation of the final product are acknowledged and compensated
Producing quality software solutions
The final quality of a software development project is an important responsibility for all software developers.
External factors affecting quality - hardware responsibility
The operating system creators have a responsibility to ensure that specifications are published and accurate and that the operating systems perform correctly
Neither generating nor transmitting malware
Software developers have a responsibility
to ensure their products do not contain malware. To make sure this is the case they should check any new data and software being added to their computers for viruses
Inclusivity responsibility
Software developers have a responsibility that software is accessible to all people regardless of their culture, economics, gender or disability
Factors to consider to ensure inclusivity (RECGD)
- Religion
- Economics
- Cultural background
- Gender
- Disability
Commercial software (x5)
Copyright, copying, modifications, RE, package
- Covered by copyright
- One archival copy may be made for use only if the original fails
- Modifications to the software are not permitted
- Reverse engineering and decompilation are not permitted
- Use of the work as part of another package is not allowed without permission
Shareware (x5)
Copyright, copying, modifications, RE, package
- Covered by copyright
- Copies can be made for archival or distribution purposes
- Modifications to the software are not permitted
- Reverse engineering and decompilation are not allowed
- Use of the work as part of another package is→not allowed without permission
Public domain (x5)
Copyright, copying, modifications, RE, package
- Copyright has been relinquished
- Copies can be made with no restrictions
- Modifications to the software are allowable
- Decompilation is allowed
- Developing new works based on the product is allowed without restriction
Open source (x5) (CASFE)
Code, copying, distribution, modifications, examples
- Code is developed collaboratively; this encourages collaboration and sharing of ideas without fear of legal challenge
- Available to everyone to modify and redistribute, but modified products must be released using the same unrestricted open source license
- Software distributed under an open source license can be installed and used without restriction
- Freedom to use, change, and share changes of the software
- Examples include Linux OS, the MySQL database management system, Apache web server, and programming languages such as Java, PHP and Perl
Decompilations
Decompilation
Translating machine executable code into a higher-level code (usually assembler).
Structured approach characteristics (x3)
- There is a distinct start and finish
- Characterised by distinct formal stages
- Generally used for large-scale projects where performance and reliability are vital requirements
Agile approach characteristics (x2)
- Responds well to changing specifications; specifications are encouraged to change and evolve
- Basic functionality is included initially so operational software can be released as soon as possible
Evolutionary & concept prototypes
Evolutionary - used to assist in the formulation of requirements
Concept prototypes - produced to assist in the determination of requirements, they are then discarded
RAD characteristics (x3)
- Creates a usable software solution in the shortest time possible at the lowest possible cost to the client
- Lacks formal stages
- Uses existing modules
End user characteristics (x3)
- They usually have little to no experience in programming or software development
- Use of standard software packages
CASE tools def
Tools used to assist and coordinate the activities involved in the process of software development
CASE tools examples (x3)
- Simple drawing programs
- Text processors
- Analysis tools
Direct cut over
Involves the old system being completely dropped and the new system being completely installed at the same time
Parallel
Involves operating both systems together for a period. This allows any major problems with the new system to be encountered and corrected without the loss of data
Phased
Involves a gradual introduction of the new system whilst the old system is progressively discarded. This can be achieved by introducing new parts of the new product one at a time while the older parts being replaced are removed
Pilot (x2)
- The new system is installed for a small number of users . These users learn, use and evaluate the new system
- Once the new system is deemed to be performing satisfactorily then the system is installed for a small number of users