CIS 518 Discussion Response
See attached
There are two discussions here that need to be responded to thoroughly. Responses must be on APA format 150+words 1-2 legitimate verifiable sources per response.
Discussion post
“Prototyping” Please respond to the following:
· Give an example of a software system for which developing a prototype would result in saving a significant amount of development time. Explain why the prototype will save development time in this case.
· Give a different example of a software system for which developing a prototype would not result in saving a significant amount of development time. Explain why the prototype will not save development time.
LG’s post states the following:Top of Form
“Prototyping” Please respond to the following:
Give an example of a software system for which developing a prototype would result in saving a significant amount of development time. Explain why the prototype will save development time in this case.
The best example I could think about for a prototype of a software system is a cloud system. The reason I selected the cloud system based on some exposure in the development of a cloud solution for an organization I worked in. The conception of the cloud is not something brand new; however, the organization did not have a commercial cloud service available to its customers. The process started within the Innovation Team, where the team spent a short amount of time asking customers what type of business needs would cloud help them with. Those needs turn into a set of requirements, and then the team used that information to develop a prototype or shell of what the commercial cloud service would entail. Using agile and scrum, the team developed a minimal viable product (MVP) on what the solution would have to operate. The prototype was presented back to those customers to “test drive” and provide feedback where the prototype transform based on the feedback into a more robust solution. The team was able to recruit customers to help in building on the prototype base on their experience or interest. Now a time of five, with only two being a technical resource, ended up compromising on 10-12, allow for more investment, both funding and people, to expand the prototype into that robust system. Development work was able to be farmed out to more people so that resource-load would be more balanced between 10-12 versus 2. Experience levels also increased, allowing for more development work completed. As more interest came, the development process reduced due to the volume of developers. The development model was more advance as the development and user interaction was almost simultaneously since these users were now part of the overall team — the real-life experience help to shake out issues or errors before the final development was completed.
Overall,l prototyping is a great way to develop software. The ability to build, test,t and then rework real-time help with ensuring your product is viable early in the process. Having the minimal requirements and then build from there while the inclusion of the customers helps to achieve a final solutions that is able to be used sooner than later. I wast better than spending a lot of time collecting requirements only to learn that when you’re ready to build,d the requirements will have change. Prototyping is beneficial because your customers are part of the process,s and instead of waiting until the end, they are available to provide insight on the product development to help shape the product to meet their satisfaction. It included addressing functionality issues or errors early in the development process,s and it allows them to understand the functionality of how the system will support operations when implemented.
Give a different example of a software system for which developing a prototype would not result in saving a significant amount of development time. Explain why the prototype will not save development time.
The website for a new small business may not be a good fit with prototyping and saving development time. Small businesses have limited personnel,l, and those employees (users) usually are focused on running the business. Spending time to provide requirements,s and being part of a team to develop the site may not be available due to other work priorities. The business may not be able to invest the time and money to through the prototype process. If there are no users available, the prototyping process would be ineffective because the user is needed for requirements gathering or available to the development team to identify functionality errors.
References:
freeCodeCamp.org. (2017, September 26). To prototype or not to prototype: that is the question. Retrieved from
https://www.freecodecamp.org/news/to-prototype-or-not-to-prototype-that-is-the-question-2f85c8cde2b/
Rouse, M. (2019, September 9). What is the Prototyping Model? Retrieved from
https://searchcio.techtarget.com/definition/Prototyping-Model
JR’s post states the following:Top of Form
A prototype can help in a case where a hospital wanted to implement a new system. A prototype is a mock-up of the desired functionality of a system (Fairley, 2009). Creating a prototype can help in this case by showing which approaches are useful and which ones are a waste of time. The prototype can also help with finalizing requirements and showcasing which requirements aren’t necessary. A prototype in this case can give the hospital staff a real-life representation of what they would be using and be able to give their input accordingly.
I think in a situation where delivery of a product needs to be quick or funds are low, a prototype wouldn’t be beneficial. A prototype can be time consuming and sometimes costly. A prototype wouldn’t save time in this case because developers would have to create, develop, test and then wait to get feedback from users/involved parties.
Reference
Fairley, R. (2009). Managing and Leading Software Projects: Chichester, U. K.: WIiley
Discussion post
“
Architectural Styles” Please respond to the following:
·
Analyze two architectural styles of your choosing and, for each, give an example of a real-world application whose software design would benefit by incorporating your chosen style. Justify your response.
·
Evaluate the driving factors or conditions that affect the selection of an architectural style for a given open-source software application. Provide two examples of these conditions and how they help determine an application’s architectural style.
JR’s post states the following:Top of Form
Data centric style- a data store will be in the center of the architecture and accessed by other components that update, add, delete or modify the data present within the store (2008). I think this type of design would work best with organizations like Walmart and Amazon. This style is flexible and promotes integrability.
Layered style- divided style is divided into various horizontal layers and each layer has some specific function. It’s a beneficial style because different individuals/teams can work on different layers that they’re knowledgeable about and most efficient. I think this style would best for bank applications.
I think the budget and the client/users would affect the selected style. Depending on what type of budget is in place affects where the money is allocated to therefore selecting the most cost-effective options. The user/client affects the style because developers would have to select an option that would be most effective for the client and the end goal.
Reference
https://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/Data_Center/DC_Infra2_5/DCInfra_1.htm
NM’s post states the following:Top of Form
Architectural Styles” Please respond to the following:
Analyze two architectural styles of your choosing and, for each, give an example of a real-world application whose software design would benefit by incorporating your chosen style. Justify your response.
The architectural style is a particular pattern that focuses on the large-scale of a system. And it is about selecting, adapting, and integrating several architectural styles in ways that best produce the desired result (Pfleefer & Atlee, 2010).
Two architectural styles: Component-based and pipe-and-filter.
Component-base is a method of software development whereby systems are created by assembling preexisting components (Graca, 2017). Meaning it reduced design complexity in each part solves smaller problems. Component reuse—reuse algorithm and environment model in a web application. And unit testing—where it eliminates retesting for durable components and reduces the cost of verification. A web developer uses component-based to the created web application to be more composable and performant. And the server API is more application.
Pipe-and-filter—system functionality is achieved by passing input data through a sequence of data-transforming components called filters to produce output data (Graca, 2017). And pipes are connectors that simply transmit data from one filter to the next without modifying the data. The pipe-and-filter architecture inspired by the Unix technique of connecting the output of an application to the input of another via pipes on the shell (Oreilly, n.d.). The architecture consists of one or more data sources connected to data filters via pipes. Filters process the data they received by passing them to other filters in the pipeline (Oreilly, n.d.).
Evaluate the driving factors or conditions that affect the selection of an architectural style for a given open-source software application. Provide two examples of these conditions and how they help determine an application’s architectural style.
By design, the manager(s) is one of the driving factors that affect the selection of an architectural style, the resources needed (i.e., budget, support staff), and end-users needs in selecting the architectural style.
References:
Pfleeger, S. L., Altee, J. M. (2010). Software engineering: Theory and practice (4th ed.). Upper Saddle River, New Jersey: Prentice Hall.
Graca, H. (2017, July 28). Architectural style vs. Architectural Patterns vs. Design Patterns. Retrieved from
Architectural Styles vs. Architectural Patterns vs. Design Patterns
Brereton, P., & Budgen, D. (2000). Component-based System: A Classification of Issues. Retrieved from
https://dl.acm.org/doi/10.1109/2.881695
d
Oreilly. (n.d.). Pipe and Filter Architecture. Retrieved from
https://www.oreilly.com/library/view/software-architecture-with/9781786468529/ch08s04.html