Is software engineering applicable when Web-Apps are built? If so, how might it be modified to accommodate the unique characteristics of Web-Apps?
Yes, in my opinion, software engineering is relevant while developing Web applications since it has a significant impact on all of the phases of the software development lifecycle, including planning, modeling, building, and deployment. The success of a web application is ultimately determined by its design and usability.
Planning to develop new web applications, renovating or updating current online applications, building web applications, and figuring out how to release web applications to the public all need the use of software engineering. One of many diverse software categories is web-apps. Availability is one of the primary changes that online applications require. Popular web applications frequently get demands from users all across the world for 24/7 access. The ongoing evolution of web applications is another distinctive feature. Back in September 1999, Amazon introduced a brand-new web-apps feature called one click, which was designed to allow customers to enter their billing, shipping, and payment information only once before continuing to make purchases by clicking a button (Azadbakht, E., & Schultz, T. 2020). The management team and the software engineering team had all been informed on the communication, planning, modeling, development, and deployment of the new web application feature that makes the ordering process frictionless and helps customers purchase things with the least amount of effort.
Therefore, I think a technique for creating web apps should specifically emphasize the software engineering process. Web-based software systems are the same as conventional software systems in theory. However, as web-based applications entail more extensive user interactions than conventional systems, the design of the user interface is of utmost significance. As a result, user interfaces need to be more aesthetically appealing with the right amount of text, graphic information, and multimedia capabilities.
Describe a process framework in your own words. When we say that framework activities are applicable to all projects, does this mean that the same work tasks are applied for all projects, regardless of size and complexity? Explain.
Organizing processes into categories that are correctly connected is done using a process framework. The idea of value chains serves as the foundation for these categories in the majority of process frameworks. Organizations may standardize their approach to a variety of essential process-related activities, such as process and content management, improvement, and benchmarking, by utilizing a uniform language to identify all tasks. Without such a well considered pre-defined set of processes, various business units within a single company may interpret the units of work differently, undermining any prospect of managing processes consistently throughout an organization.
The same work activities are used for all projects, regardless of their size or complexity, because the process framework is relevant to all of them. To develop a process framework, which provides a strategy for the subsequent software engineering work, extensive engagement with the client is required to gather requirements (Bellos, I., & Kavadias, S. 2021). It entails building, which includes code generation and error testing, in order to create models that will help the developer and the client understand the requirements and design them. Ultimately, depending on the evaluation, it offers feedback.
Azadbakht, E., & Schultz, T. (2020). At the click of a button: Assessing the user experience of open access finding tools. Information Technology and Libraries, 39(2), 1-13. https://doi.org/10.6017/ital.v39i2.12041
Bellos, I., & Kavadias, S. (2021). Service design for a holistic customer experience: A process framework. Management Science, 67(3), 1718-1736. https://doi.org/10.1287/mnsc.2020.3609
Total quality management (TQM) is a management system adopted by customer-focused organizations to improve customer satisfaction and quality control of their product or services. TQM is applied globally in almost every type of business. The software industry is no exception for quality control. As the text describes software engineering is a layered technology that takes the TQM as a base principle and develops processes and methods over the principles (Pressman, 2020). As a CIO, I should not compromise on the software applications that I and my team produce. To keep the software engineering team, adhere to producing a quality product, TQM implementation is key. The following are key principles of TQM found based on my research over the internet (What is Total Quality Management (TQM)? n.d.).
- Total employee involvement
- Integrate system
- A strategic and systematic approach
- Continual improvement
- Fact-base decision making
Building web apps also fall on software engineering, it follows the same methods, process, and quality control as software engineering. Web apps can be built and deployed to the internet which can be accessible by everyone on the internet using a web browser installed on the computer. Web applications are a bit different than other software products that you install on a personal computer or Main frame computer like decades ago when an authorized user can only access them. The web application runs on the server, and access through the internet, which brings a bit different from traditional software applications in terms of delivery and security. While building the web application, it must follow the same process and quality measures to produce a successful web application. Easy delivery of the web application to the end users and centralized deployment to a server that an enterprise has control over make it a very popular platform for many enterprises. It has shifted to cloud development in recent days which uses the internet for delivering and deploying software applications (Krintz, 2013). Web applications can be continuously enhanced and updated as needed to the web servers making the changes available to the users right away. Intranet web applications are being built to use inside an enterprise network due to the accessibility, delivery, and maintainability attributes of web application architecture. To build such an application, it should follow the process, model, and quality control of traditional software engineering to satisfy the need of business users and their demands. Hence software engineering processes apply to web application development as well.
A process framework is a set of foundational activities to build software applications. Process framework applies to all types of software projects regardless of size and complexity. Before starting building a software application, the following five basic activities should follow Communication, Planning, Modeling, Construction, and Deployment. Communication is an important step for a software project, it requires to gather what the objectives of the software from the customer or stakeholders to define the functionalities of the application. Once the requirements are gathered from the stakeholders, a software project plan should be created which will consist of technical tasks, required resources, the final product to be produced, and a work schedule (Pressman, 2020). An architectural diagram should be created as modeling to understand the application and data flow visually. An architectural diagram can be used as a blueprint while building the software. Actual coding will take place during the Construction phase. Testing the application also happens during the construction and any errors should be fixed in this phase. Once the application is tested and ready, it will be delivered to the customers to be evaluated or used for business. All software projects go through the five activities regardless of size and complexity at least once. If the project is small, it may be completed in one iteration but a larger project can be done in multiple iterations consisting same five activities.
Krintz, C. (2013). The AppScale cloud platform: Enabling portable, scalable web application deployment. IEEE Internet Computing, 17(2), 72-75. https://doi.org/10.1109/MIC.2013.38
Pressman, R. S., Maxim, B. R. (2020). Software engineering: A practitioner’s approach. McGraw Hill.
What is Total Quality Management (TQM)? (n.d.). ASQ. https://asq.org/quality-resources/total-quality-management