CIS 518 Discussion 1 and 2 Response
Week 10 Discussion 1:
Respond to the colleagues posts regarding the following
“Software Engineering Models and Methods” Please respond to the following:
• From the e-Activity, select two types of software engineering models. Explain how they are used to help engineers define, design, and develop software systems.
• From the e-Activity, describe two methods of software engineering and identify situations where these methods should be applied.
NM’s post states the following:
Software models are an abstraction of the process that can be used to explain different approaches to software development (Satzinger, Jackson, & Burd, 2016).
The first model is the waterfall model. It is a sequential approach where each fundamental activity of a process represented as a separate phase arranged in linear order (Elgabry, 2017). This model help engineer defines a detailed plan, and the design is thoroughly specified. Then the software is developed, programmed, tested, and installed.
The second model is the agile model based on the incremental and iterative approach, in which the increment is small, and typically new releases of the system are created and made readily available for customers (Satzinger et al., 2016).
This model helps the engineer to define an effective way to approach software development (Satzinger et al., 2016). The model allows the engineer to design flexible software, and the client has the opportunity to provide input (Satzinger et al., 2016). The concept of increment and iterative approach allows the engineer to develop a useful and quality software system.
The formal methods are software engineering methods used to specify, develop, and verify the software through the application of a rigorous mathematically based on notation and language (Swebok, n.d.). Formal methods are used during the software specification, requirement analysis, and design stages to describe specific input/output behavior (Swebok, n.d.).
The second method is the software prototyping method that is an activity generally creates an incomplete or minimally functional version of a software application (Swebok, n.d.). This method used to be evaluated and test against the implemented software or a target set of requirements (Swebok, n.d.).
References:
Satzinger, J.W., Jackson, R., & Burd, S.D. (2016). Systems Analysis and Design in a Changing World (7th ed.). Cengage Learning / Course Technology.
Elgabry, O. (2017, May 17). Software Engineering—Software Process and Software Process Model. Retrieved from https://medium.com/omarelgabrys-blog/software-engineering-software-process-and-software-process-models-part-2-4a9d06213fdc
Swebok. (n.d.). Chapter 9: Software Engineering Models. Retrieved from http://swebokwiki.org/Chapter_9:_Software_Engineering_Models
Week 10 Discussion 2:
Respond to the colleagues posts regarding the following
“Ethics in Software Engineering” Please respond to the following:
• As a software engineer at a large security firm, you have been asked to develop a software program that will allow senior staff the ability to access personal details of individuals who are considered high security risks. While the information that is being accessed is a clear violation of personal privacy, it is also very likely that knowing this information will prevent a crime from occurring in the near future. Determine the factors that you would have to consider before deciding to accept or decline the project, and provide a justification to as to why you would or would not accept the project.
• Suppose you deemed a project you are working on to be outside of your ethical boundaries. Determine the factors you would consider when deciding whether to report your concerns to the proper authorities, the Better Business Bureau, or potential victims, or even resign from your position.
JR’s post states the following:
Humans are one of the largest threats to security (Spadafora, 2019). With being said I would ask the following questions.
• How many computers are transferring information?
• Who are the employees that are entering/reviewing/accessing information and what’s the location they’re accessing the data?
• What information will be revealed and to what level?
I would also conduct some research familiarize myself with the current rules and regulations regarding this type of matter and proceed accordingly. I think I would limit the amount of information the staff would be able to see, possibly add some type of filter so that they only can assess information that will negatively impact the business.
If I felt like something was unethical, I would look at elements such as who/what is being impacted, the severity of the situation, and the pros/cons of the project. I would contemplate does the unethical behavior outweigh the bottom line. If I conclude the project is unethical, I would reach out to the client discuss my concerns and develop a plan to address the issues. If the client is willingly to adhere to my changes then I would proceed accordingly. If the client does not agree I would have to excuse myself from the project.
Reference
https://www.techradar.com/news/people-are-still-the-biggest-security-threat