Please respond to the following:
LG’s post states the following:
“When Problem Decomposition is not Easy”
Consider the development of a simple mobile application that displays personal financial management video clips selected from a central repository. Discuss how you would systematically analyse the requirements of this application and identify its problem components.
Using a spiral process of stakeholder engagement which includes understanding the business objectives or needs the application is to provide. Next, looking at the requirements gathering process, whereby sitting with the stakeholders and customers to define those needs, understanding the assumptions and constraints, expectations, and coming up with a conceptual model both from a business and system design.
Using the model as a base, the requirements will be developed into a high-level requirement set, where they are broken into the logical grouping, such as business, user, functional, non-functional, and transitional segments. Next, the requirements will be viewed with the stakeholders and customers, to address priority, need vs. want, and addressing any ambiguous requirements to gain clarity for completeness.
Explain how software engineering would help you identify the components and their interconnections.
Software engineering helps identify the components and their interconnections because the approach requires identification of components such as hardware, software, users, tasks, and databases, amongst other pieces to be determined and understand how each will interact with the others.
Some boundaries must be known that similar to the scope of a project to help provide a context on what is in or out. It includes things like the activities that will be performed and the entities associated with the activities. Understanding these provide the developers in the design and development process.
For example, the above mention contextual design or model can be used or provide a reference to things like architectural design, displaying these components and interconnections on paper (or visual drawing) to help articulate the boundaries, activities, and entities for the system.
Phleeger, S. L., Atlee, J. M. (2009-02-01). Software Engineering: Theory and Practice, 4th Edition [VitalSource Bookshelf version]. Retrieved from vbk://9781323089309
Pochimcherla, A., Pochimcherlahttp, A., & Pochimcherla, A. (2018, January 26). Computer science basics – Decomposition – break a problem into smaller. Retrieved from http://steamism.com/compsci-decomposition/.
SP’s post states the following:
“When Problem Decomposition is not Easy” Please respond to the following: Consider the development of a simple mobile application that displays personal financial management video clips selected from a central repository. Discuss how you would systematically analyze the requirements of this application and identify its problem components.
In some cases, customers prefer to have an automated system rather than one that is manual. Taking this route would be good for production since this is one less task that they are required to do. Another circumstance may be that a customer prefers a system to do something that is unique that will tailor to their own needs.
Regardless of the function, the system will have a purpose with a goal in mind (Pfleefer & Atlee, 2010). The requirement is what is desired by the customer (Pfleefer & Atlee, 2010). Since the requirements deal directly with objects and entities, functions are created to change the state of the characteristics (Pfleefer & Atlee, 2010).
Since the mobile application displays financial management video clips selected from a repository, one of the ideal requirements would be how often the videos are pulled from the central repository. Another questionable requirement would be what time of day are the videos delivered. Also, what storage space would need to be identified since many videos will be available.
How long should the videos be available? Would these videos be available on the internet or would it only be available on the intranet? All of these concerns are specific functions that are required to meet the goal of the system. Key entities would place limitations and define relations among users (Pfleefer & Atlee, 2010).
For instance, one individual (or several individuals), may be authorized for uploading the initial videos, whereas other individuals may be limited to viewing the videos. Explain how software engineering would help you identify the components and their interconnections.
Software engineering would help identify the components and their interconnections by identifying characteristics that the software solution must carry. Characteristics such as high reliability, maintenance, fast response time, and design constraints.
Design constraints could hinder a solution and this would need to be identified. Another hindrance is process constraint, which could also limit the methods and resources that can be used to meet the end goal of the product (Pfleefer & Atlee, 2010). Reference: Pfleeger, S. L., & Atlee, J. M. (2012). Software Engineering Theory and Practice. Johanneshov: TPB.
Discussion 2 post responses.
Please respond to the following:
LG’s post states the following:
Commercial off the Shelf (COTS)” Please respond to the following:
From the e-Activity, describe at least two COTS packages that you identified through your research. Explain their purposes, the components they contain, and the kind of applications that could be developed using these COTS packages.
There are several COTS packages on the market for both small businesses, large corporations, and government. These packages have been widely used for the availability of standard processes that have built-in functionality and capabilities that can be integrated into the business for use. Many COTS packages are used for financial, data or office processing or computer utilities. Two examples of COTS packages are:
Consider a situation where you are working in the gaming industry as a software engineer and your company is pushing toward utilizing COTS software components. Your supervisor has asked you to develop a counter proposal outlining the reasons why all software development should stay in-house. Explain how you would justify using an in-house software development strategy over using COTS commercial components.
COTS solutions are useful resources for businesses to leverage a package that can perform routine tasks without having to develop an in-house solution for transactions that are common for most organisations. However, all COTS solutions are not ‘turn-key’ where everything works as soon as its installed and turned on.
COTS solutions may have interstices that may not work with the existing in-house systems; therefore, they will require additional work, such as interfaces or a manual workaround, to be considered for optimal performance. In addition to the development of one or more interfaces, or resulting in manual workarounds, other reasons to consider for using in-house software development strategy include:
References:
Custom Development vs. “Off the Shelf” COTS Software. (n.d.). Retrieved from https://www.winshuttle.com/blog/custom-development-vs-shelf-cots-software-2/.
Security Considerations in Managing COTS Software. (n.d.). Retrieved from https://www.us-cert.gov/bsi/articles/best-practices/legacy-systems/security-considerations-in-managing-cots-software.
NM’s post states the following:
From the e-Activity, describe at least two COTS packages that you identified through your research. Explain their purposes, the components they contain, and the kind of applications that could be developed using these COTS packages.
Commercial-off-the-shelf (COTS) is computer software products that are ready-made and are readily available for purchase in the commercial market (ResQSoft, n.d.). This includes antivirus (i.e. Norton Antivirus, McAfee) or computer utilities (i.e.word processor, database manager) it is designed to be used by users across the globe and very reliable.
Consider a situation where you are working in the gaming industry as a software engineer and your company is pushing toward utilising COTS software components. Your supervisor has asked you to develop a counter-proposal outlining the reasons why all software development should stay in-house. Explain how you would justify using an in-house software development strategy over using COTS commercial components.
Working with in-house products, the company will have more control in the gaming product. The requirement for the gaming product is defined, analysed, programmed, maintained, and developed using the firm’s resources.
The Off-the-shelf products can be purchased at a retail store, and the customer has to work with the package as it comes out of the box (Clydebuilt, 2012).
ResQSoft. (n.d.). The Basic of COTS Commercial-off-the-Shelf Software. Retrieved from https://www.resqsoft.com/basics-cots-%e2%80%93-commercial-off-the-shelf-software.html
Clydebuilt Business Solutions, Ltd. (2012). In-house vs. Off-the-Shelf. Retrieved from https://Inhouse-VS-Off-the-Shelf-May.pdf