E-Solutions Private Limited Automated System Documentation Rodrick Jorgan Fernando COL00082099 Table of Contents (Activity 1) 1.SDLC………………………………………………………………………………(4) 1.1 Traditional Methodology ………………………………………………….(6) 1.1.1 Waterfall Model…………………………………………………..(8) 1.1.2 Prototype Model………………………………………………(11) 1.1.3 Spiral Model…………………………………………………….(13) 1.2AgileMethodology…………………………………………………………..(15) 1.2.1 Scrum……………………………………………………………(16) 1.2.2 Extreme Programming (XR)……………………………………(20) 1.2.3 Feature Driven Development (FDD)……………………………(23) 1.3 Differences between Traditional and Agile Methodologies……………….(26) (Activity 2) 2. Feasibility Study…………………………………………………………..………..(27) 2.1 What is Feasibility Study?.............................................................................(27) 2.2 Types of Feasibility Study…………………………………………………(27) 2.3 Importance of Feasibility Study……………………………..……………(28) 2.4 Strengths of the Feasibility Study……………………………..………….(29) 2.5 Weakness of the Feasibility Study………………………………………..(29) (Activity 3) 3. Analyzing the proposed system using a suitable methodology……………………..(30) 3.1 Applying the Agile Methodology for the Proposed system………………..(30) 3.1.1 The reasons of using Agile methodology rather than Traditional for the Automated system………………………………………………..(30) 3.1 System Requirements………………………………………………………(32) 3.2.1 Functional requirements……………………………………… (32) 3.2.2 Non-Functional Requirements…………………………………. (33) Rodrick 1 System Analysis & Design Assignment 1 3.2.3 Differences between Functional and Non-Functional requirements. ……………………………………………………….. (34) 3.3 User Requirements………………………………………..………………..(35) 3.4 Differences between System requirements and User requirements……….(36) (Activity 4) 4. Designing the System that meets the User and the System requirement…………. (37) 4.1 System Design Specification……………………………………………… (37) 4.2 Justification on the effectiveness of the System and Methodology used based on the User and System requirements………………………………………. (38) Rodrick 2 System Analysis & Design Assignment 1 Table of Figures Figure 1.1 SDLC…………………………………………………………….…………(4) Figure 1.2 SDCL Models………………………………………………………………. (6) Figure 1.1.1.1 Waterfall model…………………………………………………………..(8) Figure 1.1.2.1 Prototype Model………………………………………………………(11) Figure 1.1.3.1 Spiral Model…………………………………………………………… (13) Figure 1.2.1.1 Scrum Model………………………………………………………… (17) Figure 1.2.2.1 Extreme Programming Model…………………………………………(20) Figure 1.2.3.1 FDD Model……………………………………………………………. (23) Table of Tables Table 1.3.1 Differences between Traditional and Agile Methodologies…………….. (26) Rodrick 3 System Analysis & Design Assignment 1 1.SDLC An approach used in the software sector for planning, creating, and validating highquality software is called the Software Development Life Cycle (SDLC). The SDLC seeks to develop high-quality software that meets customer expectations and needs and is completed on time and within budget. SDLC is a procedure used inside a software company to complete a software project. It is a thorough strategy that describes how to build, maintain, restore, and change or improve certain software. The life cycle describes a strategy for boosting the quality of software and the entire development phrase. Figure 1.1 SDLC 1. Planning; This is the very first stage of the SDLC. This particular part can include many phases such as; scheduling, planning for capacity, arrangement of materials and human resources, estimation of costs, provisioning., identification of risks. 2. Analysis; Stakeholders and managers must work with the IT department to explain their expectations for new development and enhancements. At the analysis stage, Software engineers extract requirements from corporate stakeholders and subject matter experts. They collaborate with the customer to record any business operations that should be automated by the program. 3. Design; Developers begin designing software after determining requirements. To overcome algorithmic difficulties, developers use well-established software development Rodrick 4 System Analysis & Design Assignment 1 patterns. Finally, teams get design papers including the patterns and elements chosen for the project, as well as the code that will be utilized as a starting point for future work. 4. Development; The major objective for developers in this part is to provide functioning software as soon as feasible. Stakeholders should also be involved on a frequent basis to ensure that the software satisfies their requirements. Their efforts must have generated testable and functioning software. 5. Testing; This is a critical stage in the software development life cycle since there is no way to provide high-quality software without testing. These procedures are automated by testers to guarantee that tests are executed on a regular basis and are never ignored. The stage results in fully working software that is ready for deployment. There are a certain variety of testing methods; Code quality review Unit testing Integration testing Performance testing Security testing 6. Implementation; This is the formal deployment of the final software once its fully functional and tested. 7. Maintenance; The software development life cycle doesn't really stop with its release. To maintain appropriate software operation, the developers should regularly check software quality and performance. Bugs and faults can arise at any time, which frequently feeds back into the development process. Rodrick 5 System Analysis & Design Assignment 1 SDLC Models Traditional Methodology Agile Methodology WaterFall Model Scrum Prototype Model Extreme Programming (XR) Spiral Model Crystal Figure 1.2 SDCL Models 1.1 Traditional Methodology Traditional project management is a linear method in which processes happen in a predefined and predicted sequence. The project follows a preplanned set of stages in this strategy and considers that the requirements stay constant but the budget and project deadline might fluctuate. This strategy is better suited for projects where the risk of scope adjustments is minimal. Traditional project management depends largely on thorough planning and analysis throughout the development stage, therefore the development cycle is relatively streamlined as an outcome. Strengths of Traditional Methodology; A clear pathway; because everything is pre-planned, each team member is aware of their tasks and the project needs. This enables them to perform efficiently and with very little supervision. More control over the project; In a typical system, the project manager's staff has practically complete control, and even minor changes must be authorized by the manager. This avoids modifications from the project's initial scope. Rodrick 6 System Analysis & Design Assignment 1 Proper and clear documentation; Documentation is a pillar of conventional project management technique. The documents not only regulate the whole process, but they may also be utilized for advice in future initiatives. Accountability is centralized; Because the project managers have complete control, they will be made responsible for the project's success or failure. Stakeholders usually know who to approach during the project to acquire all the relevant updates, rather than approaching many other people. Weaknesses of Traditional Methodology; It is a slow process; If your customer is unclear about the demands, development will be delayed. Because modifications are harder in traditional project management's linear technique. Changes can throw off the order, delaying the start of the subsequent stage of development until the one before it is complete. Less involvement of clients; Each development method leaves little room for the client's input. Until the product is finished, clients are not engaged or open to the full development phase. It will be a time-wasting occurrence if it is not in accordance with the needs of the client. Time management issues can arise; Traditional approach might suffer from time mismanagement owing to a lack of reciprocal collaboration, togetherness, and mutual progress. Modifications are not easy; Once a software or program has been tested, it is most likely difficult, time-consuming, and expensive to go back and modify it to meet the criteria. To effect any modifications, you may need to restart. Under the Traditional Methodology, there are certain models that can be put to use these models are listed in the figure above (Figure 1.1 SDCL Models). Rodrick 7 System Analysis & Design Assignment 1 1.1.1 Waterfall Model The Waterfall Model is the first one to be offered as a Process Model. A linear-sequential life cycle model is another name for it. It is quite simple to grasp and apply. In a waterfall model, every stage must be finished before another one can begin, and the stages must not overlap. The Waterfall technique was the very first SDLC Model extensively utilized in Software Engineering to assure a successful project. The entire software development process is separated into segments. Typically, the conclusion of one step serves as the input for the following stages in this Waterfall approach. Figure 1.1.1.1 Waterfall model 1. Requirements Analysis; During this phase, all possible software needs are identified and recorded in a demands specification document. 2. System Design; This stage studies the need requirements from the previous stage and prepares the system design. 3. Implementation; The software is first built in discrete programs called units, with input from the system design, and then combined in the following step. Rodrick 8 System Analysis & Design Assignment 1 4. Testing; Following unit testing, all units generated during the implementation stage are integrated into a system. 5. Deployment; After all the testing is done on the software, the software is released in the client environment or launched to the market. 6. Maintenance; After the deployment of the system it doesn’t mean that the process is done. The developers should have proper maintenances schedules on a timely basis for the system to ensure its quality and performance in the long run. Patches are published to solve these vulnerabilities. Latest versions are released to enhance the product. Features of the Waterfall Model; As mentioned above, each and every stage should be completed before moving on to the other stages. One thing is certain with waterfall project management: a lot of documentation. It's easy to feel overwhelmed by the amount of paperwork and standards that must be addressed for the project. Gantt charts are important project management methods that are being used to organize and schedule projects. These Gantt charts are being used in these waterfall model. Reports are being generated in these Waterfall methodologies; Reporting has two main functions: it provides project managers with more information about the waterfall project's internal workings, allowing them to make good decisions, and it provides as a communication platform for stakeholders. When we use Waterfall model; When the requirements are quite specific and well-defined. When sufficient resources with the necessary skills are readily available. When the customer has a high degree of trust in the company. When the project is short. When there have been no criteria that are unclear. Strengths of the waterfall model; Rodrick Easy to comprehend and implement. 9 System Analysis & Design Assignment 1 Because of the model's stability, it is simple to manage. Each step includes its own set of deliverables and a review procedure. Stages in the model are well defined. Tasks are simple to organize. The process and outcomes are thoroughly documented. Performs well enough for smaller projects having clear requirements. Weaknesses of the Waterfall model; Not suitable for complicated, object-oriented programs. There is a huge risk and uncertainty. Not suitable for long-term projects. Measuring the progress of the development within phases is tough. Cannot meet changing needs. Changing the scope of a project during its life cycle might lead to its destruction. Rodrick 10 System Analysis & Design Assignment 1 1.1.2 Prototype Model The Prototyping Paradigm is a software development model where a prototype is developed, tested, and changed until it is satisfactory. It also builds the foundation for the final system or program. It usually works when the project's needs are not completely understood. It is an iterative, trial-and-error process used by both the developer and the customer. Figure 1.1.2.1 Prototype Model 1. Requirements gathering and analysis; A requirement analysis is the first step in developing a prototype model. The system's requirements are identified in-depth at this phase. 2. Quick Design; The second part is the designing stage, a basic system design is built at this stage. It is, however, not a full design. It provides the user with a high-level overview of the system. 3. Build prototype; Based on the knowledge acquired during rapid design, a real prototype is developed in this step. It is a scaled-down version of the needed system. 4. User Evaluation; 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. Client feedback and suggestions are gathered and forwarded to the developers. 5. Redefining prototype; If the client is dissatisfied with the present prototype, you must modify it based on the client's feedback and ideas. This stage will not be completed until all of the client's needs have been satisfied. 6. Implement and maintain; The completed system is fully tested and put to operation when it is designed based on the final prototype. Routine maintenance is performed on the system to save disruption and prevent major breakdowns. Features of the Prototype Model; Rodrick 11 System Analysis & Design Assignment 1 For the new system, a prototype, basic design is built. The initial design is used to create the first prototype of the new system. These Prototypes can be utilized in more complex projects in the future. When using these models, the customer feedback comes in faster and gives you a better sense of what they want. When we use the Prototype Model; When the proposed system requires a lot of contact with the end customers, then the prototype model should be employed. Prototype models are ideally suited for online systems and web interfaces that have a lot of interaction with customers. They are used when creating excellent user-friendly computer interfaces. Strengths of the Prototype Model; Client satisfaction persists since the client can experience the product from the start. Problems may be spotted early in the software development process because customers are actively involved in the development process. There will almost certainly there will be no software rejection. It helps you identify the capabilities that the system is missing. The model can be built without the need for skilled experts. Allows the customer to determine whether or not the software code meets the program specification. The prototype aids in gaining a better knowledge of the customer's requirements. Weaknesses of Prototype Model; Prototyping is a time-consuming and labor-intensive procedure. The expense of building a prototype is a massive waste because the prototype is eventually discarded. Clients may be unwilling to engage in the iteration process for an extended period of time. It is incredibly challenging for software engineers to implement all of the modifications requested by customers. Rodrick 12 System Analysis & Design Assignment 1 Numerous new requirements may arise as a result of prototyping. Whenever the client is dissatisfied with the original prototype, they may lose interest in the final product. 1.1.3 Spiral Model The spiral model is one of most fundamental Software Development Life Cycle models for risk management. It seems to be a spiral with multiple loops in its diagrammatic form. The precise number of spiral loops is uncertain and varies between project to project. Each and every spiral loop is referred to as a Step in the software development process. There are four phases in the spiral model. A software project goes through these stages in repetitions known as Spirals. Figure 1.1.3.1 Spiral Model 1. Identification; This step begins with acquiring the basic spiral's business needs. This phase is used to identify requirements of the system, subsystem requirements, and unit requirements in future spirals as the product grows. This section also involves continual contact between the client and the systems administrators to understand the requirements of the system. When the spiral comes to an end, the product is introduced into the designated market. Rodrick 13 System Analysis & Design Assignment 1 2. Design; The Design process begins with conceptual design in the baseline spiral and progresses to architectural design, logical module design, physical product design, and final design in successive spirals. 3. Construct or Build; At each spiral, the Construct stage relates to the construction of the real software system. Within baseline spiral, while the idea is still being thought about and the design is being developed, a POC (Proof of Concept) is created to get user input. 4. Evaluation and Risk analysis; Identifying, assessing, and tracking technical feasibility and management risks such as schedule delays and capital outlay are all part of risk analysis. After testing the build, the client reviews the program and offers feedback at the conclusion of the very first iteration. Features of the Spiral Model; Early during the software life cycle, software is created. We may simply adjust criteria at a later stage and have them appropriately implemented. Controlled authorization and documentation. Because of the risk analysis and risk management at each level, it is the ideal development method to implement. When do we use Spiral Model; It's ideal for huge, complicated projects. It contributes to client happiness. Clients can be involved in the creation of goods at an early stage in the software development process. It's best for high-risk projects with erratic business requirements. This may be used to create a highly personalized product. Strengths of the Spiral Model; Varying needs can be addressed. Prototypes can be used extensively. More precise requirements can be documented. Development may be broken into smaller portions, and dangerous aspects can be created early, allowing for greater risk management. Weaknesses of Spiral Model; Rodrick 14 System Analysis & Design Assignment 1 Management has become more complicated. The project's conclusion may not be known for some time. Minimal or low-risk initiatives are not suited, and small projects may be costly. The procedure is complicated. The spiral might carry on endlessly. A huge proportion of intermediate steps needs a lot of documentation. 1.2 Agile Methodology Agile project management (APM), a relatively new and flexible method to project management, is all the rage these days. As per the pulse of the profession 2017 study, 71% of firms employed an agile strategy for their projects, with flexibility being one of the key reason factors behind this. It is a repetitive approach to project management that relies on client input, adaptability, and successful team cooperation. Agile enables project teams to be more flexible while ensuring that the end result meets the customer's expectations. Strengths of Agile Methodology; More Flexible; while comparing Agile to traditional project management, Agile is 'by far' more flexible. Because the project is separated into several sprints, incorporating modifications halfway becomes exceedingly simple. Transparency; Throughout this technique, the entire group agrees on the plan together and shares project control, which promotes project transparency. Clients are also engaged throughout the project, and their opinion is used to ensure a satisfactory end result. Problem-solving is more efficient; Because Agile employs a "all hands on deck" strategy, issue resolution becomes simpler and more efficient. Group members also have the freedom to make minor adjustments without seeking permission from the project manager, which saves a lot of time and promotes development. Complexities have been reduced; Typical Agile approaches such as Scrum and Kanban necessitate breaking down the whole project into very smaller and more manageable jobs. This enables the project's continual evolution while maintaining quality. Rodrick 15 System Analysis & Design Assignment 1 Weaknesses of Agile Methodology; Less Documentation; Documentation occurs across an Agile project, and is typically "just in time" for generating the outcome, rather than from the start. As a result, it becomes less detailed and frequently gets pushed to the contrary. Long-term projects are unsuitable; Finally, one of the most prevalent Agile issues arises when groups attempt to apply the technique to inappropriate projects. Agile iterations are meant to gradually create smaller outcomes, which is great for software development. Time is of the essence; Members of the group must arrange daily standup meetings, which might disturb the workflow. Furthermore, the Agile mindset necessitates ongoing cooperation between developers, testers, clients, and other project stakeholders. Customer requirements are continually changing, resulting in an expansion of the project scope. Components grow rapidly, and new features are frequently added to the task. Some specifications may need to be completely rebuilt or changed with newer versions. Teams might grow distracted and lose sight of these criteria, not knowing which to focus. 1.2.1 Scrum In a summary, Scrum is a framework for successful team cooperation on complicated projects. Scrum is a sort of agile technology that includes meetings, responsibilities, and tools to assist teams working on complicated projects in collaborating and better structuring and managing their workloads. Although scrum is most commonly employed by software development teams, it may benefit any team that works toward a similar objective. Rodrick 16 System Analysis & Design Assignment 1 Figure 1.2.1.1 Scrum Model Different Roles that are present in Scrum methodology; 1. Scrum master; The scrum master oversees the scrum project development process. The scrum master ensures that scrum rules are in place and used correctly, and also has regular meetings with the scrum team. He or she is also responsible for mentoring and inspiring the crew, removing roadblocks to sprints, and ensuring that the squad has the highest suitable circumstances to fulfil its objectives and generate deliverable solutions. 2. Product Owner; Clients are often stakeholders represented by the product owner. The product owner defines product requirements, documents product improvements and changes, and manages a scrum backlog, a thorough and regularly updated to-do list for the scrum project, to assure the team members are continually providing value for clients and the company. 3. The Scrum Team; The scrum team is a self-organized team of people with business, design, intellectual, and development talents who conduct the actual work, resolve issues, and generate deliverable goods. Rodrick 17 System Analysis & Design Assignment 1 Main elements in Scrum; Sprint; A sprint is the fundamental sequence of tasks for a Scrum team. This is the fundamental element that distinguishes Scrum from several other agile development approaches. Sprint Planning; The purpose of Sprint Planning is to outline what would be performed in the Sprint and how it would be achieved. Daily Scrum; The Daily Scrum's goal is to analyze the progress and trends until the end of the Sprint, synchronize efforts, and create a strategy for the following 24hrs. Sprint Review; The sprint review's purpose is to indicate what development has really been performed on the product backlog towards future deliveries. Sprint Retrospective; The team goes through the accomplished sprint goals, noting the positive and negative in order to avoid making the same mistakes again. Features of Scrum Model; Improved transparency. Scrum development methodologies are well-known for integrating customers constantly all through the product development cycle. Leads to early detection and resolution of problems. The Scrum methodology ensures that modest continuous updates are available to the group and product owner as the project progresses. With continuous deployment and iterative releases, it is cost effective. Businesses will save money by incorporating stakeholders, decreasing risk, reducing down, and entering the market quicker if they use this strong process. When do we use Scrum Model; Someone who has to create a finished product, such as a website, software program, or even a building project, may adopt Scrum. Whenever the product owner has complete freedom towards the product throughout the development process. Whenever the team doesn’t need any management. Whenever the changing probability is high during the development process. Rodrick 18 System Analysis & Design Assignment 1 Strengths of Scrum Methodology; The most significant advantage of scrum approach is its flexibility. After each sprint under the sprint-based paradigm, the scrum team often collects feedback from stakeholders. If difficulties or modifications arise, the scrum team may simply and swiftly update product objectives throughout subsequent sprints to produce more meaningful iterations. Best suited for Complicated projects; Scrum approach is excellent for projects in which teams must finish a backlog. Scrum divides every procedure into bite-sized parts, which may make a complicated project easier to manage. Firms that emphasize outcomes; Scrum is also advantageous to organizations that value results above process documentation. That's because, instead of a thorough, strict method, scrum is focused on efficiency and creativity to produce outcomes. Organizations that focus to clients: Scrum can assist businesses that produce goods based on client requests and standards. Scrum is changeable, which is important when reacting to client needs. Weaknesses of Scrum Methodology; It necessitates rigorous training; Even though the Scrum methodology has the ability to offer speedy and high-quality solutions, successful implementation needs a skilled workforce. It may demand significant organizational changes; Implementing the Scrum methodology may necessitate various organizational changes for the firm in order for this decision to be effective. It might be challenging to combine with a traditional project management method; Even though the Scrum technique is typically a viable choice for projects that require frequent modifications, it's not always appropriate for projects that demand predictability and a well-defined strategy. Rodrick 19 System Analysis & Design Assignment 1 1.2.2 Extreme Programming (XR) Extreme programming is a software development process that is a subset of agile methodologies. XP is based on values, concepts, and techniques, with the purpose of enabling small to mid-sized teams to generate high-quality software while adapting to developing and evolving needs. Figure 1.2.2.1 Extreme Programming Model Communication, simplicity, feedback, courage, and respect are the five XP values, and they are detailed in further detail below; 1. Communication; Essentially, software development is a team game that depends on communication to convey information from one team member to the rest of the team. XP emphasizes the significance of good communication — face-to-face conversation using a whiteboard or other drawing method. 2. Simplicity; The goal is to reduce waste and accomplish just what is totally vital, such as keeping the system architecture as basic as possible so that it is easier to maintain, support, and change. Simplicity also implies addressing only the necessities that you are aware of; do not attempt to forecast the future. 3. Feedback; Groups can find areas for development and update their procedures by receiving continual feedback on their prior efforts. Simple design is also supported by feedback. The team creates something, receives input on its design and implementation, and then iterates on the product. Rodrick 20 System Analysis & Design Assignment 1 4. Courage; This definition demonstrates a preference for action based on other principles so that the outcomes are not bad for the team. You must have the confidence to bring up organizational concerns that are limiting your team's effectiveness. You must have the fortitude to abandon a failing strategy and attempt something new. Accepting and acting on feedback, especially when it is tough to take, requires bravery. 5. Respect; Team members must respect one another in order to interact, offer and accept feedback that values your connection, and collaborate to discover simple designs and solutions. Features of the Extreme Programming; Feedback is given quickly. Members of the team are aware of the input and respond quickly. Changes can be made gradually. Small modifications made to a product over time are more effective than large improvements made all at once. Work of high quality. A well-functioning team produces a useful product that they are proud of. Simplicity is anticipated. In this model developers concentrate on the most critical task at hand. When do we use Extreme Programming; This can be applied for short projects; The XP paradigm is particularly beneficial for small projects with small teams since face-to-face meetings are easy to arrange. Projects incorporating modern technology or studies; These projects must deal with quickly changing needs as well as technical issues. As a result, the XP model is employed to accomplish these tasks. When expecting the functions of the system to alter every few months. When you'd like to reduce project risk, especially if you're working on a tight timetable. Strengths of Extreme Programing; Rodrick 21 System Analysis & Design Assignment 1 The major benefit of Extreme Programming is that it helps software development organizations to save money and time on project implementation. The ease of use of programs created with extreme programming is another advantage. This style is preferred by developers that wish to write incredibly basic code that may be upgraded at any time. In XP, the entire process is transparent and responsible. Developers pledge to complete tasks and demonstrate progress. Constant feedback is another advantage. It is vital to listen and make any required modifications in a timely manner. Extreme Programming helps to improve employee satisfaction and retention. Weakness of Extreme Programming; Some experts claim that Extreme Programming is more focused on coding than architecture. This might be a concern because proper design is critical for software programs. Furthermore, defect documenting in XP projects may not always be adequate. Failure to document defects may result in the recurrence of similar faults in the future. Another downside of XP is that doesn't assess code quality assurance. It may result in bugs in the original coding. Rodrick If developers are geographically divided, XP is not the ideal solution. 22 System Analysis & Design Assignment 1 1.2.3 Feature Driven Development (FDD) Feature Driven Development (FDD) is an agile methodology that focuses software development around achieving progress on features, as the name implies. However, not all FDD properties are generally construed as product qualities. Figure 1.2.3.1 FDD Model FDD was created via a five-step development procedure; 1. Develop an overall model; Every group of developers and domain experts defines a model that includes their common understanding of the relevant items in the new system. 2. Build a Features list; To accomplish this, divide the domain model into subdomains, each representing a business operation, then specify all of the features you need for the product to assist your client in that business function for each subdomain. 3. Plan by Feature; Evaluate the difficulty of each feature and create corresponding tasks for group members to complete. During the planning stage, all group members should participate in the feature analysis with the viewpoint of each stage of development in consideration. Then, using the difficulty assessment, decide the sequence where each feature would be executed, as well as the team members that will be allocated to each set of features. 4. Design by Feature; The feature which will be planned and built would be determined by a chief programmer. He or she likewise identify the class owners and feature teams, as well as the feature objectives. 5. Build by Feature; This stage includes the implementation of all the elements designed to sustain the design. Interfaces are constructed here, as are functional and technical Rodrick 23 System Analysis & Design Assignment 1 elements, and a feature prototype is developed. After the unit has been tested, examined, and authorized, the feature may be introduced to the core build. Features of Feature Driven Development; In FDD, the entire system is constructed incrementally via feature development, with each component being planned, designed, and implemented separately before being combined into the overall model. FDD divides the whole project into little sections which can be completed in a short amount of time. The FDD model is an iterative model that enables the software developers to show off the product on a regular basis, either internally or to the customer. It involves fewer meetings. When do we use the Feature Driven Development; If your project becomes too huge and complex, you might want to explore employing FDD technique. This methodology is well-suited for long-term projects with frequent, consistent iterations that update and add functionality. It's made to keep the customer's demands and desires in mind at all times. So this can be used when your main your client’s requirements. Strengths of Feature Driven Development; Firstly, a characteristic that is a concentrated strategy is employed to track project progress. It enables many teams to operate synchronously. As a result, time is saved.’ It provides improved process tracking capabilities. It scales effectively to huge teams or projects. In addition to the foregoing, developer experience differs, which benefits the team. Most significantly, it improves learning chances for the rest of the team. Weaknesses of Feature Driven Development; For starters, it is perfect for large-scale projects but not for small-scale tasks. It results in a heavy reliance on a single individual. The Chief Programmer fills several functions, including coordinator, main designer, and mentor. Playing Rodrick 24 System Analysis & Design Assignment 1 numerous roles in a major project is problematic because it raises the likelihood of human error. In addition to the shortcomings listed above, the design of this technique occurs in such a way that iterations are not adequately defined by the process, as opposed to other agile methods. They are project-specific and meet project specifications. As a result, there is no Standard technique for iteration. Rodrick 25 System Analysis & Design Assignment 1 1.3 Differences between Traditional and Agile Methodologies. Traditional Methodology Agile Methodology This is used to develop simple and short projects This is used to prepare long and complicated projects. Considering this methodology, testing is conducted after the development process is finished. The testing and development stages are carried out simultaneously in this methodology. It has a lower level of security. It has higher level of security. In terms of software, it has less features. It has all of the features that users require. Freshmen are the ones who utilize it the most. Professionals make advantage of this methodology. Using this technique, development costs are reduced. This approach has a significant development cost. It is divided into five stages. There are just three phases to it. Software development businesses are less likely Normally, software development companies to utilize it. employ it. Table 1.3.1 Differences between Traditional and Agile Methodologies Rodrick 26 System Analysis & Design Assignment 1 2. Feasibility Study 2.1 What is Feasibility Study? A feasibility study is a method for establishing if a project or system is possible, including checking that it is both technically and legally possible as well as economically possible. An impartial and methodical analysis of a business's strengths and limitations is the goal of a feasibility study. It reveals if a project is worthwhile; in certain circumstances, that might not be possible to complete a project. There are several potential causes for this, including the need for excessive resources, which also hinders them from executing other jobs and may also cost more than an organization would recover by engaging on an unsuccessful project. 2.2 Types of Feasibility Study 1. Technical Feasibility: - The technological resources that the firm has access to are the main focus of this examination. It aids firms in determining whether the technical resources are enough and whether the technical staff has the skills necessary to turn concepts into functional systems. The assessment of the suggested system's technical needs, including its hardware, software, and other components, is part of the technical feasibility process. For example; An organization called ABC Pvt Ltd is setting up a new server where under the Technical Feasibility they take into account of the required resources in order for the setup. It was clear that they need a high end server and an operating system for it, few client computers and some staff to manage it. 2.Financial Feasibility: - Before allocating financial resources, this evaluation often includes a cost/benefit analysis of the project to assist businesses examine the feasibility, costs, and advantages related to a project. Additionally, it improves project credibility and serves as an impartial project evaluation, assisting decision-makers in identifying the favorable economic advantages that the proposed project would bring to the business. For example; The Financial Feasibility can help ABC Pvt Ltd to have a proper budget allocation for the costs that might arise on the server setup. 3. Legal Feasibility: - This evaluation looks at any potential legal infractions of the planned project, including zoning rules, data protection laws, and social media laws. Rodrick 27 System Analysis & Design Assignment 1 For examples; Let's imagine that ABC Pvt Ltd wishes to develop a new office block in a certain area. The organization's preferred location may not be permitted for that kind of operation, according to a feasibility assessment. By realizing that their project was unworkable from the start, that company has just avoided of spending a great deal of time and effort. 4. Operational Feasibility: - This evaluation entails doing research to evaluate whether—and how effectively—the goals of the business can be satisfied by finishing the project. Operational feasibility studies also look at how a project plan fulfills the needs established during the development process of a system. For Examples; This shows how effective an installation of a server can be for ABC Pvt Ltd such as faster workflow, less storage required, higher security for the data. 5. Scheduling Feasibility: - Since projects fail when they are not finished on schedule, this assessment is crucial to their success. A firm calculates how long it takes to finish the project while determining scheduling feasibility. For example; This Scheduling Feasibility aids in finishing up the tasks on time based on the server setup for ABC Pvt Ltd. 2.3 Importance of Feasibility Study Increases the focus of project teams, providing a thorough report on the parts of the project that must be completed for the team to conduct, making it simple for them. Discovers new opportunities, new alternatives to the actual idea under investigation may emerge from the feasibility report competition. Finds a good cause to start the project, gives out all the benefits that can from the idea which promotes the start-up of the project. Increases the likelihood of success by assessing many factors, this specific research may assist you in recognizing any potential obstacles that may appear while carrying out the project, providing you with advanced warning so that you can take preventative measures. Rodrick 28 System Analysis & Design Assignment 1 Helps in project decision-making, if you do this study, you will be capable of understanding all the positive and negative factors of this particular project, which will enable you to make more informed decisions. Highlights reasons not to move forward, this particular study helps to state out all the negative factors of the project that can be deadly for the organization if proceeded. 2.4 Strengths of the Feasibility Study Gain Useful Market Perspectives, the Feasibility study will include a thorough analysis of the market research, recommendations of nearby suppliers, demographics, and consumer surveys. As a result, the study will enable you to determine the level of demand for your good or service. Improve your cash flow projections, you can decide if you have sufficient money to appropriately support the project by conducting a study. To assist generate initial finances to start the project, the study will evaluate financing options and potential grant submissions. This study is a useful resource for stakeholders involved, investors, and entrepreneurs to gain overview of the project. Choosing the Best Time to Launch, the best time to launch your new product or service will be determined by conducting a feasibility study upfront in the project's development. 2.5 Weakness of the Feasibility Study Time and Effort Consuming, this particular study is being prepared based on multiple factors to produce the upmost valid outcomes of a project. The Cost of the Feasibility study, depending on the industry, the cost may vary. The Feasibility study can be a failure, there really is no universally accepted definition of each step of a feasibility study's term, and there is no established benchmark for its accuracy or quality. Rodrick 29 System Analysis & Design Assignment 1 (Feasibility Report Starts from next page) Rodrick 30 System Analysis & Design Assignment 1 Feasibility Study to replace an Automated system to the current Manual system. E-Solutions Private Limited Rodrick Jorgan Fernando COL00082099 Table of Content 1 1.Introduction………………………………………………………………………….(4) 1.1 Overview……………………………………………………………… (4) 1.2 Objectives of this Project……………………………………………… (4) 1.3 The Need of the Project………………………………………………. (5) 1.4 Overview of the Existing System in E-Solutions Pvt. Ltd…………… (5) 1.4 Scope of the Project…………………………………………………….. (6) 2. Feasibility Study…………………………………………………………………… (8) 2.1 Technical Feasibility……………………………………………………. (8) 2.2 Financial Feasibility………………………………………………….. (13) 2.3 Risk Feasibility……………………………………………………….. (16) 2.4 Schedule Feasibility…………………………………………………… (18) 2.6 Comparison of Current and Proposed System………………………… (19) Conclusion…………………………………………………………………………. (20) 2 Table of Tables Table 2.2.1 Financial Feasibility Table………………………………………..……. (13) Table 2.3.1 Risk Feasibility Table……………………………………………………. (16) Table 2.6.1 Comparison between Current and Proposed System…………………… (19) Table of Figures Figure 2.4.1 Schedule Feasibility (GANNT Chart) ………………………………….. (18) 3 1. Introduction 1.1 Overview E-Solutions Pvt.Ltd is a software development company, which uses a manual system to store their client’s personal data and their project details, and also project profiles for each project in a traditional storing method (File-based storage) which has proven to be ineffective, so E-Solutions decides to create an automated system to be as a more efficient substitute for the current manual system. Taking into consideration of many factors, this Feasibility Study may help in determining the pros and cons of this particular idea if being put to use, which will aid in with decision making process whether or not to proceed with this automated system for E-Solutions. Automated system functions are a mix of software and hardware that are created and configured to run automatically without requiring input from a user for each task. A vast variety of options, including tracking and management of systems, data security applications, industrial automation systems, automated response systems, and more, employ automated system functions. 1.2 Objectives of this Project To enhance the efficiency of the current system; these specific systems can operate around-the-clock without much human supervision, allowing people to focus on tasks that run in parallel with this one, which automatically increases the efficiency of the work. Reduction in costs; because these kind of systems doesn’t require that much of human supervision, the hiring cost of staff will be greatly reduced for E-Solutions Private Limited. Eliminating human errors; Operations that are automated simplify laborintensive activities, which results in less human errors for E-Solutions Private Limited. 24/7 active operation; these automated systems can work around the clock, which keeps the system active always. 4 Increase the competitiveness; the use of automation system can increase the efficiency, which end of the day increases the competitiveness of E-Solutions in the market. Reduction in Complexity; Automation removes the human element from menial jobs so that workers may concentrate on the work that only people are capable of doing properly. 1.3 The Need of the Project As mentioned before this particular project can be highly beneficial for E-Solutions, because the current system is proven to be ineffective and error prone. If E-Solutions decides to sustain with the current system throughout their future years, there will be no growth towards efficiency, which will impact the company and its sustainability status through long run. What if the project was not conducted? This won’t increase any of the work flow efficiency that is present in E-Solutions. The E-Solutions won’t have a proper growth in the market. This will not give any competitive advantage over their competitors. E-Solutions will miss the opportunity to save costs. The profit margins will remain the same when using the current system. 1.4 Overview of the Existing System in E-Solutions Pvt. Ltd. Currently E-Solutions Pvt. Ltd is using the Manual System to organize, manage and schedule all of their clients’ project details. A manual system is one that doesn't employ computer hardware with stored programs and maintains records by hand. When it comes to this Manual System there are benefits that can be gained from it as well as a lot of drawbacks. Benefits that E-Solutions Pvt. Ltd. can obtain from Manual System; The cost of system setup is lower; the setup cost will be less compared to the Automation system. Safe from Cyber threats; data that is manually saved cannot be deleted or stolen by cyber risks like viruses or hackers. 5 Easier to record all the details; all you need is some paper and a pen or pencil to record all the project details. Drawbacks that E-Solutions Pvt. Ltd. can obtain from Manual System; Occupies a lot of room; the major drawback of manual documenting system is the possible storage requirements. Easily damaged and easily misplaced; you have to have trust in the individuals managing the files when you file documents manually. There are several ways they might be harmed, misplaced, or lost. Difficult to make changes; it is far more difficult to make adjustments while working with paper papers. Poor security; Compared to automation system filling methods, paper document filing might be less secure. It's simple for misplaced documents to get into the wrong hands that can be misused. Delay in file access; It takes a lot of time to file documents manually. Finding the information when it is needed might require time in addition to organizing and storing the files. 1.4 Roles and Responsibilities The Main Actors of the System; 1. Project Directors 2. Project Managers 3. Team Leader and the Employees 4. Employees The Responsibilities of the actors; 1. Project Directors: Creates the Project and a Project Profile for it. He/She also creates the teams for the given project. Assigns a team leader for the given project. 6 2. Project Managers: Is responsible for assigning task to various teams working on the projects. 3. Team Leader: Assigns the tasks to the Team members. 4. Employees: Carrying out the tasks which was assigned by the team leader. 1.5 Scope of the Project As for the scope of the project, the primary goal is to increase the efficiency of the work flow for E-Solutions, where ultimately the scope is for a bigger expansion of the company and increase in revenue in long run, which will automatically put them in competitive advantage in the market compared to others. 7 2. Feasibility Study 2.1 Technical Feasibility As mentioned above Technical Feasibility is the complete evaluation of the software, hardware and other requirements that are needed for this proposed system (Automation System). When it comes to this project there are many requirements that have to be met in order for the success of this project, they are mentioned below; 1. Programming Language (Python) In order to create or develop this automation program a programming language is required as for this project Python is recommended. Python is an object-oriented highlevel programming language, which is frequently used for creating websites and applications, automating repetitive tasks, and analyzing and displaying data. Things that can be done using Python; Analysis of data and artificial intelligence Website creation Scripting or automation Software prototyping and testing Routine chores Reasons we use Python for the Automation system instead of other languages; One of the specialized where programmers use Python is for scripting or automation purposes, python may be used to automate tasks that you often undertake in order to increase productivity. Scripting is the method of constructing computer code for such automated procedures. Python is considered one of the most popular languages, which means that many programmers are familiar with it which makes it easier for E-Solutions to assign a team for this project. It is considered as an open source language that consists of a large and active community that contributes to and expands the ecosystem while also contributing their own libraries and efforts. So the programmers of E-Solutions will have certain level of help from the productive community which helps them to speed up their work. 8 2. Interface Design Tools Under the Interface Design Tool, I have recommended the Adobe XD and Draw.io for the project at hand. Adobe XD Adobe XD enables you to create UI and UX designs that feel and look like the real deal. Adobe XD is a user interface designing tool for building product prototypes, mobile applications, and websites. It gives designers the tools and information needed to make completely functional prototypes, such as workflows, element generation, animation transitions, and other dynamic aspects. Reasons we use AdobeXD to design the Automation system instead of other software; The interface of Adobe XD was created to make it as simple and quick as possible for UI/UX designers of E- Solutions to generate designs. Wave farewell to concealed menus and panels with XD because the tools and functions that creators use the most frequently are always exposed on the platform. Using Adobe XD Libraries, you can combine the strength of Creative Cloud Libraries with the flexibility to share a design system throughout the designers and the higher management of E-Solutions. Adding Plugins are an excellent feature in Adobe XD which extends its own power which is utilized by the developers. This can dynamically improve the Automation system design’s output and architecture. The specific feature 3D Transforms is also included in Adobe XD, that helps developers illustrate their design in a more dynamic way. Draw.io A proprietary tool for creating charts and diagrams is called Draw.io. The program gives you the option to design your own layout or use the automated layout feature. They 9 provide a wide variety of shapes and several graphic components to help you create a unique diagram or chart. Reasons we use Draw.io to design the Automation system instead of other software; This particular software enables user to store their work in clouds that is accessible by all the other developers in E-Solutions, which makes it flexible for them to work with the designs. This is a simple to use software and well suited for startups, so working with Draw.io can make the working process even faster. 3. Hardware Requirements High-End PCs A High-End PC is computer with all the top- shelf hardware. These PCs will give out great performance levels that helps the developers in the E-Solutions to finish up the project (Automation System) faster in a more efficient way. Reasons we use High- End PCs; When it comes to coding it is a necessity to have a machine that gives out a decent amount of performance, so that the programmers can work efficiently and finish up the project (Automation System) on schedule. These PCs must manage several software applications of various kinds that demand great performance. Servers A server is a device that offers a service to another computer program and its user, referred to collectively as the customer. A server is a piece of hardware or software that processes requests sent over a network and answers to them, where requests are made using a device, known as a client, and responses are sent to it as well. The fundamental server hardware devices remain the same even though a data center utilizes rack, blade, or tower servers and assist enable simultaneous data processing at any scale. These hardware components are Motherboard, Processor, RAM, Hard disk drive, Power Supply, and GPU. Reasons we use Servers; 10 The server contains more storage that can aid in E-Solutions in storing of all the Project Profiles and other sensitive details, this can save up more space when compared to older used by them (Manual System). The primary job of a server is to view, store, and transport all data from other computer systems through a network. In smaller businesses, local networks are used to link several client computers. So E-Solution can use this feature to spread out their client project details to all the necessary employees in a more efficient way. By establishing work routines that automatically organize activities and processes, it makes end-to-end management possible and lowers human error rates for ESolution. Having a server for E-Solutions makes it highly secure and reliable when it comes to proper storage of their clients details and the details of their projects. Networking Devices Usually for the client computers to communicate with the server a LAN setup is required and in order to setup a LAN network for E-Solutions a certain set of hardware devices are required such as a Router, Ethernet cables and a Broadband connection. Router: - It is a device that aids in directing packets of data to their appropriate IP addresses and enabling several machines to share a single Internet connection to manage traffic across various networks. Ethernet cables: - It the actual cable that carries the data packets and signals throughout all the network devices and client computers. Client Computers A client computer is considered a computer or a device that utilizes the resources in a server by connecting to it. The communication process between the server and the computer is simple, the client requests a certain resource or piece of data from the server, and the server responds by providing it. 11 Reasons we use Client Computers; To manage all the data of the client`s projects which are stored in the server. Using these devices, the project directors can create a project profile and assign it through various teams efficiently. 4. Software Requirements Considering all the hardware devices that are stated above most of these devices needs certain software to run. You need to pay in order to optimize the full capabilities of some software stated below. The required software is stated below in order to make this project successful (Automated System); 1. For Python Language the software that can be used is PyCharm 2021.3.1. 2. Adobe XD 3. Draw.io 4. Operating System for the High-End PCs (Microsoft Windows 10 Pro). 5. Operating System for the Client PCs (Microsoft Windows 10 Pro). 6. Operating System for the Server (Windows Server). 5. Staff Allocation Below shown members with different designations are the actual team that should be allocated for the buildup of this project (Automated System). The exact amount of these designated members ought to be allocated from the E-Solutions staff; however, if no such members exist or there are insufficient numbers of the necessary staff, E-Solutions will have to hire some. 1. Junior Engineers (2) 2. Mid-Level Engineers (1) 3. Senior Engineer (1) 4. Mid-Level UX Designer (1) 5. Senior UX Designer (1) 6. Tech Lead (1) 12 2.2 Financial Feasibility As shown in the below table, it shows all startup costs that are involved in the actual project (Automated System) that is under taken. This particular Financial sections involves the cost of hardware components of the server, hardware components of the high end PCs, hardware components of the client PCs, software subscriptions, staff allocation. Cost Calculation Hardware NO Information No.of. Units Unit Price (Rs.) Total Price Components / No.of. / Monthly (Rs.) (Server) Staff Salary/ Monthly Subscrption Hardware 1 ASUS WS C621E Dual 1 Motherboard 200,000 200,000 2 Intel Xeon (Processor) 2 250,000 500,000 3 Corsair Dominator Platinum RAM 8 30,000 240,000 4 WD Gold SN600 (SSD 4TB) 4 20,000 80,000 5 NVIDIA Tesla V100 (VGA) 4 100,000 400,000 6 EVGA Supernova 1600 1 T2 (PSU) 90,000 90,000 7 AMD Ryzen 7 5800x (Processor) 4 120,000 480,000 8 Asus TUF GAMING X570-PLUS (WI-FI) Motherboard 4 90,000 360,000 Components (High-End PCs) No.of.PCs required (4) 13 Corsair Vengeance LPX 16GB (16x1) DDR4 3200MHz C16 Memory Adata Ultimate SU650 240GB (SSD) 8 25,000 200,000 8 10,000 80,000 Asus TUF Gaming GeForce GTX 1660 Ti EVO OC Edition 6GB GDDR6 Graphics Card Corsair CX450 4 150,000 600,000 1 100,000 100,000 13 Asus VP249HE 23.8"Inch 75Hz LCD Full HD IPS Monitor 4 30,000 120,000 14 AMD Ryzen 3 3200G (Processor) 4 30,000 120,000 15 Asus Prime B460-Plus Motherboard 4 20,000 80,000 16 Adata 8GB (1x8GB) DDR4 2666MHZ 4 6000 24,000 17 Seagate Desktop HDD 1TB 4 12,000 48,000 18 Adata XPG Pylon 550w 80 Plus Bronze Power Supply MSI Pro MP241 23.8” Inch FHD IPS Level Ultra Slim Frameless Monitor 4 10,000 40,000 4 25,000 100,000 Adobe XD (XD monthly package rate for small and medium sized teams). Draw.io (20 users are allowed for this package per month) - 8,242/per month 41,210 - 5,377/per month 26,885 9 10 11 12 Hardware Components (Client PCs) No.of.PCs required (4) 19 Software 20 Subscriptions (5 month project) 21 14 Staff 22 Windows Server 2022 Edition (Standard) - 3,83,263 383,263 23 Windows 10 Pro (Windows for Business) - 71,346 71,346 24 Junior Engineers 2 30,000 300,000 25 Mid-Level Engineer 1 50,000 250,000 26 Senior- Engineer 1 80,000 400,000 27 Mid-Level UX Designer 1 40,000 200,000 28 Senior UX Designer 1 70,000 350,000 29 Team Lead 1 120,000 600,000 Allocation (5 month project) Total Cost 6,484,704 Table 2.2.1 Financial Feasibility Table Budget Allocation As shown in the above table the Total cost is 6,484,704 in order to move on with this project E-Solutions Private Limited should allocate around 7 million (7,000,000) to cover up all the costs. The extra amount which is around 5 lakhs (500,000) that has been included in the budget amount is for minor expenses or unexpected expenses that may arise. 15 2.3 Risk Feasibility No. Description of the Risk The Level of The Level of How to Minimize these risks for possibility Impact of the E-Solutions? that the Risk Risk can happen 1 Cyber Threats; these types of Possible Medium There are many ways to reduce threats are common as this is an this risk, you can start by automated system that includes purchasing and installing using a server and a network. premium anti-virus software, install a proper firewall, train and educate your employees based on prevention of cyber threats, data backups. 2 Misuse of client’s personal and Rare High This particular risk can be project details. This can cause reduced by giving access to destruction to the company’s confidential details of the reputation and can attract legal company and the clients to issues for the company. authorized personal only rather than giving it to all the employees of E-Solutions. 3 Unauthorized access towards Rare High the server premises. This risk can be reduced by installing 24/7 surveillance system, imposing security guards. 4 Power cuts and Outages, Possible Medium You can overcome this risk by sudden power cuts and outages simply adding generators for can shut down the server and backup power. other hardware equipment causing interruption at work. 5 Highly dependent on the Highly automated system, just because Possible Medium Employees have to be trained in a way to put more concern into the 16 it is effective in work and work process even if it is reduces the error prone in the automated, they also should be workflow doesn’t mean it is monitored closely, where this can completely eliminated. be achieved by adding up supervisors for them. Table 2.3.1 Risk Feasibility Table The table above shows a complete risk analysis that may arise for E-Solutions if the automated system is put in use. The main reason behind this risk analysis is to give the ESolutions to give the possible risks they may encounter so that they can take the necessary precautions in order to keep the workflow stable even if there is any interruption. The Level of the possibility that the Risk can happen; Rare Possible Highly Possible The Impact of the Risk; Low Medium High 17 2.4 Schedule Feasibility This particular project (Automated System) should be completed within 5 months of time period or less. Below shown is a GANNT Chart, where the system’s development process has been divided and assigned time slots for it, so that each and every process should be done with in the schedule. Teams may better organize their work around schedules and manage resources when they use Gantt charts. Gantt charts are another tool used by project managers to keep an overview on their workload. They show, along with other things, how dependent tasks, checkpoints, and tasks with different start and end dates relate to one another. Figure 2.4.1 Schedule Feasibility (GANNT Chart) 18 2.6 Comparison between Current and Proposed System. Current System (Manual System) Proposed System (Automated System) It is proven to be less effective than the proposed system. Creating reports are much slower and more time consuming. It consumes a lot of space due to a lot of file storage. The startup costs are lower in manual system compared to the automated system. It is much more effective than the current system. Creating reports are much faster and less time consuming. It doesn’t consume that much of a space compared to the current system because everything is stored as intangible data. The startup cost is much higher compared to the manual system. The current system doesn’t have any backups to the data files in case of an emergency. This proposed system has data backups in case of any emergency. Adding, accessing, updating and clearing off data files are much slower process that you think. In the manual system lots of human mistakes can happen or simply its error prone. Adding, accessing, updating and deleting data from the server storage are much easier and faster. Compared to the manual system, lesser human errors are present in the automated system. As it is a complex task to record the data in the manual system, it wears out he employee leading to ineffectiveness in the workflow. As it is a simple task to record the data in the automated system, it doesn’t wear out the employees maintaining the effectiveness in the workflow. Table 2.6.1 Comparison between Current and Proposed System 19 Conclusion As shown above it is complete analysis of how the new automated system can be effective for E-Solutions Private Limited. Automated system is being put to use by many well-known and highly reputed companies that aid in increasing its productivity. I highly recommend E-Solutions to put in use this automated system, instead of considering the efficiency levels this particular system can take E-Solutions into a whole new level, just like stepping into the future. (Feasibility Report Ends here) 20 3. Analyzing the proposed system using a suitable methodology for E-Solutions. 3.1 Applying the Agile Methodology for the Proposed system. As for the proposed system (Automated system) for E-Solutions, Agile methodology is being applied in order to develop it. Agile has recently dominated the fields of system and project management development. It appears that everyone is discussing this project management approach. Companies are searching for procedures, strategies, and tactics that might enable them to do operations without any interruptions because the business environment is changing quickly. Agile approaches are being adopted by many companies in an effort to boost team productivity, boost client satisfaction, and broaden project scope. Agile approaches enable companies to adapt to changing market conditions and effectively finish more projects. Each developer from E-Solutions will share project ownership under the agile process. To finish the sprint in the allotted time, each and every one of them actively participates. 3.1.1 The reasons of using Agile methodology rather than Traditional for the Automated system and its effectiveness for E-Solutions; More flexible; Agile technique is far more adaptable than Traditional methodology whenever it involves making modifications to a product or a procedure. The agile technique makes it simple for developers to experiment with and attempt a task that wasn't intended while they're working. This methodology concentrates on the product rather than complying with a set framework is its strongest feature. So the developers of E-Solutions can modify the system freely, while in the development stage. More Transparent; With the agile technique, it's all transparent and available. The start, development, analysis, and testing include active participation from all the developers Rodrick 30 Strategic Analysis & Design Assignment and decision-makers of E-Solutions. In contrast, the project manager controls the traditional method, preventing others from participating in the decision-making process. The agile technique makes it possible for members of the team to see the development from beginning to end. Getting productive feedback; the Agile technique offers a high approval rate for input, making it the preferred choice for many team leaders and developers. In order to produce a high-quality enhanced system, they may respond to client’s demands as clients get to approve each iteration. These active and enhanced feedbacks can help the developers of E-Solutions to generate a better Automated system. Complex project completion; The greatest option for organizing large and complicated projects may be agile. Consider agile because it is a better match for complicated programs, regardless of if your program has several interrelated stages or one stage is reliant on several others. High quality and enhanced system outcomes; The developers of E-Solutions can produce an enhanced automated system by implying agile methodology because this particular methodology clearly states out the requirements of the project, it contains regular testing, it also contains Sprint retrospectives for rapid improvements in the system throughout the cycles. More predictable costs and schedules; E-Solutions can have a more precise estimation of all the expenses that might result from the deployment of the automated system by using the agile approach. E-Solutions can also have a more accurate schedule system, which will help them complete tasks on time. Rodrick 31 Strategic Analysis & Design Assignment 3.2 System Requirements System requirements are a list of the features that a system must have in order to fulfil the needs of the client. System requirements are a wide and specific topic that may be applied to many different objects. Whether talking about the program or business operations from a general perspective, or the system requirements for specific PCs. The most efficient method to satisfy users’ requirements and save expenditures is through system requirements. They represent the most crucial component of any initiative since if they are not met, the project cannot be considered finished. The client should express precisely what they desire and also how they would like it in the phrase. A customer's demand could be to fulfil a deal, resolve an issue, accomplish a goal, reach a standard, or adhere to any additional project requirements. System requirements can be separated into two categories Functional requirements and Non-Functional requirements. In essence, it involves the demand that the user has the capacity or desire to employ a system capability or activity. As a result, it describes the tasks a user may carry out using the system. Users with minimal technical skills can nonetheless grasp user needs, which include both functional and non-functional criteria. The characteristics of System requirements; These requirements are usually written for the developers. This shows a fully detailed section of functional and non-functional requirements. These specifications include more organized forms and visual abbreviations in addition to being able to be expressed in normal language. It includes a thorough breakdown of the project services. It is written in normal language and has a System Requirement Specification attached to it (SRS). 3.2.1 Functional requirements Product characteristics or functionalities that programmers must provide in order for users to complete their duties are known as functional requirements. Therefore, it's critical that you make them apparent to the development team as well as the investors and stakeholders. Functional specifications often explain how a system will behave in a certain situation. For example: - The system should have a feature where it should send an approval request once the user has entered his details. Rodrick 32 Strategic Analysis & Design Assignment Importance of Functional requirements; The group can more correctly predict cost and development time and produce a system that satisfies expectations when given specific, high-quality criteria. Thoroughly documenting functional requirements during the discovery process enables early mistake detection and correction, which saves time and money. Clear documentation of requirements helps to prevent misconceptions by keeping all programmers, designers, and quality testers on the exact page and focused on the same objectives. Examples of Functional requirements; Authentication Calculations Business rules External Interfaces Functional requirements for the Proposed System (Automated System) for ESolutions; 1. Should be able to create ‘Project Profile for each project, where it should contain ‘Project ID’, ‘Project personal cost’, ‘List of tasks assigned’, ‘Assigned project manager’. 2. Calculate employee cost and total cost. 3. The interfaces of the system should be user friendly that should be interactive and dynamic. 3.2.2 Non-Functional Requirements Non-functional requirements describe limitations that have an impact on how a system should perform as compared to functional requirements, which specify what a system is expected to do. For example: - The particular system should handle up to 5 million users without a decline in performance. Importance of Non-Functional requirements; They guarantee that the software system complies with applicable laws and regulations. Rodrick 33 Strategic Analysis & Design Assignment They outline the software's reliability and quality feature. They guarantee the software system's dependability, stability, efficiency, and scalability. They guarantee a positive user experience and simple software operation. Examples of Non-Functional requirements; Response Time and Net Processing time. Agreements Security System Management Data Architecture Non-Functional requirements for the Proposed System (Automated System) for ESolutions; 1. The particular databases that store the data. 2. The personal and project details of the clients should be highly secured and encrypted. 3. The response time and net processing time should be below 3 secs for all the functionalities. 4. The system should be able to handle up to 100 users simultaneously without any drop in performance. 3.2.3 Differences between Functional and Non-Functional requirements. Non-Functional Functional Specify what the system should accomplish Give examples of system quality and effectiveness in general. characteristics. Include every action that the software must take. Describe every facet of an excellent user experience. Ensure that all essential operations are carried out Ensure that the needs of the users are met. correctly. Simple to define. Rodrick Difficult to define. 34 Strategic Analysis & Design Assignment They initially undergo testing. Following functional testing, they are examined. Give an account of the task completed. Define the work's personality. Specific product attributes. Specific quality characteristics. 3.3 User Requirements The User Requirement Analysis outlines the functional requirements for the system that consumers expect from it. The requirements for users are exactly what they sound like. They are specifications that the client has established. In regards to the system to be created, the necessary flow, and the conditions under which the system should be produced, these criteria describe the process that it should operate. As for E-Solutions the particular proposed will have certain User requirements; The characteristics of a good User requirements; It should be complete, Each and every aspects of concern, including all stages of the product life cycle, must be covered by requirements. It should be testable, Quantitative (numerical) restrictions, limitations, ranges, and desired values should be stated wherever feasible. Testable requirements may be evaluated to see if the design objective is achieved. It should be minimal, requirements stated should be clear and minimal, and needless requirements should be eliminated. Don't obscure the necessity with extraneous language. The importance of User requirements; It gives them a basic foundation to system that is to be designed. This helps to arrange the client’s thoughts and ideas that they have in mind logically which can later be applied to the system. This helps the developers test the system to ensure it satisfies the client's expectations. User requirements for the Proposed System (Automated system) for E-Solutions; 1. Should be able to identify the employees cost and all other costs for a project. Rodrick 35 Strategic Analysis & Design Assignment 2. Should be able to assign tasks to a project. 3. Should be able to assign a project manager. 4. Should be able to create teams for the projects. 5. Should be able to assign employees to different teams. 6. Should be able to assign tasks for various teams and employees. 3.4 Differences between System requirements and User requirements. System requirements User requirements Declarations that provide in-depth For clients only. Statements made in natural explanations of the capabilities, operations, and operational limitations of the system. Specifies what needs to be done in order to be included in a language, which is user-friendly. commitment between the customer and the contractor. Designed to serve as a foundation Outline the capabilities the system for software architecture. system offers and the limitations of its models may be used to show. functioning. May contain tables or illustrations. Both functional and non-functional criteria must be described. Users of the system without indepth technical understanding should be able to grasp it. Rodrick 36 Strategic Analysis & Design Assignment 4. Designing the System that meets the User and the System requirements. 4.1 System Design Specification System Design Specifications refers to each system's functional description. An extensive explanation of the requirements analysis, operating conditions, architecture, documents, and database design may be found in a system design specification. Input form, various interfaces, output layouts, processing logic, and intricate design are also covered. The operational criteria listed in the system design specifications are how a system fulfills them. Based on the system, this may also contain guidelines for testing certain specifications, configuration options, or an analysis of operations or coding. Examples of content in System Design Specification; Data kinds and particular inputs that must be submitted into the system. Coding or calculations needed to fulfill specified requirements. Describing the technological safeguards to make systems secure. Outcomes the system produces. (System Design Specification Report Starts from the next page) Rodrick 37 Strategic Analysis & Design Assignment System Design Specification Report E-Solutions Private Limited Rodrick Jorgan Fernando COL00082099 Table of Contents 1 1. Introduction……………………………………………………………………..….(4) 1.1 The Purpose of the System Design Specification related to E-Solutions. (4) 1.2 Overview of the Automated System of E-Solutions………………….. (4) 1.3 Roles and Responsibilities……………………………………………. (5) 2. Security Policy……………………………………………………………………… (7) 4. System Design……………………………………………………………………… (10) 3.1 System Architecture Design………………………………………… (10) 3.2 Database Design……………………………………………………… (12) 3.3 Interface Design………………………………………………………. (13) 3.4 Program Design……………………………………………………….. (15) 5. System Security and Integrity Controls…………………………………………… (19) 2 Table of Figures Figure 3.4.1 Example of an Algorithm in flowchart and pseudocode……………….. (16) Table of Tables Table 3.1.1 Server Hardware………………………………………………………….. (11) Table 3.1.2 Client PC Hardware………………………………………………………. (11) Table 3.1.3 Server PC Software………………………………………………………. (11) Table 3.1.4 Client PC software………………………………………………………. (12) Table 5.1 Examples of Control Functions……………………………………………. (20) 3 1. Introduction The SDS report outlines design objectives and factors, offers a high-level summary of the system architecture, and specifies all data design related to the system, along with the human-machine interface and operating situations. A System Design Specification report is being developed for this Automated System as part of the project at E-Solutions to replace the conventional storage system with one that is thought to be more efficient. The particular report contains the complete evaluation of all the functionalities and design of the Proposed system (Automated System). The documentation provided below will have various sub-parts that solidify the system capabilities such as; the overview of the system, the architecture of the system, what are the system security controls used in E-Solutions and many more. 1.1 The Purpose of the System Design Specification related to ESolutions. In addition to providing the project team with direction on the structure of the Automated system to be created for E-Solutions, the SDS records and keeps track of the data essential to determine the architecture of the system layout efficiently. Depending on the specifics of the information technology (IT) project and the system development methodology employed for building the Automated system, design and architectural papers are created progressively and repeatedly throughout the system development life cycle. The project manager, project team, and development team are its intended audience. The Software Design Specification for the Automated system for E-Solutions describes the system elements, functions and configuration necessary to properly operate the system within the User and Systems Requirements mentioned above. The technical requirements will be used to develop the criteria for technical testing and acceptance of the system. 1.2 Overview of the Automated System of E-Solutions. This specific Automated system is being used to replace the current traditional system. This proposed system technically proven beneficial to E-Solutions in many ways. E- 4 Solutions wants to replace their present traditional manual process with an automated one. As a result of this change, the firm's goal is to significantly boost efficiency while cutting expenses. Through this, the business hopes to set the standard for the industry and have a competitive advantage over others in the market. All the functionalities of the system have been listed below; Creating of Project Profile; It aids in producing Project Profiles for the clients’ projects that are undertaken by E-Solutions. These project profiles include various details about the project that can be assigned by the project director such as, the total cost for the project, the list of tasks that are required for the project, the assigned manger. Automated Scheduling System; This is a scheduling system that aids in starting projects on time and also manages time duration between tasks so that the developers will have a track of time they have. Update and Delete Project Profiles; This system also enables the project director to update and delete the existing project profile. Calculate Costs and produce Invoices; This feature aids in cost calculation for all the projects and create invoices for it that is presentable to clients. Monitoring the Progress of Projects; This feature aids in monitoring the separate tasks that are assigned for all the projects, which ultimately decides the progress of the project. 1.3 Roles and Responsibilities This specific part illustrates all the roles and responsibilities that should be followed by all the staff of E-Solutions in order to operate the automated system in proper manner. Project Director: - He/She should create a Project Profile which includes; Assigning tasks to the project. Creating the teams for the project. Assigning project manager for a team. Tracking the progress of the overall project. 5 Project Manager: - Project manager is a person who undertakes the project given by the Project Director and takes full responsibility for the completion of the project. Preparing and allocating proper time schedules for each task. Assigning team leaders for the sub teams. Assigning tasks for the team leader. Tracking the progress of the task assigned. Team leader: - Team leader is s person who undertakes all the tasks from the Project Manager where he divides and distributes it among the team members. Supervising the team members. Assigning tasks between team members. Tracking the progress of the task assigned on team members. Team Member: - Team Member is a person who undertake tasks from the Team Leader and takes full responsibility for the completion of the project. Completion of the tasks assigned. Following the time schedule when it comes to tasks. 6 2. Security Policy The guidelines for using a firm's IT services are outlined in an IT security policy. The regulations should be clearly laid out in the policies, along with access restrictions and any penalties for breaching them. The business digital threat and amount of risk level are defined by an IT security policy. The IT security policy establishes the parameters for emergency response by outlining how individuals may be observed and the possible consequences of policy violations. The intention is to make the policies and processes for employing company resources crystal apparent. Data aimed at both end - user and IT and security personnel is included. IT risk hazards inside a business should be identified and addressed through IT security policies. They achieve this by focusing on the three main IT security objectives, often known as the CIA Triad. CIA Triad; Confidentiality: - Preventing the exposure of private information to unauthorized parties. Integrity: - Confirming that data hasn't been altered while being stored or transported. Availability: - Granting qualified users ongoing access to the information and systems. All these IT Security Policies that are stated below are based on E-Solutions business objective, which is the proper usage of the automated system. The E-Solutions should follow all these IT Security Policies that are stated below in order to place an additional security barrier for their data. The security polices E-Solutions should follow; Acceptable Use Policy: - The appropriate use of equipment is described in the Acceptable Use Policy. In the usual process of business, it is employed to serve the goals of the corporation, users, and consumers. Improper utilization information systems and the danger it causes are both defined in the Acceptable Use Policy. The network system might be compromised by improper action, which could also have legal repercussions. For examples; when an employee from E-Solutions uses the computer equipment and server for purposes other than performing his or her duties, it is an example of improper usage. 7 Security Awareness and Training Policy: - All employees of E-Solutions should receive training in security awareness so they can effectively perform their responsibilities and adequately protect corporate information. Education and training about the security policy and aid in the development of an idea of how these policies safeguards the company, its clients, and its staff should be among the objectives of the security awareness and training policy. Remote Access Policy: - Linking from outside host computer to the business's network is known as remote access. The remote access policy is made to reduce the risk of suffering losses brought on by illegal usage of resources. The terms of this policy must cover both sending and receiving emails as well as using network resources, and it should be addressed to all staff of E-Solutions. The conditions for site access should also apply to remote access. Employees must avoid from using their remote access for illicit purposes, for instance, and must not let unapproved people to utilize their work equipment. Secure passphrases, logging out when their device is left alone, and not accessing to certain other networks while linked to the corporate network should all be required under the policy. Change Management Policy: - The managing, approval, and tracking of modifications to an information system is ensured by the company's change management policy. The company must ensure that almost all changes are carried out with care to reduce any unfavorable effects on the company's operations and clients. The processes for organizing, evaluating, reviewing, approving, communicating, implementing, documenting, and post-change review are all included in the change management policy. Detailed and timely paperwork, ongoing supervision, and a formalized, specified approval process are all essential components of change management. Incident Response Policy: - The business continuity plan of a company includes the incident response policy. It describes a company's approach to a data security event. Given that it concentrates on processes to be followed in the event of a data breach or other security threat, the incident response policy should be developed independently from of the disaster recovery plan (DRP). The incident response crew, the people in charge of evaluating the policy, the responsibilities of each member of the team, and the methods, tools, and resources employed to locate and retrieve corrupted or stolen data should all be covered by the policy. 8 Password Creation and Management Policy: - The password creation and management policy offers instructions on how to create, put into place, and evaluate a defined procedure for correctly establishing, updating, and storing secure and strong credentials used to confirm user identities and get access to corporate networks or data. The policy ought to cover education and knowledge of the value of selecting a strong and complex password. Network Security Policy: - A comprehensive network security policy implements a specific process for performing an ongoing evaluation of the online activity and the information system to guarantee the confidentiality, integrity, and availability of data on the company's systems. The rule makes ensuring systems have the proper hardware, software, or operational auditing tools. Data Retention Policy: -The data retention policy outlines the kinds of data E-Solutions must keep and also how long it should keep it. The policy specifies how the data will be maintained and disposed of as well. By removing redundant and out-of-date data, this approach will free up additional storage space. Data organization for future usage will also be aided by a data retention policy. Documentation, client records, transaction history, email communications, and contracts are examples of different types of data. For companies that keep confidential material, this policy is crucial. Organizations' obligations for data retention should be based on regulatory norms. 9 4. System Design 3.1 System Architecture Design A system's design, functionality, and other aspects are all defined by its conceptual framework, or system architecture. A detailed definition and visualization of a system that is set up to facilitate analysis of its components and functions is called an architectural specification. A system architecture can be made up of designed subsystems and structural components that will cooperate to construct the whole system. A system's architecture acts as a model. It establishes an interaction and coordination method between elements and offers an overview to control the system's level of complexity. It outlines an organized approach to address all practical and technical needs while maximizing standard quality characteristics like security and efficiency. Additionally, it entails a number of important organizational decisions connected to software development, each of which choices can have a substantial influence on the end product's quality, supportability, efficiency, and successfulness. Goals of the System Architecture Design; Reveal the system's architecture, but keep the specifics of its execution hidden. Visualize every situation and use-case. Consider addressing the demands of different stakeholders. Take care of both the operational and the quality needs. Lower the management objective while strengthening the organization's position in the marketplace. Enhance the system's performance and quality. Boost public trust in the system or the institution. Owing to system architecture design, which combines hardware and software components, one such composite system may be produced. 10 Hardware Below shown are the hardware element that are used in the operation of the Automation system; Server Hardware Hardware Component Specifications Processor Intel Xeon Mother board Asus WS C621E Dual Motherboard RAM Corsair Dominator Platinum RAM Storage WD Gold SN600 (SSD 4TB) GPU NVIDIA Tesla V100 (VGA) Power Supply EVGA Supernova 1600 T2 (PSU) Table 3.1.1 Server Hardware Client PCs Hardware Component Specifications Processor AMD Ryzen 3 3200G Mother board Asus Prime B460-Plus Motherboard RAM Adata 8GB DDR4 2666 Storage Seagate HDD 1 TB Power Supply Adata 550w 80 plus bronze power supply Monitor MSI Pro MP241 23.8 Inch monitor Table 3.1.2 Client PC Hardware Software Server PC Software Operating System Specifications Microsoft Windows Servers Table 3.1.3 Server PC Software 11 Client PCs Software Specifications Operating System Microsoft Windows RDBMS Microsoft SQL Server Table 3.1.4 Client PC software 3.2 Database Design Any data collected that has been properly structured for quick retrieval and search by a computer is referred to as a database, often known as an electronic database. Databases are designed to make it easy to save, retrieve, edit, and delete data while carrying out multiple data-processing tasks. Large quantities of data are something that database systems are made to handle. Building digital storage systems and offering data modification techniques are both included in data management. Moreover, regardless system failures or efforts at illegal access, the database system should retain the security of the data stored. If data is going to be transmitted across several users, the system must prevent any unforeseen consequences. A database management system (DBMS) objective is to change the accompanying; Information from data. Knowledge based on information. Understanding of the deed. Usage of Database query to access information; Either an action query or a select query is considered as a database query. A query that requests actions on data, such as insert, update, delete, or other types of data manipulation, is known as an action query. This is not to say that people merely enter arbitrary queries. A database has to accept a query using the specified code in order to comprehend requests. It is a query language in that code. A database may be queried using query languages, and the industry standard is Microsoft Structured Query Language (SQL). So E-Solutions private is recommended to use this standard language to access and manage their databases. 12 A database may be queried using query languages, and the industry standard is Microsoft Structured Query Language (SQL). Usage of the Microsoft SQL Server for E-Solutions is recommended; Microsoft created the relational database management system known as Microsoft SQL Server. It is a software known as a database server, and its main job is to store and retrieve data as needed by many other software programs. These programs may operate on the same machine or on a different machine over a network system. This particular Relational Database Management System uses SQL query as its language which makes it best suited for E-Solutions. So this particular application can enable ESolutions to create database servers, create tables for each category, record and store information that are essential to E-Solutions. Examples of basic components that might come under E-Solutions databases (Database Design); Storing of the Project Profiles of the undertaken projects. The “Project Profile” includes “Project ID”, “Project Personal Cost”, “Task Assigned”, “Project Manager Assigned”. (All of these data are stored in tables). Storing the generated invoices. Storing the clients’ personal details. 3.3 Interface Design The technique that developers use to create interface design in programs or electronic devices with an emphasis on aesthetics or style is known as user interface (UI) design. Designers strive to produce user-friendly and pleasant interfaces. Graphical user interfaces and many other types, such as vocal style interfaces, are referred to as "UI design." Different types of User Interfaces; Graphical User Interfaces (GUIs): - Users communicate via digitally controlled panels' visual displays. 13 Voice-Controlled Interfaces (VUIs): - With these, users communicate and interact with the system through speaking. Gesture-based Interfaces: - Users use their body movements to interact with 3D design spaces. Examples of basic Interface elements; Textboxes, buttons, check boxes, radio buttons and many more. Alerts, message boxes and many more. Search box, data grid view and many more. Taking into consideration the User and System requirements of the Automated System below stated are key points that ensure the best suited interface design for ESolutions; Ensure simplicity. The finest user interfaces are nearly transparent to the user, minimizing unneeded features and being unambiguously clear in their content. An effective interface is one that is straightforward. Be accurate and stable. Users will immediately feel at ease thanks to common aspects because they will instinctively know how to complete tasks. To guarantee that the users can rapidly understand how to repeat activities or procedures when required, stability is crucial throughout. Attract interest. Color, lighting, and material may be strategically used to detract attention from particular elements. Interact with users. always alerts users to activities, system events, and mistakes. Make sure that the user is aware of how long they should anticipate to wait if a program has to load for a few seconds. Use different types of Typography. To emphasize informational structure and coherence while make the information simpler to process and manage, various fonts, sizes, and text layouts might be employed. 14 3.4 Program Design Program design refers to the procedures a developer should follow before beginning to write the software in a certain language. Whenever these procedures are adequately documented, the finished software will be simpler for future developers to maintain. Three major stages of action are as follows; Recognizing the Program Utilizing Design Software to Produce a Model Create test data Recognizing the Program The analyst may well have produced a range of documented pieces that will aid you in comprehending what the software is intended to achieve when you are engaged in a project as one of several developers. Examples of these may include screen designs, narrative summaries, documenting of the processing processes, etc. If you are not working on a task and are writing a straightforward program, you could merely be provided a brief explanation of the program's goal. As for E-Solutions they have to gather up all the analyst and produce reports and use methodologies that aid in them understanding the requirements of the automated system and find out what is intended to achieve using the system. I would recommend ESolutions to take up the IPO approach for this, the input, process, and output phases of a system are represented by the IPO model. Inputs are represented as attempts and consumables that are added to a system at the start of its lifespan. The outcome that the system produces is represented by the output. Utilizing Design Software to Produce a Model There are various tools and models that is used for planning the logic of a program, but to main used one are Flowcharts and Pseudocode. It is required of developers to be able to comprehend and use pseudocode and flowcharts. These techniques for creating a program's model are typically covered in trainings. For flowcharting and pseudocode, there are various guidelines, the most of which are roughly comparable to one another. However, the majority of businesses maintain their own guidelines and types of 15 paperwork. The ability to swiftly adjust to any flowcharting or pseudocode guidelines for the organization where they operate is demanded of developers. 1. Flowcharts; A flowchart is a diagrammatic description of an algorithm or a step-bystep process for addressing a problem. 2. Pseudocode; Pseudocode is a simple language representation of an algorithm or other program's processes used when it comes to program design. Although pseudocode frequently employs standard programming language structure rules, it is written for humans rather than automated comprehension. So in that case I prefer E-Solutions to practice and use these main two methodologies for the program design which is shown above so that the designers and developers will have proper understanding of the overlay of the system. Figure 3.4.1 Example of an Algorithm in flowchart and pseudocode Create Test Data The developer provides certain input values and forecasts the outputs to create test data. For a basic program, this may be relatively straightforward, and the test data can be utilized to validate the model to see whether it generates the expected outcome. 16 Everyone is aware that testing is a method that generates and uses a significant quantity of data. Data used during testing serves as both the channel via which the tester impacts the program and the beginning circumstances for a test. It plays a key role in the majority of Functional Tests. As for E-Solutions you might you might need to Generate Test Data (the majority of the cases) or at least find an appropriate test data for your test cases based on the testing environment (is the test data is already created). E-solutions can generate test data; Manually Mass data transfer from the production environment to the test environment. Copying large amounts of test data from old client systems. Using Automated Test Data Generation Tools. The various testing kinds are outlined here, along with some recommendations for E-Solutions on their testing data requirements; White box testing; White box testing is a kind of testing process where the internal organization, code, and architecture of the program are examined to ensure input-output functionality and to enhance design, functionality, and reliability. Because code is exposed to testers during white box testing, it is also known as clear box testing, open box testing, and transparent box testing. Test data for E-Solutions that may be chosen by taking into consideration the following factors: To test as many paths in the source code of the program as feasible, test dataset may be produced to ensure that each path is tested at least once. Path testing involves evaluating each path at least once within the source code of the software. Test data preparatory work may be done to account for as many scenarios as feasible. When calling the program's functionalities, testing data may contain erroneous combinations of parameters. 17 Performance Testing; Performance testing is the kind of testing done to find out how quickly a system reacts to a specific task. This kind of testing aims to remove bottlenecks rather than uncover flaws. How can E-Solutions obtain real data for this test? Simple from their employees, the employees will be the users of the automated system so their experience in the usage of the system will be the data. Security Testing; The practice of security testing establishes if a system safeguards data from bad intent. To thoroughly assess a software security, the collection of data required by E-Solutions must include the following subjects; Confidentially Integrity Authentication Authorization Black box Testing; The tester in black box testing cannot see the code. Examples of Functional test cases for E-Solutions that may contain test data that meets the following requirements; No Data: -When no data is provided, check the response of a system. Valid Data: - Verify the system's reaction after submitting valid test data. Invalid Data: -Whenever invalid test data is supplied, examine the system's response. Illegal Data format: -Whenever test data is in an incorrect format, check the system responses. Use Case Test case: -Test information that matches your use cases. 18 5. System Security and Integrity Controls. Whenever an operating system is created, put into use, and kept up to keep out unauthorized entry, it is said to possess integrity of the system since the security measures provided for that system cannot be breached. System integrity is guaranteed via a multilevel-secure trusted computing platform foundation. The trustworthy computing platform is capable of defending itself from illegal user entry. An unauthorized software is unable to get beyond save or retrieve security, password verification, or taking over a controlled state. Existing security measures can help E-Solutions lower or lessen the danger to such assets. They cover all types of guidelines, practices, methods, techniques, plans, actions, and tools created to assist in achieving that objective. Examples that are easily recognizable include firewalls, surveillance equipment, and antivirus software. E-Solutions does not pick or apply security restrictions at random. Goal-setting comes first in their risk management approach, which starts with determining the overall IT security policy. Determining detailed control objectives about how they aim to successfully manage risk—come next. As an instance, one of the control objectives is "Our controls give strong evidence that both physical and logical entry to databases and data records is confined to authorized users." Another example is "Our controls give good assurance that essential infrastructure and systems are accessible and fully operational as planned." Main three control functions that can be employed by E-Solutions in order to achieve high standard system security; Preventive: - Any security mechanism that aims to avoid undesirable or unauthorized conduct is referred to as a preventive control. Examples includes control activities like division of roles, data categorization, and audits, as well as physical safeguards like fencing, locking, and burglar alarms, as well as technology controls like antivirus software, firewalls, and intrusion prevention systems. Detective: - Detective controls are any security mechanism or method that ESolutions can setup to identify and notify of illegal or undesirable behavior while 19 it is occurring or after it has already happened. Alarm systems or alerts from physical sensors (such as door or fire alarms) that notify security personnel, law enforcement, or system administrators are practical examples. Corrective: - Any actions performed to fix harm or return assets and capabilities to their former state after an unlawful or unwelcome activity are considered corrective controls. Technical remedial measures include restarting a machine, isolating a virus, halting a procedure, and applying patches to systems. An illustration of an administrative corrective control is the implementation of an emergency response plan. Examples of these Control Functions that E-Solutions can use; Preventive Detective Corrective Anti-Virus Software Burglar Alarm System Disaster Recovery Plan Firewalls Fire Alarms Business Continuity Plan CCTV Cameras Network Monitoring Isolation of Virus System Security Guards Surveillance System System Maintenance Biometric Locks Server Maintenance Employee Awareness Assigning White Hackers Table 5.1 Examples of Control Functions 20 Conclusion As shown above this particular document has been created in order to show the Automated system’s functionalities and its capabilities. This document helps the designers and developers of E-Solutions to understand the system and it also educates them the key points to increase the automated system’s effectiveness. (End of the System Design Specification report) 21 4.2 Justification on the effectiveness of the System and Methodology used based on the User and System requirements. As you know the old manual system is proven to be ineffective and error prone, where this inefficiency has put a halt for the growth of the company and its capabilities. When it comes to controlling the project time schedules, the manual technique has shown to be inefficient this can cause reputational damage to the company ultimately leading to loss of customer base and revenue for the company. This is just a basic outlay of the problems that are caused if E-Solutions continuing to use the manual approach. This particular Automated system is designed to suit up each and every goals of the company and it will aid the company to increase its efficiency. As previously said, all of the data will be kept on a server that has been digitalized, making it far safer than using files to store data. This not only secures the data but it reduces data redundancy and errors in the data that is to be stored. The most crucial aspect is that accessing, removing, and updating data will be quicker and easier for E-Solutions in the long term because employees won't have to constantly looking through large portions of files when they can simply click a button on their system to access the entire database. This particular aspect will definitely improve efficiency in the workflow of the company. Usage of the Microsoft SQL Server can provide E-Solutions with many features that other DBMS couldn’t. It provides greater performance that other DBMS, data storage and retrieval tasks are enhanced by the outstanding reduction and encrypting features of MS SQL server. One of the most secure database servers is MS SQL server, which has sophisticated encryption methods that make it nearly hard to breach the user-enforced security measures. Since MS SQL Server isn't an open-source database server, there is a lower chance of any cyber-attacks on the database. There are a number of advanced tools that could be utilized by E-Solutions in SQL Server that may be used to recover and regain lost or corrupted data. The entire database may be recovered with the use of sophisticated recovery tools; therefore, E-Solutions won't have to worry as much about damaged or lost data. When it comes to Interface part, the recommended interface which GUI is proven to highly effective and perfect for the automation system. This particular enables the Rodrick 38 Strategic Analysis & Design Assignment employees of E-Solutions to communicate visually with the Automated system visually. The user will be given choice points that are simple to identify, comprehend, and employ. Employees can quickly identify, categorize, and browse alternatives because data is represented by signs, shapes, and icons. A function may be obtained with just one click. Data presented visually is recognized more quickly than text is. GUI is free of command prompt clutter and includes aesthetically pleasing features. Long lines of computer language cannot adequately convey the feelings, remarks, and circumstances that visual pictures can. Employees may operate and display many programs simultaneously thanks to GUI, which increase the efficiency at work. The phrase "agile methodology" refers to an iterative and incremental methodology of handling and incorporating continually changing needs. This entails segmenting the whole developmental process cycle into a number of distinct jobs. The process is further divided into a variety of sub-tasks, each of which operates as a standalone module. A cross-functional team of developers, analysts, and testers from E-Solutions is assigned to each of these modules, and they each work on them separately, this particular procedure can help E-Solutions complete the system on schedule. The Agile methodology is created in a way that encourages quick feedback while also fostering improved teamwork and mutual trust, it makes the workflow faster and aids in producing high quality system for E-Solutions. The widely used and growth-oriented agile development technique assures not only prompt delivery of the project but also app responsiveness, which promotes total corporate growth and adaptability. The company's project management skills and productivity are enhanced through the use of agile practices. 71% of firms employ Agile techniques in their operations, based on a latest survey. “We believe that agility could also be used in multiple ways— in everything we do,” says Phillippe Husser, a survey respondent and Senior Partner of Progress Direction Michelin. “In fact, the world is changing very quickly around us, so much so that we cannot afford anymore to have projects taking two to five years to deliver, because, during this time, the initial requirements have changed.” (How effective is Agile Software Development Methodology? 2019) Rodrick 39 Strategic Analysis & Design Assignment Conclusion for all Activities Activity 1 In General, this particular part consists of complete explanation of the two main software development methodologies and its strengths and weakness of it. Not only that, but this entire section is made up of several models of these two approaches, each with its own characteristics, strengths, and weaknesses. Activity 2 This particular part contains the Feasibility report for the proposed system (Automated System), where it contains the complete analysis of the proposed system. This report can help E-Solutions Private Limited fully grasp the system properties, its benefits and drawbacks, which ultimately influences the decision of whether or not to deploy the system. Activity 3 All the User and System requirements for the proposed system (Automated system) are stated in this section. It’s possible to use Traditional methodology in developing the system but considering these User and System Requirements Agile methodology will suit best and will be more effective for this system’s development stage. Activity 4 This section has a System Design Specification report that provides E-Solutions with an idea of the actual design of the system. Taking into consideration the User and System requirements it also provides with certain suggestions on how to design the actual system. So E-Solutions can use this information to build up an enhanced system. Rodrick 40 Strategic Analysis & Design Assignment References 2022. Feasibility Study and Its Importance in Project Management. [online] Available at: <https://www.simplilearn.com/feasibility-study-article> [Accessed 16 August 2022]. Developer.mozilla.org. 2022. What is JavaScript? - Learn web development | MDN. [online] Available at: <https://developer.mozilla.org/enUS/docs/Learn/JavaScript/First_steps/What_is_JavaScript> [Accessed 16 August 2022]. Reactor, H., 2021. What is JavaScript used for?. [online] Hackreactor.com. Available at: <https://www.hackreactor.com/blog/what-is-javascript-used-for> [Accessed 16 August 2022]. Ephraim, D., n.d. 9 Reasons to use Adobe XD as a UI/UX Design Tool | ATAK Interactive. [online] Atakinteractive.com. Available at: <https://www.atakinteractive.com/blog/9-reasons-xd-is-ui-ux-design-tool-ofchoice#:~:text=Adobe%20XD%27s%20user%20interface%20is,to%20hidden%20menus %20and%20panels.> [Accessed 16 August 2022]. Computerhope.com. 2020. What is Draw.io?. [online] Available at: <https://www.computerhope.com/jargon/d/drawio.htm> [Accessed 16 August 2022]. Watts, S., 2020. What is Server Automation? Server Automation Explained. [online] BMC Blogs. Available at: <https://www.bmc.com/blogs/what-is-serverautomation/#:~:text=It%20enables%20end-toend,enable%20a%20continuous%20delivery%20process.> [Accessed 16 August 2022]. Homepage.cs.uri.edu. n.d. Computer Programming. [online] Available at: <https://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading13.htm> [Accessed 16 August 2022]. Cs.bham.ac.uk. n.d. The Programming Process. [online] Available at: <https://www.cs.bham.ac.uk/~rxb/java/intro/2programming.html> [Accessed 16 August 2022]. Siedle, J., 2015. System Requirements. [online] Umsl.edu. Available at: <https://www.umsl.edu/~sauterv/analysis/F2015/System%20Requirements.html.htm#:~:t Rodrick 41 Strategic Analysis & Design Assignment ext=System%20requirements%20is%20a%20statement,be%20implemented%20to%20m any%20items.> [Accessed 16 August 2022]. AltexSoft. 2021. Functional and Nonfunctional Requirements: Specification and Types. [online] Available at: <https://www.altexsoft.com/blog/business/functional-and-nonfunctional-requirements-specification-andtypes/#:~:text=Functional%20requirements%20are%20product%20features,system%20b ehavior%20under%20specific%20conditions.> [Accessed 16 August 2022]. GuidingCode. 2022. What are User and System Requirements in Software Engineering. [online] Available at: <https://www.guidingcode.com/user-and-system-requirements-insoftware-engineering/> [Accessed 16 August 2022]. Nuclino.com. n.d. A Guide to Functional Requirements (with Examples). [online] Available at: <https://www.nuclino.com/articles/functional-requirements> [Accessed 16 August 2022]. Saggu, A., 2022. Non-functional Requirements in Software Engineering - GeeksforGeeks. [online] GeeksforGeeks. Available at: <https://www.geeksforgeeks.org/non-functionalrequirements-in-software-engineering/#:~:text=Advantages%20of%20NonFunctional%20Requirement%20%3A&text=They%20ensure%20the%20reliability%2C %20availability,and%20minimize%20the%20cost%20factor.> [Accessed 16 August 2022]. Engineering Systems Acquisition and Support, 2015. Systems acquisition principles. pp.37-49. DDI Development. 2021. Functional vs Non-Functional Requirements: what is the difference [Ultimate Guide with Examples]. [online] Available at: <https://ddidev.com/blog/programming/functional-vs-non-functional-requirements-what-is-thedifference-ultimate-guide-with-examples/> [Accessed 16 August 2022]. Projectpractical.com. 2022. 9 Steps to Write a System Design Document [Free Template] – ProjectPractical. [online] Available at: <https://www.projectpractical.com/9-steps-towrite-a-system-design-document-free-template/> [Accessed 22 August 2022]. Law Insider. n.d. System Design Specifications Definition | Law Insider. [online] Available at: <https://www.lawinsider.com/dictionary/system-design- Rodrick 42 Strategic Analysis & Design Assignment specifications#:~:text=System%20Design%20Specifications%20means%20those,the%20 Software%2C%20including%20all%20Derivatives.> [Accessed 22 August 2022]. Adsero Security. n.d. 10 Must Have IT Security Policies for Every Organization. [online] Available at: <https://www.adserosecurity.com/security-learning-center/ten-it-securitypolicies-every-organization-should-have/> [Accessed 22 August 2022]. Goseeko blog. 2022. What is the purpose of the Database System? - Goseeko blog. [online] Available at: <https://www.goseeko.com/blog/what-is-the-purpose-of-thedatabase-system%EF%BF%BC/> [Accessed 22 August 2022]. Popova, M., 2021. How to design a good user interface – Helastel. [online] Helastel. Available at: <https://www.helastel.com/how-to-design-a-good-user-interface/> [Accessed 22 August 2022]. Ibm.com. 2021. IBM Documentation. [online] Available at: <https://www.ibm.com/docs/en/zos/2.4.0?topic=systemintegrity#:~:text=An%20operating%20system%20is%20said,computing%20base%20ens ures%20system%20integrity.> [Accessed 22 August 2022]. qsstechnosoft.com. 2019. How effective is Agile Software Development Methodology?. [online] Available at: <https://www.qsstechnosoft.com/effective-agile-softwaredevelopment-methodology> [Accessed 22 August 2022]. Rodrick 43 Strategic Analysis & Design Assignment