1. Software development is a complex task, especially as technology changes at the speed of light, environments evolve, and more expectations are placed upon vendors who want to be competitive within the software market. This complexity also makes implementing security more challenging. Given this environment, what suggestions for secure software development best practices would you suggest to improve software security?
2. In addition to application development, databases are another area that needs to have a focus on security within their design. Describe the database concepts of View-based access control, Polyinstantiation, Data warehousing and data mining, and Online Transaction Processing (OLTP)?
3. In a database, to control security, lock controls are implemented and tested using the ACID test. Explain the following terms for each letter within the ACID method: Atomicity, Consistency, Isolation, Durability.
4. What are some security concerns when using mobile code?
5. Explain the following terms: boot sector virus, meme virus, stealth virus, multipartite, macro virus, script virus, and tunneling virus
6. What is object oriented programming and what benefits does it provide. Define encapsulation, abstraction and polymorphism.
7. Compare three of the following development methodologies: Break and Fix, Waterfall, V-Model, Prototyping, Incremental, Spiral, Rapid Application Development, and Agile.
8. Compare the concepts of due care and due diligence when assessing liability. Describe the “why” behind a crime in terms of motive, opportunity, and means.