IntroductionSoftware development life cycle SDLC is the process of determining how an information system can support business needs, design thesystem, build and deliver the system to the
Introduction
Software development life cycle (SDLC) is the process of determining how an information system can support business needs, design the system, build and deliver the system to the users It is a framework that has a set of tasks to be performed at each stage in the software development process It is a process of giving a complete idea of the development, design and maintenance of a software project by providing that all the functionality along with the requirements, goals and final goals of the software project users are all addressed together With SDLC, the quality of the software project and the overall software development process is enhanced If you've taken a coding class or have programmed yourself, this sounds simple enough However, in the real world, it's not so easy Therefore, I will introduce clearly the importance of SDLC.
Describe two iterative and two sequential software lifecycle models (P1)
Definition of Software Development Life Cycle (SDLC)
The Software Development Life Cycle (SDLC) is a process that produces software with the highest quality and lowest cost in the shortest time possible SDLC provides a well-structured flow of phases that help an organization to quickly produce high-quality software which is well-tested and ready for production use
The SDLC involves six phases as explained in the introduction Popular SDLC models include the waterfall model, spiral model, and Agile model.
Waterfall Model is a sequential version that divides software program improvement into pre-described phases Each segment has to be finished earlier than the subsequent segment can start and not using an overlap among the phases Each segment is designed for appearing particular pastime all through the SDLC segment It turned into added in 1970 with the aid of using WinstonRoyce.
PHUNG HUU MINH KHANH GDD210033 6
Different Phases of Waterfall Model in Software Engineering
Different phases Activities performed in each stage
Requirement Gathering stage In this phase, detailed requirements of the software system to be developed are collected from the customer.
Design Stage Plan the programming language, for Example Java PHP, , net.
Or database like Oracle, MySQL, etc.
Or other high-level technical details of the project.
Built Stage After design stage, it is built stage, that is nothing but coding the software.
Test Stage During this phase, you test the software to verify that it is built to the specifications given by the customer.
Deployment stage Deploy the application in the respective environment
Maintenance stage Once your system is ready to use, you can then request changes to the code according to the customer's requirements.
PHUNG HUU MINH KHANH GDD210033 7
Table 1: Different Phases of Waterfall Model in Software Engineering.
When to use SDLC Waterfall Model:
Requirements are not changing frequently.
Application is not complicated and big.
Technology and tools used are not dynamic and is stable.
Resources are available and trained.
Before the next phase of development, each phase must be completed.
Suited for smaller projects where requirements are well defined.
They should perform quality assurance test (Verification and Validation) before completing each stage. Elaborate documentation is done at every phase of the software’s development cycle.
Project is completely dependent on project team with minimum client intervention.
Any changes in software are made during the process of the development.
Error can be fixed only during the phase.
It is not desirable for complex project where requirement changes frequently.
Testing period comes quite late in the developmental process.
Documentation occupies a lot of time of developers and testers.
Clients valuable feedback cannot be included with ongoing development phase.
Small changes or errors that arise in the completed software may cause a lot of problems.
PHUNG HUU MINH KHANH GDD210033 8
The spiral model is a risk-based software development process model It is a combination of waterfall model and iterative model. The Spiral Model helps to apply the software development elements of multiple process models to a software project based on the efficient development process of unique risk patterns.
Each phase of the spiral in software engineering begins with a design goal and ends with the customer reviewing progress The spiral model was first mentioned by Barry Boehm in his 1986 report.
PHUNG HUU MINH KHANH GDD210033 9
Spiral Model Phases Activities performed during phase
It includes cost estimates, schedules, and resources for the iteration This includes understanding system requirements in ongoing communication between the system analyst and the customer.
Risk Analysis The identification of potential risks occurs during the planning and finalization of risk mitigation strategies.
Engineering It includes testing, programming and deploying the software at the customer's site.
Evaluation What customers say about the software This also includes identifying and monitoring risks, such as delays and cost overruns.
When to use Spiral Model?
A Spiral model in software engineering is used when project is large.
When releases are required to be frequent, spiral methodology is used.
When creation of a prototype is applicable.
When risk and costs evaluation is important Spiral methodology is useful for medium to high-risk projects. When requirements are unclear and complex, Spiral model in SDLC is useful.
When changes may require at any time.
When long term project commitment is not feasible due to changes in economic priorities.
PHUNG HUU MINH KHANH GDD210033 10
Additional functionality or changes can be done at a later stage
Cost estimation becomes easy as the prototype building is done in small fragments
Continuous or repeated development helps in risk management
Development is fast and features are added in a systematic way in Spiral development
There is always a space for customer feedback
Risk of not meeting the schedule or budget.
Spiral development works best for large projects only also demands risk assessment expertise.
For its smooth operation spiral model protocol needs to be followed strictly.
Documentation is more as it has intermediate phases.
Spiral software development is not advisable for smaller project, it might cost them a lot.
The V-Model is an SDLC model in which the execution of processes occurs in a V-shaped sequence It is also known as verification and verification model Furthermore, it is an extension of the Waterfall model, based on assigning a testing phase to each corresponding development phase This means that for every phase in the development cycle, there is a testing phase directly related to it It's a disciplined model where the next stage only starts when the previous one is complete.
PHUNG HUU MINH KHANH GDD210033 11
Verification: This is a static analysis technique (verification) that is performed without running any code Is the process of evaluating the stages of product development to determine whether specified requirements are met Verification: It is a dynamic analysis technique (functional, non-functional) and tests performed by running the code Validation is the process of evaluating software after the development phase is complete to determine whether the software meets the customer's expectations and requirements.
PHUNG HUU MINH KHANH GDD210033 12
Requirement Analysis: This phase contains detailed communication with the customer to understand their requirements and expectations This stage is known as Requirement Gathering.
System Design: This phase contains the system design and the complete hardware and communication setup for developing product.
Architectural Design: System design is broken down further into modules taking up different functionalities The data transfer and communication between the internal modules and with the outside world (other systems) is clearly understood.
Module Design: In this phase the system breaks down into small modules The detailed design of modules is specified, also known as Low-Level Design (LLD).
Unit Testing: Unit Test Plans are developed during module design phase These Unit Test Plans are executed to eliminate bugs at code or unit level.
Integration testing: After completion of unit testing Integration testing is performed In integration testing, the modules are integrated and the system is tested Integration testing is performed on the Architecture design phase This test verifies the communication of modules among themselves.
System Testing: System testing test the complete application with its functionality, inter dependency, and communication It tests the functional and non-functional requirements of the developed application.
User Acceptance Testing (UAT): UAT is performed in a user environment that resembles the production environment UAT verifies that the delivered system meets user’s requirement and system is ready for use in real world.
This is a highly disciplined model and Phases are completed one at a time
V-Model is used for small projects where project requirements are clear
PHUNG HUU MINH KHANH GDD210033 13
Simple and easy to understand and use
This model focuses on verification and validation activities early in the life cycle thereby enhancing the probability of building an error-free and good quality product
It enables project management to track progress accurately.
It is not a good for complex and object-oriented projects
It is not suitable for projects where requirements are not clear and contains high risk of changing
This model does not support iteration of phases It does not easily handle concurrent events.
The Prototyping Model is one of the most popularly used Software Development Life Cycle Models (SDLC models) This model is used when the customers do not know the exact project requirements beforehand In this model, a prototype of the end product is first developed, tested and refined as per customer feedback repeatedly till a final acceptable prototype is achieved which forms the basis for developing the final product.
In this process model, the system is partially implemented before or during the analysis phase thereby giving the customers an opportunity to see the product early in the life cycle The process starts by interviewing the customers and developing the incomplete high-level paper model.
PHUNG HUU MINH KHANH GDD210033 14
The prototyping model has the following six SDLC phases as follow:
Step 1: Gathering and analysing requirements
Requirement analysis is the first step in prototyping The system's requirements are defined in depth at this phase Throughout the process, users of the system are interviewed to learn what they anticipate from it.
Sometimes known as a fast design, a preliminary design is the second step A basic system design is built at this stage It is, however, not a complete design It offers the user a quick overview of the system The prototype development is aided by rapid design.
The information acquired during rapid design is used to create an actual prototype in this step It is a scaled-down version of the needed system.
The proposed system is submitted to the client for an initial review at this stage It aids in determining the working model's strengths and weaknesses Customer feedback and suggestions are gathered and forwarded to the developer.
Step 5: Make the prototype better
If the user is dissatisfied with the present prototype, you must modify it in response to their feedback and ideas.
This phase will continue until all of the user's criteria have been fulfilled A final system is produced based on the authorised final prototype if the user is pleased with the developed prototype.
Step 6: Install and maintain the product
PHUNG HUU MINH KHANH GDD210033 15
How the SDLC Works?
SDLC reduces software development costs while increasing the quality and speed of the development process SDLCs achieve these seemingly irreconcilable goals by adhering to one strategy This avoids possible risks in software development projects The strategy starts with assessing the deficiencies of existing systems.
Then determine the requirements for the new system Software is then created through analysis, planning, design, development, testing and deployment SLDC reduces repetitive and subsequent rework by eliminating costly mistakes, such as forgetting to consult end users or customers, for example.
It should also be noted that a lot of attention was put into the testing phase Because SDLC is a cyclical technique, code quality needs to be verified at each stage Many companies place less emphasis on testing, even though a greater focus on testing can save them a lot of rework, time, and money.
Let us look at the various stages of the Software Development Life Cycle now.
Figure 6: How the SDLC Works?
PHUNG HUU MINH KHANH GDD210033 18
What are the phases of SDLC?
The SDLC process is broken down into the following SDLC steps:
Phase 1: Requirement collection and analysis. Phase 2: Design.
PHUNG HUU MINH KHANH GDD210033 19
Phase 1: Requirement collection and analysis
Requirements is the first stage of the SDLC process It is carried out by senior team members with input from all stakeholders and subject matter experts within the industry Planning of quality assurance requirements and identification of associated risks are also carried out at this stage.
This phase more clearly describes the scope of the overall project and the anticipated issues, opportunities, and policies that trigger it. The requirements gathering phase requires the team to obtain detailed and concise requirements This helps the company set the necessary timeline for completing work on the system.
In this third phase, the system and software design documents are prepared as per the requirement specification document This helps define overall system architecture This design phase serves as input for the next phase of the model There are two kinds of design documents developed in this phase:
Brief description and name of each module.
An outline about the functionality of every module.
Interface relationship and dependencies between modules.
Database tables identified along with their key elements.
Complete architecture diagrams along with technology details.
Functional logic of the modules.
Database tables, which include type and size.
Complete detail of the interface.
Addresses all types of dependency issues.
PHUNG HUU MINH KHANH GDD210033 20
Complete input and outputs for every module.
The next phase is coding, which follows the system design phase Developers at this stage start developing codes in the chosen programming language to build the entire system Tasks are broken down into parts or modules and passed off to different developers throughout the coding phase It is the most time-consuming part of the software development lifecycle.
Developers must adhere to the specified code requirements at this stage To generate and implement code, they also need to use programming tools such as compilers, interpreters, and debuggers.
Once the software is ready, it is deployed to the test environment The testing team starts testing the functionality of the entire system This is done to verify that the entire application works as the client expects.
At this stage, QA and testing team can find some bugs and report them to developers The dev team fixes the bug and sends it back to
QA for retesting This process continues until the software is bug-free, stable, and meets the business requirements of the system.
Once the software testing phase is complete and there are no more bugs or bugs in the system, the final deployment process begins. Based on the project manager's feedback, the final software is released and checked for any deployment issues.
Once the system is deployed, and customers start using the developed system, following 3 activities occur
Bug fixing – bugs are reported because of some scenarios which are not tested at all
Upgrade – Upgrading the application to the newer versions of the Software
Enhancement – Adding some new features into the existing software
PHUNG HUU MINH KHANH GDD210033 21
The main focus of this SDLC phase is to ensure that needs continue to be met and that the system continues to perform as per the specification mentioned in the first phase.
Advantages of the SDLC?
Obviously, the main reason for adopting SDLC is to control the development process Work organization, conflict management among participants, and budget management are other important benefits of the software development lifecycle.
If SDLC is executed correctly, it can achieve the highest level of management control and documentation Developers know what they should build and why All parties agree on a clear goal and a plan to achieve it The price and resources required are easy to understand
There are several issues that can make SDLC implementation more of a development stumbling block than a useful tool.Misinterpretation of system requirements can result if the needs of the customer, all users, and all stakeholders are not considered from the outset The benefits of an SDLC will only be realized if the plan is implemented consistently.
What is the suitable model for the project, and explain why?
Due to the large scale of the TUNE SOURCE project and the huge initial investment, the expected return on investment is approximately $2 million per year So, it's a daunting task To prevent mistakes, attention to detail is required For this reason, we will choose the spiral model for this project, as it meets almost all of our client's needs.
If we used a model, please explain why:
Requirements do not change frequently.
Application is neither complicated nor time-consuming.
The project has a fixed deadline.
The techniques and tools used are both static and non-dynamic.
PHUNG HUU MINH KHANH GDD210033 22
Discuss the merits of applying the waterfall model to a large software development project
Since the software development process requires relatively little customer involvement, and the product cannot be demonstrated until it is complete, if problems arise after the software is complete, it is costly to fix those errors because we have to change everything from documentation to proofs Another risk is that if the software development documentation is not done effectively, we are likely to get lost in the design of this product Applying this paradigm lacks project relevance when requirements have medium to high risk of change If we use this strategy for complex, object-oriented applications, the probability of failure is quite high.
Explain how risk is managed in the Spiral lifecycle model (P2)
Definition of Risk Management process
In projects, the risk management process is a systematic set of actions that decision makers perform to keep the project on track under specific circumstances Throughout the project lifecycle, decision makers must identify, analyze, and assess risks, and then use their organizational structures and management processes to mitigate those risks to the benefit of the project The complexity of the project and the maturity of the organization are seen as key factors affecting the success of the project.
PHUNG HUU MINH KHANH GDD210033 23
Why is risk assessment important?
Risk assessments are very important as they form an integral part of occupational health and safety management programmers They help:
Develop awareness of hazards and risks.
Identify who may be at risk (e.g., employees, cleaners, visitors, contractors, members of the public, etc.).
Determine if a control program is required for a particular hazard.
Determine if existing controls are adequate, or if more should be done.
Prevent injury or illness, especially during the design or planning phase.
Prioritize hazards and control measures.
Comply with legal requirements, if applicable.
What is the goal of risk assessment?
The purpose of the danger evaluation system is to evaluate risks and then, if necessary, do away with the ones risks or limit the extent of danger through including controls By doing this, you create a more secure and healthier workplace
The goal is to reply the subsequent questions:
What occurs below what circumstances?
What are the viable consequences?
How probable are the consequences?
Is the danger efficiently managed or does similarly motion want to be taken?
PHUNG HUU MINH KHANH GDD210033 24
Five Steps of the Risk Management Process
Follow these risk management steps to improve your process of risk management. a) Identify the risk.
Anticipating the potential pitfalls of a project doesn't have to spell gloom and doom for your business—quite the opposite. Identifying risks is a positive experience that your entire team can share and learn from Project risk refers to any factor that may affect the project schedule, budget, or success.
Leverage the collective knowledge and experience of the entire team Ask everyone to identify any risks they have experienced or may be aware of This process encourages communication and facilitates cross-functional learning.
A project risk log, also known as a project risk register, is an essential part of any effective risk management process As an ongoing database of potential risks for each project, it not only helps you manage current risks, but also serves as a reference point for past projects By outlining your risk register with the right data points, you and your team can quickly and accurately identify and assess potential threats to any project.
PHUNG HUU MINH KHANH GDD210033 25 b) Analyze the risk.
Once your team has identified potential issues, it's time to dig deeper How likely are these risks to occur? When they do, what is the impact? How would you react?
In this step, your team estimates the likelihood and impact of each risk to decide what to focus on first Then define a response plan for each risk Factors such as potential financial loss to the business, loss of time, and severity of impact all play an important role in properly analyzing each risk By examining each risk, you can also identify common problems in projects and further improve the risk management process for future projects.
Figure 9: Analyze the risk. c) Prioritize the risk.
Sort now Rank each risk by considering its probability of occurrence and its potential impact on the project This step gives you an overview of the project at hand and determines where the team's focus should be Most importantly, it helps you find workable solutions to any risks This way, the risk management workflow is not interrupted or significantly delayed, even during the treatment phase.
PHUNG HUU MINH KHANH GDD210033 26 d) Treat the risk.
Send in your treatment plan as soon as you identify the most serious risks While you can't predict every risk, the previous steps in your risk management process should have set you up for success Start with the highest priority risks first and have your team address them or at least mitigate them so that they no longer pose a threat to the project.
Effectively managing and mitigating risk also means using the team's resources efficiently without derailing the project Over time, you'll build a larger database of past projects and their risk logs, enabling you to anticipate potential risks so that they can be dealt with more effectively by taking a more proactive rather than reactive approach. e) Monitor the risk.
Clear communication between your team and stakeholders is critical when it comes to continuous monitoring for potential threats Regularly send project updates to the team and other stakeholders Contact your risk manager individually to ensure that no red flags are raised throughout the project Be sure to actively maintain your risk register—it should be a living document that you and your team refer to frequently As risks change or evolve, they should be updated in the log for all to see This way, everyone stays on the same page and can react to risks more quickly and proactively.
While it may sometimes feel like you're herding, with your risk management plan and a proper project risk register in place, keeping track of these ever-changing goals becomes risk-free.
PHUNG HUU MINH KHANH GDD210033 27
Risk Handling in Spiral Model
Projects have many unknown risks that occur during development, in which case the Spiral Model is the best development model to follow due to risk analysis and risk treatment in every stage So, in this project I use the Spiral model It has the most important feature of how to deal with these unknown risks after the project has started Creating a prototype makes the process of addressing such risks simpler The spiral model makes it easier to address risk by enabling prototyping at every stage of software development.
Risk management is also supported by the Waterfall Model, but risks must first be thoroughly identified before project development begins In practice, however, project risks may arise after development work has begun; In this case, the Waterfall Model cannot be used because the transition from one growth phase to another will take place only after the previous phases have completely finished successfully, and there is no going back previous phase or overstepping phase Product features are dated and analyzed in each phase of the Spiral Model and the risks that exist at that time are identified and addressed through waterfall creation Therefore, this model is significantly more adaptable than other SDLC models.
Apply to Tune Source project with problems to be faced and remedies
Using spiral model in TS (Tune Source) project has many advantages because of using spiral model However, there are a few related issues that will expose this project to risks from that problem Below are the problems the project faced with it along with its causes and given results and remedies.
Lack of staff The employee did not receive the knowledge in time or was discharged and resigned
The project is not completed, or can be completed but not on time for handover
Recruiting knowledgeable or highly qualified personnel, investing in courses on the lack of knowledge for former employees
Lack of technology needed to respond to the project
Programmers or employees won't have enough products to complete projects quickly
Investing in new technologies for programmers to use and apply to the project to complete the project quickly Lack of funds Disease issues, and sources of income
Insufficient funds to maintain and develop the project
Applying high-efficiency but low-cost and old technology products to reduce excess costs
PHUNG HUU MINH KHANH GDD210033 28
Explain the purpose of a feasibility report (P3)
Technical Feasibility Study
In the technical feasibility, the undertaking's engineering viability is considered Civil, structural, and different pertinent engineering factors are discussed The technical capability of the proposed technology and the abilities of the undertaking humans are taken into account
Technology switch among cultures and geographical places must be tested in unique cases, especially while projects are in third-global nations Because of variances in gasoline supply, location, terrain, infrastructural support, and different issues,productiveness gain (or loss) and related ramifications are understood.
PHUNG HUU MINH KHANH GDD210033 29
Economic Feasibility Study
The feasibility of an assignment to offer monetary blessings is known as monetary feasibility A cost benefit evaluation is required Breakeven evaluation will also be used to examine an assignment's monetary viability The tangible and intangible elements of an assignment have to be transformed into monetary phrases to offer a regular basis for evaluation Even if the business enterprise is non-profit, monetary viability is crucial.
PHUNG HUU MINH KHANH GDD210033 30
Operational Feasibility
This assessment involves getting to know to assess whether—and to what extent—the organization’s desires may be addressed through completing the challenge Operational feasibility research additionally observes how a challenge plan meets the standards special at some stage in the gadget improvement necessities evaluation phase.
Legal Feasibility
This evaluation looks at whether any component of the planned project violates legal requirements such as zoning rules, data privacy laws, or social media laws Let us imagine a company wishes to develop a new office building in a particular area A feasibility study may discover that the ideal location for the company is not designated for that sort of business That organization has just saved a lot of time and effort by discovering that their idea was not possible.
PHUNG HUU MINH KHANH GDD210033 31
Describe how technical solutions can be compared (P4)
Introduction
The purpose of technical solutions is to assist in design selection and solution implementation needs Engineering solutions include handling products, product components, lifecycle model selection, and more Engineering Solutions focuses on evaluating, selecting solutions,developing detailed designs, and then implementing those designs This segment looks at how the challenge's feasibility criteria are implemented and whether the challenge is viable The Opportunity Matrix can be used to provide some of the trade answers in this section.There are many factors in Technical Solutions that we need have to measure detailly:
Feasibility criteria
Familiarity with the application: The development team has worked with the program several times and has achieved a high degree of proficiency
Technology familiarity: The TS project's development team has worked with the same technology several times And because the team contains employees who not only have a lot of expertise, but have also worked on the same project a lot, they can easily deal with some of the project's issues
Project size: As previously stated, the TS project is a tiny project with simple requirements, making it simple to manage and risk-check.
The economic feasibility assessment examines the project's cost and benefit This implies that during the feasibility study, a complete analysis of the project's development expenses is performed, which covers all needed costs for final development, such as hardware and software resources, design and development costs, operating costs, and so on Following that, it is determined if the initiative will be financially advantageous to the organization (GeekforGeek,2020).
PHUNG HUU MINH KHANH GDD210033 32
Development team salaries 400.000$ Software update fee 50.000$
Consultant fees 5.000$ Software maintenance fee 38.000$
Office and equipment 150.000$ Software license fee 20.000$
Hardware and software 40.000$ System operation fee 100.000$
Server cost 7.000$ User training fee 70.000$
Sell CDs at a store or website 200.000$
Project programming costs include: Development team salary, Consulting fee, Office and equipment, Training fee, Hardware and software, Server cost, Vendor installation The total estimated cost for the standard programming fee is $679,000. Project surgery fees include: Software Update Fee, Software maintenance fee, Software License Fee, Hardware Upgrade, System Operation Fee, User Training Fee with total estimated cost for all of $303,000
In the company, there are six developers on the development team at $40 per hour each, and six developers who provide developer training at $15 per hour each Office space and equipment can cost as much as $150 to create a better work environment and encourage people to focus on projects Each member of the executive team takes home $25 Fifty people will be trained in the program for $1 each, which will drive brand awareness, projects and series awareness Investors can expect exceptional products and customer service as they are experienced tradespeople.
PHUNG HUU MINH KHANH GDD210033 33
The goal of organizational feasibility is to assess the management capabilities and resource availability to bring a product or concept to market Organizations should assess the capabilities of their management teams in areas of interest and execution Typical management skills metrics include assessing the founders' enthusiasm for the business idea, as well as their industry expertise, education and work experience Founders should be honest about how they evaluate these areas.
Alternative matrix for the Tune Source project
PHP is a general-purpose programming language geared towards web development It was originally created in 1994 by Rasmus Leadoff, a Danish-Canadian programmer The PHP team is currently creating a PHP Reference Implementation. Although PHP stands for Personal Homepage, it now often refers to recursive initializations "Hypertext Preprocessor" stands for PHP.
PHP code is typically processed on a web server using a PHP interpreter, which can be implemented as an executable module, daemon, or Common Gateway Interface (CGI) The result of the interpreted and executed PHP code – which can be any form of data, such as binary image data or generated HTML – makes up all or part of the HTTP response on the machine web owner. Web template systems, online content management systems, and web frameworks can all be used to help coordinate or simplify that response preparation PHP can also be used for non-web development activities, including standalone graphics programs and drone control Command prompt can also be used to execute PHP code.
There was no clear definition or standard for the PHP language until 2014, with the initial implementation serving as the de facto standard that later implementations sought to match Since 2014, there has been a working traditional PHP standard.
JavaScript, sometimes called JS, is a computer language that, along with HTML and CSS, is one of the essential web technologies Over 97 percent of websites use JavaScript to control page behavior on the client side, with third-party libraries being used frequently All major web browsers have a dedicated JavaScript engine to run code on the user's device.
JavaScript is a high-level, usually instantiated, ECMAScript-compliant language It has first-class functions, dynamic typing, and prototype-based object-oriented It is multi-paradigm so you can code in an event-driven, functional, or imperative style It
PHUNG HUU MINH KHANH GDD210033 34 includes, among other things, APIs for working with text, dates, regular expressions, standard data structures, and the Document Object Model (DOM).
JavaScript engines, previously only available in web browsers, are now available in a wide variety of servers and applications. The most common runtime system for this in Node.js.
As one of the most popular software development frameworks, the NET Framework underpins many of the applications we know today It is widely used by developers due to its popularity and the size of its ecosystem The fact that its open source is also one of the reasons it's so popular, especially among developers working on large projects across various platforms. Businesses that require a lot of functionality to handle a variety of critical services are prime beneficiaries of the NET Framework These services are then extended to the different ecosystems covered by the framework Not everything hooks up correctly, but the ones that do are easy to use and don't take much getting used to.
The types of applications that can be built in the Net framework is classified broadly into the following categories.
WinForms – This is used for developing Forms-based applications, which would run on an end user machine Notepad is an example of a client-based application.
ASP.Net – This is used for developing web-based applications, which are made to run on any browser such as Internet Explorer, Chrome or Firefox. o The Web application would be processed on a server, which would have Internet Information Services Installed. o Internet Information Services or IIS is a Microsoft component which is used to execute an ASP.NET application. o The result of the execution is then sent to the client machines, and the output is shown in the browser.
ADO.Net – This technology is used to develop applications to interact with Databases such as Oracle or Microsoft SQL Server.
Microsoft always ensures that Net frameworks are in compliance with all the supported Windows operating systems.
3.4 Select an alternative for Tune Source
Score Weighted Score Weighted Score Weighted
PHUNG HUU MINH KHANH GDD210033 35
Score Score Score Development time
Conclusion: Based on the above analysis, PHP Technology is the best choice for Adjustment Source compared to JavaScript and
Microsoft NET Framework technologies with the highest score of 66 points.
PHUNG HUU MINH KHANH GDD210033 36
1 Anon (2021) Waterfall model in SDLC? Advantages & Disadvantages, T p đoàn edX - Happy Companyậ , [online] Available at: https://edxgroup.vn/2021/04/11/waterfall-model-in-sdlc-advantages-disadvantages/ (Accessed January 6, 2023)
2 Anon (2022) Software engineering: SDLC V-model, GeeksforGeeks, [online] Available at: https://www.geeksforgeeks.org/software-engineering- sdlc-v-model/ (Accessed January 6, 2023)
3 Martin, M (2022) Spiral model: When to use? advantages and disadvantages, Guru99, [online] Available at: https://www.guru99.com/what-is- spiral-model-when-to-use-advantages-disadvantages.html (Accessed January 6, 2023)
4 Martin, M (2022) Prototype model in software engineering, Guru99 Available at: https://www.guru99.com/software-engineering- prototyping-model.html (Accessed: January 6, 2023)
5 Anon (n.d.) SDLC - Agile Model, Tutorials Point, [online] Available at: https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm (Accessed January 6, 2023)
6 Government of Canada, C C for O H and S (2023) Hazard and risk - risk assessment : Osh answers, Canadian Centre for Occupational Health and Safety, [online] Available at: https://www.ccohs.ca/oshanswers/hsprograms/risk_assessment.html (Accessed January 7, 2023)
7 Daniels, R and Richard DanielsAuthor at Business Study NotesHello everyone! This is Richard Daniels (2021) What is feasibility study? 10 types of feasibility study, Business Study Notes, [online] Available at: https://www.businessstudynotes.com/finance/project-management/types- feasibility-study/ (Accessed January 7, 2023)
8 Team, T I (2022) Feasibility study, Investopedia, Investopedia, [online] Available at: https://www.investopedia.com/terms/f/feasibility- study.asp (Accessed January 7, 2023)
9 Anon (n.d.) ASP.NET web apps: HTML, CSS, JavaScript, and C#, Microsoft, [online] Available at: https://dotnet.microsoft.com/en- us/apps/aspnet/web-apps (Accessed January 10, 2023)
10 Anon (n.d.) Handling common javascript problems - learn web development: MDN, Learn web development | MDN, [online] Available at: https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/JavaScript (Accessed January 10, 2023)
11 Anon (n.d.) History of php - manual, php, [online] Available at: https://www.php.net/manual/en/history.php.php (Accessed January 10, 2023).
12 Anon (n.d.) What is a feasibility report? (definition and template), [online] Available at: https://www.indeed.com/career-advice/career- development/feasibility-report (Accessed February 4, 2023).
PHUNG HUU MINH KHANH GDD210033 37
13 Thompson, B (2022) What is NET framework? explain architecture & components, Guru99, [online] Available at: https://www.guru99.com/net-framework.html (Accessed February 11, 2023)
14 Anon (2019) 5 steps to any effective risk management process, Lucidchart, [online] Available at: https://www.lucidchart.com/blog/risk- management-process (Accessed February 11, 2023).