Higher Nationals Internal verification of assessment decisions – BTEC (RQF) INTERNAL VERIFICATION – ASSESSMENT DECISIONS Programme title HND in Computing Assessor Internal Verifier Unit 34: System Analysis & Design Unit(s) Automated system for E-Solutions Private Limited Assignment title Student’s name List which assessment criteria the Assessor has awarded. Pass Merit Distinction INTERNAL VERIFIER CHECKLIST Do the assessment criteria awarded match those shown in the assignment brief? Is the Pass/Merit/Distinction grade awarded justified by the assessor’s comments on the student work? Has the work been assessed accurately? Is the feedback to the student: Give details: • Constructive? • Linked to relevant assessment criteria? • Identifying opportunities for improved performance? • Agreeing actions? Does the assessment decision need amending? Y/N Y/N Y/N Y/N Y/N Y/N Y/N Y/N Assessor signature Date Internal Verifier signature Date Programme Leader signature (if required) Date Confirm action completed Remedial action taken Give details: 1 Assessor signature Date Internal Verifier signature Date Programme Leader signature (if required) Date 2 Higher Nationals - Summative Assignment Feedback Form Student Name/ID Unit 34: System Analysis & Design Unit Title Assignment Number 1 Assessor Submission Date Date Received 1st submission Re-submission Date Date Received 2nd submission Assessor Feedback: LO1 Evaluate the strengths and weaknesses of the traditional and agile systems analysis methodologies Pass, Merit & Distinction Descripts P1 M1 D1 LO2 Produce a feasibility study for a system for a business-related problem Pass, Merit & Distinction Descripts P2 M2 LO3 Analyse their system using a suitable methodology. Pass, Merit & Distinction Descripts P3 M3 D2 LO4 Design the system to meet user and system requirements. Pass, Merit & Distinction P4 M4 Descripts Grade: Assessor Signature: Date: Resubmission Feedback: Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date: * Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and grades decisions have been agreed at the assessment board. 3 Pearson Higher Nationals in Computing Unit 34: Systems Analysis & Design Assignment 01 4 General Guidelines 1. A Cover page or title page – You should always attach a title page to your assignment. Use previous page as your cover sheet and make sure all the details are accurately filled. 2. Attach this brief as the first section of your assignment. 3. All the assignments should be prepared using a word processing software. 4. All the assignments should be printed on A4 sized papers. Use single side printing. 5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page. Word Processing Rules 1. 2. 3. 4. The font size should be 12 point, and should be in the style of Time New Roman. Use 1.5 line spacing. Left justify all paragraphs. Ensure that all the headings are consistent in terms of the font size and font style. Use footer function in the word processor to insert Your Name, Subject, Assignment No, and Page Number on each page. This is useful if individual sheets become detached for any reason. 5. Use word processing application spell check and grammar check function to help editing your assignment. Important Points: 1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body except for the before mentioned compulsory information will result in rejection of your work. 2. Avoid using page borders in your assignment body. 3. Carefully check the hand in date and the instructions given in the assignment. Late submissions will not be accepted. 4. Ensure that you give yourself enough time to complete the assignment by the due date. 5. Excuses of any nature will not be accepted for failure to hand in the work on time. 6. You must take responsibility for managing your own time effectively. 7. If you are unable to hand in your assignment on time and have valid reasons such as illness, you may apply (in writing) for an extension. 8. Failure to achieve at least PASS criteria will result in a REFERRAL grade . 9. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will then be asked to complete an alternative assignment. 10. If you use other people’s work or ideas in your assignment, reference them properly using HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation and a reference list. 11. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be reduced to A REFERRAL or at worst you could be expelled from the course 5 Student Declaration I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it as my own without attributing the sources in the correct form. I further understand what it means to copy another’s work. 1. I know that plagiarism is a punishable offence because it constitutes theft. 2. I understand the plagiarism and copying policy of Edexcel UK. 3. I know what the consequences will be if I plagiarise or copy another’s work in any of the assignments for this program. 4. I declare therefore that all work presented by me for every aspect of my program, will be my own, and where I have made use of another’s work, I will attribute the source in the correct way. 5. I acknowledge that the attachment of this document signed or not, constitutes a binding agreement between myself and Pearson , UK. 6. I understand that my assignment will not be considered as submitted if this document is not attached to the assignment. Student’s Signature: (Provide E-mail ID) 6 Date: (Provide Submission Date) Higher National Diploma in Computing Assignment Brief Student Name /ID Number Unit Number and Title Unit 4: Systems Analysis & Design Academic Year 2021/22 Unit Tutor Assignment Title Automated system for E-Solutions Private Limited Issue Date Submission Date IV Name & Date Submission format The submission should be in the form of an individual written report written in a concise, formal business style using single spacing and font size 12. You are required to make use of headings, paragraphs, and subsections as appropriate, and all work must be supported with research and referenced Please provide in-test citations, reference list and bibliography using Harvard referencing system. Please also provide a bibliography using the Harvard referencing system. The recommended word limit is not less than 5000 words, although you will not be penalised for exceeding the total word limit. Unit Learning Outcomes: LO1 Evaluate the strengths and weaknesses of the traditional and agile systems analysis methodologies. LO2 Produce a feasibility study for a system for a business-related problem. LO3 Analyse their system using a suitable methodology. LO4 Design the system to meet user and system requirements. Assignment Brief and Guidance: 7 *Please note that assignment guidance is for reference only and should be more specific in detail to meet customized needs. Assignment brief Case study The new automated system is designed to replace the current, manual, error-prone process of E-Solutions private Limited. The automation of existing process is to reduce the company’s expenses and enhance the productivity significantly. This transformation also would support for: 1) Successful teams working 2) Completing projects on time and within budget due to a better understanding of system requirements and tasks to be completed 3) Starting projects on time through automated project scheduling system. In the proposed system, the Project director creates a project and a “project profile” for each project. The creation of the project profile includes identification of project employee costs, the assignment of tasks to the project, and the assignment of a project manager. The project profile is consisted of project id, project personnel cost, a list of tasks assigned, and the project manager. The Project director also creates the teams for a given project, assigns employees to the teams, and assigns a team leader. The Project manager is responsible for assigning tasks to various teams working on the projects(s). The Team Leader assigns tasks to the team members. Additional functionality includes: ● Produce and update information about different software projects, project teams, specific team member assignments and team skills. ● Perform function point analysis to identify the personnel cost of the project and provide information to generate invoices upon completion of project phases. ● Monitor projects and identify completed tasks and ongoing tasks of each project. 8 Activity 01 Discuss traditional and agile system analysis methodologies used in the industry by comparing and contrasting the strengths and weaknesses of them. Critically evaluate two methodologies by referring to the examples to support your answer. Activity 2 Produce a feasibility report for the scenario given above and assess the importance of feasibility criteria used for the system investigation. Critically evaluate the strengths and weaknesses of feasibility study with relevant to the proposed solution. Activity 3 Analyse and review the system requirements of the proposed solution given in the scenario using a suitable methodology. Functional and non-functional requirements of the system should be clearly mentioned. Assessment of the effectiveness and suitability of the chosen methodology should be provided with proper justifications. Activity 4 Produce a system design specification for the above scenario and assess the effectiveness of your design and the methodology used with reference to how it meets the user requirements. Your system design specification should include architectural design, interface design, database design, and program design. 9 10 Grading Criteria LO1 Evaluate the strengths and weaknesses of the traditional and agile systems analysis methodologies. P1 Discuss the strengths and weaknesses of the traditional and agile systems analysis methodologies. M1 Compare and contrast the strengths and weaknesses of the traditional and agile systems analysis methodologies. LO2 Produce a feasibility study for a system for a business-related problem. P2 Produce a feasibility study for a system for a business related problem. M2 Evaluate the relevance of the feasibility criteria on the systems investigation for the business related problem. LO1 & LO2 D1 Critically evaluate the strengths and weaknesses of the traditional and agile methodologies and feasibility study. LO3 Analyse their system using a suitable Methodology P3 Review a system using a suitable methodology for a business-related problem. M3 Analyse the effectiveness of the methodology used in 11 Achieved Feedback providing a solution for a given business context. LO4 Design the system to meet user and system Requirements P4 Design a fully functional system to meet user and system requirements for the business related problem. M4 Assess the effectiveness of the system design with reference to the methodology used and how the design meets user and system requirements. LO3 & LO4 D2 Justify the choice of the analysis methodology used in the context of the business problem. 12 Contents Contents ............................................................................................................................. 13 Activity 01............................................................................................................................15 System Development Life Cycle..........................................................................................15 Traditional SDLC Methodology ..........................................................................................17 Agile SDLC Methodology....................................................................................................19 Strengths and weaknesses of traditional methodology ........................................................20 Strengths and weaknesses of agile methodology..................................................................21 Comparison Between traditional and agile methodology.....................................................23 Critical Evaluation on methodologies through examples.....................................................24 Choosing the appropriate methodology................................................................................27 Activity 2..............................................................................................................................29 Feasibility report .................................................................................................................29 Importance of feasibility criteria for system investigation..................................................34 Strengths and weaknesses of feasibility study ....................................................................36 Activity 3..............................................................................................................................38 System Requirements of the proposed solution ..................................................................38 Methodology Selection.........................................................................................................39 Choosing Scrum Methodology.............................................................................................42 Justification of the methodology .........................................................................................42 Activity 4.............................................................................................................................44 User Requirements of the system .......................................................................................44 System Design Specification ..............................................................................................45 Table of contents ...............................................................................................................45 Document Version Log......................................................................................................45 Architectural Design..........................................................................................................45 Introduction .......................................................................................................................45 Overview ...........................................................................................................................45 Purpose ..............................................................................................................................45 Design overview and methodology ..................................................................................46 Product functions...............................................................................................................46 Constraints and Assumptions on the system.....................................................................48 Database Design of the project..........................................................................................49 Interface Design ................................................................................................................50 Program Interface ..............................................................................................................55 13 Data Flow Diagram.............................................................................................................64 Effectiveness of system design with reference to the methodology while meeting the user and system requirements .................................................................................................66 Conclusion ........................................................................................................................ 67 References......................................................................................................................... 68 14 Activity 01 System Development Life Cycle System Development Life Cycle (SDLC) is a process used in the IT industry to define, create, design, develop, test and deploy high quality software’s to the market. The main objective of using SDLC is to produce high quality software’s that meets the client’s expectation in said time with a costeffective budget. Every software-based companies use this technique to build their software’s according to the client requirements. It consists of a detailed planned structure to develop, design, maintain and replace or enhance the existing system. This life cycle consists of various stages and timelines. A life cycle is defined by its selected methodology and all methodologies have its own different functions and methods. The most suitable methodology is selected to develop software based on its requirements and company policies. Basically a system development methodology includes a series of stages and its typical in the industry. The following image represents the life cycle. 15 SDLC Stages • Requirement Analysis / Planning This is the most fundamental stage in the life cycle. Analysis the requirements are done by the senior members in the team. They gather the requirements from the client and do some deep research regarding the system through market surveys, sales etc. The collected information will be then used to make the basic project plan and then once again take it through a feasibility study process. The outcome of this study will define all the various approaches that can be taken to carry out the project and the one with the minimum risk will be chosen. The next stage of the process is to clearly define the product requirements and other required information regarding in a document. This document then will be sent to relevant parties such as the client and the market analysts for approval. This well written document is called as a SRS (Software Requirement Specification) document which consists of all the necessary project details. 16 • Designing The SRS document will be used as a guide in this phase to create the design of the system. Here a number of system designs will be brought forward in a document called DDS (Design Document Specification). The most suitable design will be selected by the stakeholders and the clients. Variables such as budget, robustness, time frame and risk assessment will be considered when selecting the design. • Development The selected Design is bought forward to this stage and since the DDS document includes all the information regarding the design, the development phase would be easy to handle. Developers will follow a code of ethics and policies per the company they work for. Said rules and regulations will be followed throughout the development stage. • Testing The developed system will be tested in this phase. Any mistakes, errors and defects will be caught in this stage and steps to fix them will be taken. The testing phase will go on till the system is ready to take into the next stage which is the deployment. • Deployment and maintenance Once the system is ready, steps will be taken to release it to the market or give it to the client. However this can be done is several ways such as gradual deployment, total replacement etc. Then based on the feedback and responses future enhancement regarding the system will be considered. The above-mentioned list shows the different stages involved in the SDLC process. These will be considered as the core stages but the way they are arranged during the life cycle process depends on the methodology used. System methodologies can be mainly categorized into two. They are: Traditional Methodology Agile Methodology Traditional SDLC Methodology Traditional methodologies are plan driven in which work begins with the elicitation and documentation of a complete set of requirements, followed by architectural and high level design development and inspection. Due to these heavy aspects, this methodology became to be known as heavyweight. 17 Traditional SDLC methodology was introduced prior to the agile methodology. In fact, this methodology was used by all developers in the past. This is considered as the foundation of system development. The traditional SDLC consists of pre organized phases and stages of SDLC. These stages are same as the phases shown in the SDLC life cycle. The main feature of the traditional SDLC is that it follows a strict order. The flow of the development is unidirectional. The cycle starts with finding requirements then design, develop and so on. By following this method, the developer can finish up an entire phase and then move on to the other. This is only when the prior stage is successful. Time and cost are major variables in the life cycle and the requirements in the system are fixed. Following are some major features in traditional SDLC methodology. • Clearly defined objectives – The requirements and the objectives of client cannot be changed in the traditional SDLC model. This is because that traditional SDLC follows a sequential order and the change of one requirement may lead to the very beginning phase again. This will take more time and cost to cover. • Controllable process – The development cycle is less complicated when compared with agile methodology. This is because, every phase in the methodology has clearly defined steps and easily achievable. • Clear documentation – Traditional methodology gives more priority to written documentation. Each and all steps and decisions regarding the system is well documented. This can be helpful in certain ways such as the written document can be used in future projects, the clients can have the documents for future references etc. With the development of technology, these traditional methodologies start to evolve and developers started to move to other methodology based on several reasons. However traditional methodology is still used in today’s world for more straight forward projects and developments. There are several methodologies under the traditional SDLC category. The most famous one out of them all is the “Waterfall model”. This model takes a special place in the industry because this was one of the oldest and straightforward methodologies. This has the most common features of a traditional SDLC model. Waterfall model is often interchangeable with the names of traditional SDLC model too because they had no different whatsoever. The following is an image of the waterfall model 18 Waterfall model Advantages of waterfall model Provides an easy way to understand project plans Provides systematic approaches for project Usable for smaller projects Provides better identification of project outcomes Project implementation becomes easy Disadvantages of waterfall model Feels difficulty to manage risks and threats of the system Project flow only in one direction (Unidirectional model) Does not provide feedback facility Increases waiting time for user Not usable for complex and larger projects The following are other traditional methodologies used in the industry V- Model Spiral Model Incremental Model Traditional methodology was overtaken by agile methodology in the recent years but still they are been used in several projects which are more consistent with time, cost and objectives. 19 Agile SDLC Methodology Agile methodology is based on a set of values and principles. It’s a way of acting and thinking. It’s different from traditional because of its non-linear working experience. Agile methodology is all about teamwork, collaboration, communication and flexibility. It has the ability to make changes in the system quickly. Agile methodology helps the team in an evolving landscape and maintains a focus on the rapid deliveries of solutions with expected quality. The interaction between the team and client is very high; the team will always listen to the clients and take their input to the system. Agile system is all about transparency, inspection and adaptation. Following are some main features in the agile methodology The requirements in the system can be modified, clients may want to add new functions in the system and this may not be a problem in the agile methodology because of its unique life cycle. Mutual understanding between the client and the developers. This may lead to high customer satisfaction and less errors. The ability to divide the system into different modules and develop them periodically. This can provide evidence to the client that the work process is going on. It can also help to maintain a good relationship between both parties. With the release of certain modules, the client or the user can evaluate the module and provide their feedback and based on it the system may revise. Less priority on documentation which results in less time consumption and expenditure. The above characteristics show a very different image than the traditional SDLC. Agile focuses more on human than the process and documentation. This leads to a freer workspace and high-quality products. 20 Agile methodology Similar to traditional methodology, there are many methodologies included in the agile SDLC platform. These are used in most of the technology based companies today. Some of them are: • Scrum • Kanban • XP • Lean etc. In overall Agile methodology is the present trend in the technology world. Learning to use them in an industrial level is important for today’s IT professionals. Agile methodolgies Strengths and weaknesses of traditional methodology As explained in the above pages traditional and agile methodologies have their own unique features. They are useful in certain circumstances in system development life cycle. Even though traditional methodology is used less in today’s world, it is famous for its unique features. The following are some strengths and weaknesses found in the traditional methodology. Strengths 21 Following a fixed structure makes it feel secure. Having a fixed workflow and a budget makes it easy to the developer(s) to go through the project life cycle. Well established in the software development community. It is considered as the foundation of the SDLC process and building blocks of current trends. Since traditional methodology is now used for smaller projects, it is the most applicable for remote projects. Based on different geographical locations and time zones, using traditional methodology is the most suitable. Due to the less interaction and its easiness to finish the project in a shorter time. Traditional methodology doesn’t have many changes during the system cycle, therefore resources and time won’t be wasted because it follows a sequential order. Traditional methodology is the best option to follow when the client requirements and needs are consistent and clearly understandable. This is because it follows a sequential strategy and requirements are made clear in the very first phase. No prior or special training is required when following traditional methodology. Since it’s a rigid model, the deliverables and reviews make it more manageable and easier to develop. Following the traditional methodology is less risky. The entire success of the project is based upon identifying the risks beforehand and accessing it properly. In traditional methodology that is done in the most secure way. It supports robust security mechanisms die to its end-to-end execution of a system. Having a flexible management is strength in traditional methodology. It requires fewer teams and less complex management to handle projects. Weaknesses 22 Traditional development has the risk of slow project development. When the requirements are not clearly stated by the client then the system development process is going to be very slow. The changes included later will break the sequence and the risk of going back to the previous stages is imminent. The less interaction between the customer and the team is another weakness. There is no proper communication between the client and the team until the testing phase and if the client is not happy with the end product then the whole system development cycle will be a failure. Time management is another issue which may rise due to lack of teamwork, unity and mutual understanding. Lack of intuitiveness occurs in a traditional development phase The sequential model wouldn’t acquire any new ideas since its just a straight forward method to follow. Changes cannot be easily done. Since the success of one phase leads to another, any changes in the between will lead to more time, resource and cost consumption because the whole development phase will be taken aback. Sometimes the clients and stakeholders wouldn’t be sure about the requirements in the start and since traditional methodology is sequential, the project wouldn’t start till all requirements are properly gathered. This may lead to several risks in the future and the challenges faced in between the developing phase will be very high. Lack of coordination is seen in traditional methodology which may delay the development and can cause serious problems in the life cycle process. The above mentioned strengths and weaknesses portray a clear picture of the traditional SDLC methodologies. Following this method has its merits and drawbacks therefore while selecting the method the team and the company has to be access these factors beforehand. However if the project is suitable to follow traditional methodology then there is no harm in doing so. Strengths and weaknesses of agile methodology Agile methodology is widely used in the present market. There are several reasons for this but the main reason would be the technological improvement in the past years. Modern problems require modern solutions and agile methodology has successfully provided the most needed solutions for the present IT problems. Agile methodology similar to traditional includes several strengths and weaknesses and understanding them gives us a deep understanding between their differences and why certain projects require only one of these types. Strengths 23 High flexibility because the requirements are handled iteratively and listed over a period of time. Unlike traditional methodology, agile doesn’t require a definite set of requirements in the first phase. The requirements may change or added over time which will be a huge advantage from clients who are not sure about requirements in the very beginning. Agile methodology is easy to understand and support continuous updates and changes Focuses on teamwork and unity. Agile methodology is completely based on a series of steps and human beings are the key points in them. Agile methodology mainly focuses on human interaction and ideas. It’s not something that requires to be written on a paper but allows everyone to input their ideas which may help to generate good solutions. Constant interactions with clients and stakeholders. Communication is an important part in agile methodology. It allows the clients and the team members to converse openly and the ideas and options. The ideas provided by clients will be taken under consideration from the team. This good relationship avoids tons of technical documentation and other processes. It also create a good relationship between the two parties. Agile methodology uses the testing phase in short cycles which means that it takes place very often, Due to this the errors and bugs are found and fixed in early stagesand as a whole it will lead to a good final product. Parts of the working software are delivered frequently. Since the project is dividing into modules, the clients will always have something to assess. This ensures that the product is in process which will also satisfy the client. Can work on new ideas and experiments because it doesn’t work in a sequential manner. Therefore with the available resources and time new ideas can be configured and developed which if successful will be added to the core setup. Weaknesses Easier to lose track of long term objectives – this is a weakness in the agile methodology. With the requirements changing and improving frequently, the core requirement or the long term objective will be forgotten or the priority given to it will be reduced. Agile system needs a deeper level commitment and involvement from the clients. This is because agile methodology works in a loop in which the module is tested and then assessed by the clients. In this case the involvement of the clients is much higher than the traditional methodology. Since the agile methodology divides the system into modules, there will be problems with the workflow coordination which may lead to instability among the team. This will be a serious problem in the early stages of the project. Agile methodology is slightly complicated than the waterfall model and it requires professionals to take vital decisions in the project life cycle. Experienced personals will be required in the team to guide the project to a success. Lack of emphasis on designing and documentation Agile methodology requires more time and energy from the developers and customers and should constantly interact with each other. 24 Projects can be ever-lasting because there is no clear end. Since short cycles are used in the process, designers will have to redevelop the experience again and again due to the negative feedbacks. The above mentioned reasons show the strengths and weaknesses of the agile methodology. As shown agile methodology too has its own drawbacks which means that it is unfavorable in some situations. But in overall it is one of the go to methodologies in the present world. Comparison Between traditional and agile methodology As mentioned above traditional and agile technologies have their own strengths and weaknesses. These tiny differences create a huge impact when selecting an appropriate methodology. However, the user can study their requirements and then compare them with these two methodologies and come to a definite conclusion. This may vary with important points such as the user requirements, time frame, cost etc. Traditional vs agile Comparison Table 25 Comparison between agile and traditional In conclusion the above topic explains the strengths and weaknesses of both methodologies in system development and they are compared with each other to select the most appropriate type to develop a system. Critical Evaluation on methodologies through examples 26 Traditional and agile methodologies are two main foundational factors that have to be decided during a project development. The decision of selecting a methodology has to be based on an unbiased evaluation. A simple SWOT analysis based off by the project characteristics and the methodologies can help the project manager or other officials to decide on which path to move forward with. Traditional and agile methodologies with their features, strengths, weaknesses and comparison are mentioned above. All these data will be useless unless a proper analysis is done regarding the project activities. In this section a critical evaluation of both the methodologies based on their strengths and weaknesses will be discussed with necessary examples. Traditional methodology Traditional methodology was the only methodology used in system design and analysis in the past. Due to the changing nature of technology this was soon replaced by the new agile system. As mentioned in the above pages, agile system works in a loop format whereas the traditional methodology follows a straight and clear path. Traditional methodology is easy to use and has some significant features. There is no mistake in following traditional methodology in the present but with today’s technology the whole system is changing to be favorable to the agile system. Traditional methodology includes few special method models such as: waterfall model, Prototyping model, Spiral model, V model etc. These models have unique capabilities but the core foundation remains to be the same putting them all under one category which is traditional methodology. The most basic characteristic of traditional methodology is the step by step procedure. This procedure list doesn’t change under any circumstance making it a unique system development methodology. As explained above, traditional methodologies have its strengths and weaknesses. These features help some projects in development but drawbacks for some others. Following are some of the models used in the traditional SDLC methodology Waterfall Model – one of the oldest and popular methodologies used to develop systems. This is one of the most classical methods used by people in the industry. This uses a linear sequential path of procedures. A success of a phrase leads to the next phrase as a shape of a waterfall. 27 Prototyping Model – prototyping is a model which takes place in a loop. A prototype of the final product is made and presented to the end user, by using the feedback after the initial use the prototype will be upgraded. This cycle takes place until the customer is fully satisfied. Spiral Model – spiral model is a combination of waterfall and iterative model. The development process in this model is done in a spiral way. This means the model starts with a small set of requirements and goes through each development phrase for those requirements. Then in the next circle the employees add functionalities to the requirements which will then take another whole lifecycle. V model – This SDLC model takes a shape of a v model when the process is being executed. This model is based on the association of a testing phase for each corresponding development stage. This shows that that testing is an important part in this model. Unlike other methods, v model has a testing phase in each and every phrase. This makes it more efficient and scalable. These above explained models have the same qualities of a traditional methodology and Tats is to follow a certain procedure while developing the system. However, this traditional procedure cannot be used in every place. there are certain points that has to be ticked while choosing traditional methodology in developing such as: having a clearly identified user requirements Having different phases in development mode Success of each phase leads to the other. Having a fixed time and budget limit etc. For an example, when a client arrives with a clear defined requirements with a time limit and budget frame. The company can consider following a traditional methodology model to develop it. This makes it easy for the company and also the client to work with. Because traditional models like waterfall doesn’t involve much of client interaction which can save their time and with proper details and requirements the system would be ended properly. According to our scenario with the improvement of E solutions private limited from manual to automated system can improve the effectiveness of these traditional as well as the agile models. Finishing project on said time with said budget can be perfectly done with this new system. This also helps to have a better understanding of the system and user requirements which is a great factor in traditional methodologies. With the assigning of project director, leader and manager the workflow or the administration of a team or a group of team can be done easily. In overall traditional systems can be safely used when its characteristics are met properly. 28 Agile Methodology Agile methodology is different than the traditional methodologies. Agile approaches in software development that has a speed development process. Agile methodology is based on certain set of values and exercises for software development. It uses an incremental process in which the increments are small. The system is easily released in a shorter period of time to the customers. The clients are deeply involved with the development team within the development process. They help in changing requirements and assuring what has been done. By doing this the mistakes and future changes can be reduced. Agile methodologies contain very less documentation instead they have productive internal communications. Similar to traditional methodology, there are different models in agile too. Scrum – Scrum model is used to improve productivity in teamwork and project activity. It contains a backlog of prioritized work to be done. Scrum meetings are held daily with day-to-day progress and to discuss about obstacles and upcoming works to be done. Scrum enables teams to self-organize and encourage each other by verbal communications across all team members. Extreme Programming – Extreme programming (XP) aims to produce higher quality software and a high-quality work experience for the team members. This model is usually used in a system that has dynamic system requirements and changes rapidly. It can also reduce the risk caused by less time management. Lean development – Lean development mainly focuses in creating change tolerant software’s. This methodology is a specialist in dynamic stability similar to how scrum works well with controlled chaos. The main goal of LD is to create software with one third of human effort, one third development hours and one third with investment. Lean development is a great model to develop dynamic systems with providing best value for money and high satisfactory for the clients. • Kanban – Kanban is another famous model in agile methodology which follows the SDLC stages. The stages are represented by Kanban cards so that the number of features entering the process matches with what is completed. Kanban doesn’t have iterative process, but we saw other agile models has small iterations but however since Kanban fulfills all twelve agile principles it’s considered as an agile methodology. It is also important to remember that Kanban is not an iterative but an incremental model. The above models are some of the most used and famous agile methodologies that are used around the world by development teams. 29 For an example, when the client doesn’t have a definite requirement set and they need some assistance we may go with agile methodology because it involves the clients in most of the development phases and helps to create a better understanding between two parties. They may also receive the system as a demo which can be modified with time and as dynamic software’s are more popular in the present, using an agile methodology makes more sense. On the other hand it also requires a bit more budget and time due to the incremental process that will be used in development phases. According to our scenario we could use agile methodology due to its latest technology and timely updates. In order to prove this we need to carry out a proper research with the necessary data. Choosing the appropriate methodology Choosing an appropriate methodology for a project is a crucial task and needs necessary data and input. With the right amount of data, a suitable methodology can be chosen which is advantageous for both the clients and the development team. There are several criteria’s which has to be focused when selecting the appropriate methodology. They are:• Documentation Traditional methodology uses a lot of documentation in their projects to help both the technical and non-technical users but in agile methodology, it only focuses a very little in the documentation part. Therefore, if the necessity of using much documentation arrives then using traditional is a good option. • Clarity of User Requirements As mentioned above, the understanding of user’s true intention is highly important in project development. Without getting this together, future development may fail which will end up in resource wastage. However, by using agile methodology this risk is reduced by allowing the users to involve in system development and asking for their opinions in cases. In this scenario using agile methodology is the better option. • Experience of team members Some developers in the team may not be familiar with certain models which may put the project at risk. Therefore, the organization has to have a policy regarding the models that will be used and the most appropriate model among them has to be chosen while developing the project. Since it’s the team members that develop the system, they have to be familiar of how the model works. • Project Size 30 Size of the project matters a lot while selecting methodology larger projects are not much suitable for traditional models like waterfall because it requires a lot of testing and iterative steps. Therefore, agile will be a more suitable choice when it comes to larger projects. • Funding and time limit Agile methodologies usually take a lot of funding and time to develop. Even though the demo system will be put out initially, updates for the system may occur frequently whichwill need more resources. Therefore, the funding and time delays have to be discussed with the clients beforehand. • Familiarity with technology The team has to be familiar with the technology that will be used in a project. This can be the language, methodology or even the IDE. Therefore, selecting the team members for the team is a crucial task in system development life cycle. In overall according to our scenario we have been given to change a manual system into a fully automated system with several highlighted features. Methodology used for this system has to be chosen wisely by referring to all the necessary data and possibilities. 31 Activity 2 Feasibility report A feasibility study is an essential act done when building or upgrading a system. The aim of the feasibility report is to find out whether the system is worth implementing or if it can be implemented in a given scale based on the given budget and schedule. The preliminary business requirements, description of the system and the how the system is supposed to work are inputs that goes into the feasibility study. These data will be described and analyzed whether to see whether the new system will be beneficial for the company from various aspects. The final outcome of the report will recommend whether the is it worth to carry out with the requirements engineering and system development process. According to our scenario E-solutions private limited is planning to automate the existing manual error prone system. The organization has put forward several worthy arguments to show the infidelity of the current system and how the automation can help them. By using these data and information a proper feasibility reported will be created. This will cover all the major criteria’s that are necessary for building the system. Table of contents Overview of the report Objectives of the report Objectives of the project Review of the existing system Project Scope Project Deliverables Feasibility Study Conclusions Overview of the report E-Solutions private limited is a software-based company that has been following a manual system to organize the work load. They have decided to take a leap into the current world trend and change into an automated system which will benefit the employees and the projects massively. The organization is looking forward to increase their productivity and save time through this transformation. Building this system can help them to 32 successfully work as a team from both home and office. Deadlines and milestones can be completed in said times. System and other requirements can be easily stored and analyzed in the projects. All these perks along with many more will be gained through this automation. The following report will include the major criteria in which this transformation will affect the organization. Objectives of the report The main intention of this report is to gather the required information and analyze them in order to check whether the said transformation is beneficial for the organization and how much an effect it can cause on the business activities. This feasibility report will include several criterions in which the data will be studied and analyzed with. Then the results will be gathered and given to the higher officials for the decision making. In overall this report will be helpful to understand whether the new system can be implemented if so whether the implementation is worth it given the time, resources, energy and budget. Objectives of the Project The main theme of the project is to transform the existing manual process of E-solutions into an automated system. This is a huge leap for an organization which require a lot of research and time. With the present technological development almost, all companies has a automated system to ease their work process therefore it is safe to say that E-Solutions has made the right choice by considering this huge change. However, there are several criteria’s that play in this transformation such as the way how the transformation will occur and the resources it will require and most of all the objectives of the change in the first. As said by the organization, their very first challenge is to overcome the present error -prone system. It’s not a surprise to say that manual system has a lot of faults and errors in their system which makes it hard to organize and even worse of not being able to satisfy the clients. Using an automation system will be able to overcome these hardships by clearly organizing a very well-planned process for each and every project in the organization. Other reasons for the transformation are as follows: 33 Reduce company expenses and increase productivity Using company resources more efficiently Increasing team stability to gain better team work Completing milestones and projects on time within the budget limit Better understanding of system and other necessary requirements Starting projects on time through automated project scheduling system etc. Due to the above-mentioned reasons and many more the management of the company has decided to automate the existing manual system of E-Solutions and this feasibility report will be a helping hand to analyze this decision more thoroughly. Review of the existing system The present system used in the organization is a manual system. The organization didn’t have any automated system prior to it and they feel the inconsistency of it. Due to the business growth, they need an automated system to organize the whole project scheduling and other important components in the project development process. In overall the existing system has faults and includes errors which needs to be reduced as soon as possible to have more productive results. Project Scope The project scope is to transform the manual system into a fully automated project system to increase productivity and save time. There are several advantages gained by this transformation and all of these will help to finish projects in time efficiently and satisfy the clients. The system will include several features helpful in project establishment and project lifecycle. Main actors involved: Project members Project director Team Leader Project manager User requirements Project Director 34 Creates project and a project profile for each project The project profile will include project employee costs, assignment of tasks to the projects and assignment of project manager. Creates teams for a specific project Assign employees to the created teams along with a team leader Identify the personnel cost of the project and provide information to generateinvoices upon completion of the project phases Project Manager – Responsible for assigning tasks to various teams working on projects Checking whether all teams are working properly according to planned time frame Providing timely updates to project director regarding the project. Team Leader – Assigns tasks for each team members Monitor team behavior and access tasks properly Update daily updates on team members Project Employees – Update information on completed and ongoing tasks Check for deadlines and milestones from the project schedule system Check the time covered during work Project Deliverables Project Proposal Project Manual (User Guide) Sketches of Interfaces Documentation Completed solution (End Product) Prototype of the product Feasibility Study Technical Feasibility – (assess the technological requirements needed to accomplish the user requirements) Automation of the organization requires a lot of new technological features and functions which means that the employees working in the sector has to be familiar with this technology. Since this is an electronic solution company the employees would be already in touch with the said technology. 35 The new system will be pretty huge in size which means that there has to be necessary machines to run the created system. All the information regarding projects has to be secured and kept in a safe place. This place has to have enough space to store all the massive amount of data. Having a server would help in this matter. The new system would arrive with necessary documentation which will help the employees and other parties to work with. The system would connect all individuals in the organization but some parts would be accessible by limited people such as project director, leader etc. The company will need a technical team to fix small errors occurring in the system so that it wouldn’t affect business activities. Other steps such as backup and optimization will have to be done in a regular manner to keep the system up and running. Economic Feasibility Following this upgrade will provide massive benefit for the organization in economic wise. Having a project schedule system can help the employees to work on time which will help the organization cut losses in late submissions. The project cost will be calculated perfectly by the algorithms provided to the system before-hand. These costs will include employee cost, resource cost etc. The organization will have to spend a bit of cost for regular maintenance and support staff for the project management system. Unlike error prone manual system, the automatic system wouldn’t have any mistakes which will make it more consistent in economic side. Operational Feasibility 36 The operational activities of the organization will be smooth and easy. The project director will assign the projects and the team members of it. This can be easily done through the system UI. Other actions such as task assignment, timeframe and milestones will be created by the project manager which too will include a simple process. In whole the operational activities will be pretty easy as it only includes filling the appropriate and accurate data. Legal Feasibility All necessary steps regarding legal requirements have to be taken from the company that creates the system. E- solution will have to take all necessary legal steps to secure their data regarding project reports. All clients will expect the utmost trust from the company by giving their ideas and business wishes. These will have to be kept as a secret from the companies’ side to maintain a smooth relationship. If there is a break in trust then the clients will be ableto take legal action against the company. Schedule Feasibility The time frame of the system will depend on the System development method used. If it’s an agile system then a prototype model will be issued early on to test by the company. However, the schedule timeline will be taken for a few months and until then the company would have to continue with the manual system. The system would stay on for a long period of time if its properly maintained. Updates can be given to the system with time, which will increase the efficiency of the system Conclusion E-Solution organizations plan on upgrading from a manual system to an automatic system is quite promising and understandable. The organization is trying to move forward with the world by adapting to the new technology and the perks gained by it. The above feasibility report includes all the necessary reasons of why the company should continue in this path and the advantages gained by this upgrade. The objectives and project scope shows how the system would work and the feasibility report provides a clear understanding of how different aspects cover the necessary motives. The use case depicts the different characters in the project and what actions they can perform by it. In the conclusion I would like to say that the above feasibility report provides a clear image of why and how the planned automated system would work and the decision of whether the project has to be continued or not can be extracted from this report. Importance of feasibility criteria for system investigation 37 Feasibility study is used to determine the viability of an idea, such as ensuring a project in multiple categories such as legal, technical, economical etc. Developing a system cannot be done without a proper study, this is because an idea cannot be always implemented as expected, but with proper research and study it could be possible. Therefore, a feasibility report is highly important to check whether the said idea is doable in reality with reasonable resources. The author has provided a well-researched feasibility study for the new automated project management system. This created plenty of reasons on why the system could be successful. This as a whole can be taken as the main importance of the feasibility study because the whole project can be validated through this study. The question of “Can this system be done?” is properly answered through the feasibility study provided above. Therefore, I could say that a feasibility study is highly important in a system investigation. The following are some other importance of feasibility study; 1. 2. 3. 4. 5. 6. 7. Identifies new opportunities Narrowing down the business alternatives Provide proper reasons to undertake the project Provides the success rate of the project Help in business level decision making Provides valuable information on doing/not doing the project Improves the project teams focus These above provided reasons are some of the most important reasons why feasibility studies are done across different teams before undertaking projects. In overall the above provided reasons shows how important a role does the feasibility study play in a system development life cycle. In our system we provided a fully pledged feasibility report which covers almost all main criteria in the study which proves that carrying on this project is reasonable to both the client and the development team. Therefore, I would say that this feasibility report has provided a list of reasons of why this project must continue. This shows the importance of feasibility study in system investigation. Strengths and weaknesses of feasibility study New ideas on changing the existing system or inventing a new system has its risks. Anyone could get an idea to do something new but the validity of the idea doesn’t always play a favorable role. The study of whether the idea could be successful or not can be done through a feasibility study. Here the subject matter of the idea will be put into a prolonged study and research session. The end results of this study will show whether the idea is achievable or not, if achievable then the risks it includes. 38 E-solutions private limited are planning to transform their manual project management system into an automated system to increase productivity and lower their expenses. This new idea has to be studied thoroughly to check whether this transformation has a positive impact on the company or not. The author has included the feasibility report of the subject matter above and concluded saying that the transformation provides a positive impact to the company. This can play a huge role on the company stakeholders to invest their money on this digital transformation. A feasibility study holds the power of deciding whether an idea can be taken forward to be dropped then and there. This is a huge responsibility on the individual creating the report because he/she has to be unbiased and report the findings only based on facts and evidences. Due to this the feasibility report itself is a sensitive act that has to be done properly to get the expected output. As said before, a feasibility study has its own perks and drawbacks. Some people wouldn’t like to create a feasibility report in fear of losing hope of the said project or idea. Some are ready to accept the bitter truth of the project not being viable. Considering these scenarios, we could say that feasibility report has its own strengths and weaknesses. Strengths of feasibility study 1. Studying the market to get to know whether the customer really need the product Here a study would take place to find the necessity of the product. Some products won’t be necessary to companies and would only work as an extra set of helping hands. In our case E-solutions are currently following a manual project management system which is error prone and difficult to manage. Therefore, this transformation would be highly necessary for the company to move forward with the new technology which is highly effective and reliable. 2. Determining whether all the resources required for the change is available This discusses about the availability of resources for the new system. When the new idea has expensive resources and other requirements, then it would act as a disadvantage for the company but if the product is highly necessary then this won’t be a problem. In our case, creating a project management system won’t need a lot of expensive resources. Its reasonable and highly required for the company. Therefore, this wouldn’t be a highly impactful decision for the company. 39 3. Identifying the human resources to make and maintain the system This measures the human resources required to maintain the system. In our scenario the project management system is done by a set of professionals. They follow a pre-planned backlog and a world renown methodology to create the system. The usage of the system would be created in a way that an individual with basic technical knowledge could engage with the system. Therefore, this category also passes the test. 4. Determining the legal structure of the business This revolves around the legal side of a business. In our case, the system developed has an extensive security system which protects the client as well as the company data. This is thoroughly explained in the legal feasibility criteria in the feasibility report. This could be also taken as a favorable point to making the system work. 5. Determining the capital and investment to the system This is similar to the resources but based on monetary value. A company wouldn’t take a step as big as this without enough capital. Even if they lack money, they need this system so much to cut off expenses. This means that the capital invested is already the future expenses of the company. Therefore, investing the required money for the transformation can be helpful to reduce or completely omit unnecessary future expenses of the company. This is discussed in the economic feasibility section in the report. The above-mentioned strengths of the feasibility study is evidently compared with the feasibility report the author has provided for the scenario. This information shows the strengths of the feasibility study and how these strengths are utilized through the feasibility report. Weakness of feasibility study 1. The gap between the document and the actual reality A feasibility report is done as a written document. The data and information included in the report is factual but when it comes to implementing the idea the reality or the situation during that time will differ from what’s written. When comparing this with our scenario, we could say that its true. Any individual cannot predict the expenses or the resources 100% correctly beforehand. There will be ups and downs, gaps between the document and when implementing the solution. This is normal in every project. Feasibility reports usually include a cost management plan. This plan will include the amount needed to develop the system. This will include an additional expenses cost which will be kept for additional expenses. By 40 doing this we could take steps to reduce the risk of losing resources beforehand. This will definitely reduce the risk of the system implementation and provides a good impression on the feasibility report. Therefore, it’s important to add any predictions or probable expenses and other issues in a feasibility report to reduce the impact it causes on the feasibility report itself. 2. Feasibility study requires time and effort When creating a feasibility report, several researches and studies on different subject matters has to be done. This required time and effort. A feasibility report cannot be done quickly and if it done quickly then it won’t include the entire subject matter or will be probably biased. Therefore, if the client needs the true and complete usage of a feasibility report, they need to provide adequate time for the report analysis. By doing this they could obtain the real situation they are in and how they could move forward. In our scenario, this feasibility report was created by the author himself. He has taken his time and included all available data and information through the data extracted from the scenario. 3. Author biasing The feasibility report has to be given to a trusted professional individual. Through this action the data in the report could be trusted. If not, if the author is a biased person, then he could aliterate the facts and data in the subject. This could be considered as a huge threat to the client as well as the decision he takes after studying the feasibility report. Therefore its highly important to have a trusted author while creating such a sensitive document. In our scenario the feasibility report was created by a trusted individual. He has performed several research in various mediums to obtain facts and data regarding the new product. Therefore, the feasibility report created for E=solutions can be considered as legit. In overall the above-mentioned strengths and weaknesses of feasibility study are real and they do have a great impact on decision making actions. Therefore, all these points have to be considered while creating a feasibility report and steps has to be taken to prevent the weaknesses of feasibility study. In our case, the provided feasibility report is done by a trusted individual and the above- mentioned weaknesses has been already taken under consideration and steps has been taken to prevent them. 41 42 Activity 3 System Requirements of the proposed solution The E-Solution Private limited System requirements are the configuration that a system must have in order for a hardware or software application to run smoothly and efficiently. Failure to meet these requirements can result in installation problems or performance problems. The former may prevent a device or application from getting installed, whereas the latter may cause a product to malfunction or perform below expectation or even to hang or crash.System requirements are also known as minimum system requirements. System requirements are considered as all the requirements in the system levels that describes the features and functionalities which can be done to fulfill the expectations of the users and clients. These include what the system would be able to do. These system requirements can be classified into functional and non-functional requirements. Functional requirements represent the statements of services that the system should provide and how the system should work for specific inputs and how the system should behave in specific situations. Nonfunctional requirements are several constraints or additional functionalities included in the system which facilitates the user experience. Our automation system for E – solutions to have a list of specific system requirements. Such as: Ability to create a project and a project profile by the project director Having several columns to include information about the project Inserting team members for projects and team leaders Ability of the team manager to assign tasks for team members Since functional and non-functional requirements are simply classifications of system requirements, the above-mentioned requirements will ultimately fall under the functional requirements category because these functions are mandatorily expected by the clients. Other than these there are some other functional requirements too such as: - 43 Insert and update information regarding project team members, tasks and assignments. Perform functions to identify the personnel cost of the project Generate invoices upon completion of project phrases Monitor projects and ongoing tasks of the project. Allow clients to look at the progress of the project Make alerts for project task deadlines Non – functional requirements may include: Increase the speed of the system Allowing multiple logins for team members, leader, director and manager with constraints. (Ex – only director will be able to update cost information) Privacy of information and intellectual rights has to be audited The system has to be able to withstand multiple number of logins at a time Every unsuccessful login attempt has to be recorded in a different database. These above-mentioned requirements show what our system would be doing and how it has to work. The clients expect it to be efficient to make their work easier and to save time. Producing a well-built system which fulfills all the expectation of the client is the end point of the project. All these requirements should be taken under consideration when selecting the suitable methodology to develop the system if not the development of the system will be much harder to finish with all the system requirements. In overall the above part of the assignment provides the system requirements along with its functional and non-functional requirements for the proposed solution of E-solution automation system. Methodology Selection Selecting a suitable methodology for the system development is the most crucial decision that has to be taken in the whole development process. This is due to the fact that the success or the failure depends on this selection. Choosing the appropriate methodology depends on several features such as timeframe, cost, man power, requirements etc. Therefore, the selected methodology has to tick all these boxes and has to make the project development flow easy and not hard. The assignment describes the importance of methodologies and differences of them in activity 1, whereas in activity 2 describes what is the true purpose of the project and its objectives. By figuring out both these exercises we could select the most appropriate methodology for our project. I would be selecting agile methodology to continue the rest of the development process in the project. There are many factors that support this decision. Agile methodology is the modern way of system development, it has been created in the sole purpose of making the development process easy in the present world. As we saw in the above 44 activities, agile methodology arrives with a lot of functions and features which suits the modern technology as well as the people who work in the project. After studying the feasibility report of our company, the wise decision would be to choose agile methodology as our primary development methodology. This cannot be said without proof. There are few functions which is mainly used to identify the suitable methodology. This has been discussed in our assignment too. Therefore, I would be taking those categories to prove that agile methodology is the best option to follow. Documentation – Documentation is not commonly used in agile methodologies because it focuses more upon the success of the project rather than the documentation. When comparing this with our project, the project manager or other officials wouldn’t need that whole of a documentation to go through with. They would already know to use the system because they will be included in project meetings etc. However, a certain documentation will be needed to improve the system in the future. This will have to be provided by the company. Clarity of User requirements – the user requirements were clearly mentioned in the brief but there will always be something to add in these types of projects or it’s natural to have keep it more compatible for the clients to work with during the development process. Due to these factors using the traditional methodology won’t be a good choice due to its less compatibility. Agile methodology on the other hand provides a good environment to make changes and run it through the clients. Project Size – Automaton system as this takes a long time to develop and deployed. This is because it has to go through a number of prototypes, updates and tests. Creating it all at once and deploying it won’t make it effective. It has to go through a series of tests and has to pass all that to be fully deployed replacing the manual system. Therefore, a project in this size has to be done through an agile methodology due to the number of compatible features it provides with. Funding and time limit – using agile methodology will take more time. Since this fall under a big project category the time limit will be considerably more than anticipated More time means more funding. This means that using agile methodology will take some time and more funding when compared with traditional methodology. This wouldn’t be a problem for the company because their main intention is to get more productive and effective through this new automated system. This ultimately means that the fund different between agile and traditional won’t be a major issue. New technology and team members – In today’s world most of the developers are familiar with the agile technology because most of the companies recruit developers with the knowledge of new technology and agile methodology. Therefore, having a set of developers with the 45 understanding of the new cutting-edge technology with the knowledge of agile methodology will be a huge benefit for the project. Client involvement – Agile methodology works close with clients and customers during the development life cycle. This is because their feedback and ideas are much as important to the project. Their approvals will be needed to move on to the next stage and since the development process is done in an iterative way there will be a lot of communication between the clients and the team members which will build a good relationship between both parties. This will ultimately provide a good stability to the end product. Addition to this using this methodology can successfully help to achieve all the system requirements mentioned in the above topic. With this explanation its clear why agile methodology is the most suitable methodology to be chosen in this kind of projects and more specifically in this project. In overall the above points analyses the effectiveness of using agile methodology in the new automation system of E-Solution. 46 Choosing Scrum Methodology Since we selected agile methodology as our solution for the E-solutions project we need to select an appropriate agile methodology to move forward. There are a lot of methodologies in this category used all around the world. These were discussed in activity 1. However according to the writer’s point of view, he would be selecting scrum to run the development life cycle. There are several supporting reasons for that. Scrum methodology is a significant methodology in agile environment. It is one of the widely used methodology in IT industry. Using this methodology has its own perks which allows all acting members in the team to involve and work with. Scrum methodology has some unique characteristics which plays a huge role in the whole development cycle. Some of them are: Having brief daily meetings to discuss the work process and things to be done during the day. Having short iterations known as sprints Having a backlog which includes tasks and sprints etc. These characteristics helps in the flow of the development process and make it easy for the developers to interact with. Scrum methodology has the ability to breakdown tasks to smaller teams and execute them in a shorter period of time. This is effectively used during a specific timeframe. Having this speed helps the development process as a whole to work quicker and show results to the clients. Clients too play a definite role in the process; client response will be asked at the end of each task and if there are any changes it will be done then and there. This will hugely benefit the developers and the clients. All these mentioned unique characteristics provide a suitable environment for the system to be developed in. These are few reasons why scrum technology was chosen for our project. 47 Since scrum methodology focuses more on teamwork rather than individual performance. Scrum methodology allows interaction with clients which will let Esolution officials to work closely with the development team. Ideas and responses of E-solution officials will be respected and applied in the development process. Scrum uses small task phrases named as sprints and using these sprints motivate the developers to finish the assigned task at the end of each sprint. Transparency involved in the methodology helps to build a trustworthy relationship with the clients. Less mistakes made in the system development process because the focus on the end quality is constant throughout every sprints. New system will need to be tested several times and changes to be made in the system can be done through scrum in an effective way. Priorities of the development process is recognized easily within the dynamic process and the highest prioritized work will be given extra care. The iteration mode used in scrum will be helped in the deployment phase of the automation system because it will need to go through a lot of testing which will turn out to be failures. Daily scrum meetings in the methodology will be helpful for the developers to review their task and plan the future tasks in a more organized manner which will ultimately speed up the development process. There are several other reasons additional to the above-mentioned points to prove that scrum methodology is the most suitable for the E-solutions automation project. Using this methodology will help the developers and the clients to work peacefully in an effective environment. In conclusion, it’s safe to say that scrum methodology is the most suitable methodology to run the new automation project and the above-mentioned information justifies the effectiveness and the suitability of it. Justification of the methodology Scrum methodology is a famous agile methodology used in today’s generation. The author has selected agile methodology in developing the project management system for E-solutions and this was the most suitable choice to make. The above statement is proven by the – Advantages of the scrum methodology. Scrum methodology has a series of advantages that plays a huge helping hand in maintaining a friendly development environment. The daily scrum meetings help to discuss day to day matters which will erase any defects on development environment. Small iterations known as sprints is another valid reason to choose agile methodology because it helps the developers to break down big tasks into smaller ones which will help to finish said tasks easily by the said time. This will quicken the development process of the project. The effectiveness of the project is increase through it. The backlog of scrum methodology helps to keep track of the tasks of each member in the group in developing the system. This planned document works as a blue print in tasks and deadlines. Due to these uses, scrum methodology can be considered as the perfect candidate to develop the system. 48 Other than this, the author has provided some valid reasons in the about topic of why scrum methodology was chosen and the reasons provided for it has proven that this project can be effectively completed by using the agile methodology. In overall with the reasons provided in above topics and considering the effectiveness and advantages of the scrum methodology, it is clearly justified that scrum methodology is a suitable methodology to be used to develop the project management system for E- solutions. 49 Activity 4 User Requirements of the system The user requirements of a project describe the business needs of what users require from the system. These requirements are discussed in the early periods of the planning process. The user requirements are written in order to provide an overall performance of what the end users can do with the system. According to our new system, E-solution clients expect certain functions that can be done through the system. This is quite similar to the functional requirements but this is written in the point of view as a user. Therefore, following are some of the user requirements of the new automation system of E-solutions. Different logins for the project officials Ability to insert all the necessary information regarding the project profile Showing task progression to users Updating tasks and other details from the project profile Assigning team members to the project Ability to calculate employee cost and generate total invoices Include daily updates and task completions Search the required project and details of it These are the most basic user requirements that are fulfilled by the system and there are several other requirements additional to this too. In overall these user requirements will be fulfilled by the system and with the selected methodology and design specification. System Design Specification System design specification is a document that represents the complete design of a new system. This document includes various types of detailed topics which covers almost all the aspects of the project such as architecture, modules and components, interfaces of different components and how the data works inside the system. The author would be including a system design specification for Esolution’s new automation system. System Design Specification 50 E-Solutions PVT LTD 51 Table of contents -Document Version Log -Architectural Design -Introduction -Overview -Purpose -Design overview and methodology o Product functions -Constraints and Assumptions -Database Design -Interface Design -Program Interface Document Version Log Document version log (SDS) Architectural Design Introduction 52 This is the official System Design Specification (SDS) document for the system automation project of E-solutions PVT LTD. This document will consist of all necessary documents regarding the project process of the new system. This document is created in favorable for all kinds of users (both technical and non-technical). This document can be used as a reference for future changes and updates. Overview E – Solutions private limited has decided to move on from their existing error prone manual system to a fully automated reliable system. The main goal of this transformation is to reduce company expenses and enhance the productivity significantly. There are several other supporting reasons too. However, performing such a huge transformation is not an easy task. It needs a careful evaluation and a well-planned structure on how the transformation would occur. There are several stages in such a process, the basic SDLC structure will be a great start to move on with this project. The system required by the client is straight forward. The project-based system has to be included with multiple logins (project director, leader, manager) and the project profile along with other required data has to be readily available. These will lead to a well- structured system with easy usage. Purpose As mentioned above the main purpose of creating this new system is to increase the productivity and restrict the expenses of the company. This new transformation will also help the company to move forward with the new technology which eases almost all aspects of business requirements. All kinds of different teams in the company will be able to use this system which will help them to work on said time and complete tasks on said time. Design overview and methodology The design of the system will be done in a standard way using the best technology available. The clients will be able to discuss about the design types with the developing team because the project follows agile methodology. The project profile will be given higher priority because that includes all the sensitive data and information regarding the project works and updates. The interfaces will be developed in a simple way that any kind of user will be able to interact with. It will include buttons to make changes and the database to that system will be created accordingly. Product functions These are few of the functionalities which can be done through the new automated project management system. 53 Authenticating User Add Project Update Project 54 Project Cost There are several other functions additional to this in the system but these are considered as the most important ones. Constraints and Assumptions on the system Constraints are validations set in the system. In this architectural design phase, a set of validations that has to be contained the system is discussed. As for our project these were some of the constraints that is planned to be implemented. 55 Validations on login system – some users would only see limited number of functionalities in their interfaces. Validations on inserting and updating project details – only users with major access such as project director will be able to update and edit the existing or inserting new project profile(s). Validations on number of members in a team – this can be decided by the project director Validations on project tasks and deadlines – access to only read project deadlines and not edit them. Validations on accessing backups and restoration of the system – only limited people can access the old backups of projects and other sensitive data. Assumptions are basically hypothesis made by the developers when planning the system. The final product will be created based on these assumptions. However, these assumptions made can be false in some situations too therefore a backup plan has to be implemented during such events. These are few assumptions made before implementing the project management system. Assuming there is more than one project director in the company Assuming there are several teams in a project Assuming that clients too can see the progress of the project in a dashboard view Assuming that project cost is developed at the very beginning of the project There are several other assumptions and constraints additional to the above-mentioned ones. Database Design of the project Database is a very crucial subject in a project. All kind of data is stored in databases. The success of a project depends on how well the database is maintained and developed. Therefore, a series of a long study is taken before creating the database of the project. An Entity Relationship diagram provides a complete image of the entire database. It provides the entities, attributes and relationships between data tables. The below diagram includes the complete ER diagram of the new automatic project management system of E-solutions. 56 ER diagram The above ER diagram can be taken as a raw model to implement the relational database of the system which will then take only the necessary data into the tables. Table names, relationships, primary keys etc. are clearly mentioned in the ER diagram. Having this successful ER model is a firm step towards a successful database system. Interface Design Hardware Interface It is required by the users to have the below given system requirements on their computers while running the developed system. Processor: Core i3 (10th gen recommended) or Ryzen 3 setup RAM: 8GB (recommended) Storage: 2TB (recommended) 57 Long screen monitors are recommended for better viewing Printers are recommended to generate reports and invoices Software Interface The system is mainly created for windows and IOS use. User Interface The user interface of the system is kept to a minimal. The colors used in the interface’s lineup with the company theme. The system would begin with a login site for the required personals and then the interface that arrives depend on the login made. Ex- if the director makes a login, then he would be able to create projects and edit them but a team member won’t be able to do that. The following images would include few main interfaces made in the project management system for E-solutions. Login Page This is the first page that appears when a user enters the project management system. The below images will include all the interfaces that are available within a directors’ user login. The username and password have to be entered to the login page and when done the login button is pressed. Here if the username and password is correct the user will be redirected to the next page. Project Director homepage 58 This is the homepage for the project director. Main buttons related to the project and project profile are shown through the interface. Create project This is where a new project is created. A project profile has to be definitely created for a project. Project profile 59 Here we could see the main categories required to create a project profile. Project Cost Project cost is entered as two columns namely one with the cost description and the next column with the amount. After entering all the costs, the final cost of the project is calculated. 60 Project Team This interface helps to add the required teams for a project. The number of teams are not fixed for a particular project because it depends on the project size. Each team will have a team leader to assign tasks for each team members. Project Tasks 61 Project tasks are entered in a table with the task name, team members involved in the task and a deadline for it. This task table will be filled by the project director. Project Manager Add project manager interface Project manager assigns and looks after all the teams in a project. A project manager is selected by the project manager. He will be given some leadership power to control the project flow of a project. Project director will select a project manager and enter their details through this interface. The above shown user interfaces are the main interfaces that is required to add a project. There are several more interfaces for other users that are still under development. However, as project director is our main character, we were able to provide the user interface of the project director through this SRS document. Program Interface The program interface will include how the program function work in the system. The author would be using flowcharts and DFD diagrams to explain the program structure of the system. Flowcharts Flowcharts is a suitable way to show the program flow of the system. The project management system has a number of functionalities that help the overall system be successful. However, all these functionalities have its own program flows which are created with a simple flow of data. This can be visualized by well known programming diagrams called flow charts. The following are some of the flow charts in system functionalities. 62 Login Flowchart Create Project Flowchart This flowchart depicts the flow of how to create a project 63 Create Project Profile flowchart 64 65 Project Cost flowchart Project Teams flowchart 66 Add project team flowchart 67 Project tasks flowchart 68 Project Manager flowchart 69 Update project flowchart 70 71 Search project flowchart The above shown flowcharts depicts the program flow of different main functionalities in the system. These evidences shown above prove that flowcharts were successfully created for each of these functionalities to create a fully pledged project management system to E-solutions. 72 Data Flow Diagram Data flow diagrams are used to visualize the information of how data flows through a system. This can express the data flow of a system more clearly. This clearly portrays where the data is started, stored and leaves. We would be adding the DFD diagram in our SRS document to show a pictorial representation of the project management system in a more dynamic way. By having this DFD diagram the viewer can get an in-depth programmatic version of the complete system. Context Level Diagram The above image provides the context level DFD of the project management system. This diagram shows the complete system in a single page. The next diagram would include a few more processes and data stores of the system. 73 DFD Level 1 This image shows the level 1 of DFD diagram. The process of the context level is furthermore divided which shows the other processes inside the core process of the system. Here the process of a client requesting a project and the process of how the director controls the entire project flow is shown in the level 1 DFD diagram. By these diagrams and interfaces the program design of the project management system of E-solutions is evidently showed. The author has included flowcharts and DFD to prove this. In the conclusion, the project management system requested by the Esolutions private limited could be successfully implemented adhering to the rules, methodologies and the program flows mentioned above. 74 Effectiveness of system design with reference to the methodology while meeting the user and system requirements The user requirements are functions that can be performed by the user in the final system. While preparing the SRS and other basic plans the user requirements have to be figured out. In our scenario, the author has listed the user requirements and the importance of it in the above pages. However, it’s necessary to understand how the design and methodology selected affect these user requirements. • User Satisfaction User satisfaction is an important user requirement that has to be fulfilled by the end product. The user has to be satisfied with what he/she uses. The success of the system depends on it. In order to get this complete satisfaction, the developers have to know what the user really wants and to do this one conversation with the user wouldn’t be enough. The methodology we selected allows the developers of the system and the users to converse and engage in the system build together. This develops a good mutual understanding between the two parties. Agile methodology allows the clients and developers to collaborate in a friendly environment during the system development. By doing this the client would be able to share their ideas regarding the system which will be respected and added to the system by the developers. This feature plays a vital role in the effectiveness of the methodology. • User friendly Designing The designing phase of the project is shown through the SDS document. Its clear that using scrum methodology has helped the design phase to be more specific and clearer to the users. As mentioned before these designed interfaces and program modules will be sent to the clients for approvals which will reduce the errors and the probability of creating mistakes in the system. • Using Different diagrams in the SDS The author has provided several design diagrams such as ER diagram, DFD diagram, flowcharts etc. in the SDS. This is done per the order from the methodology used in the project. Scrum methodology encourages to work as per to the rules. These rules include less documentation and these include the main diagrams and system specifics. However, having a system design with all these diagrams and plans allow the system to be developed in a safe environment with a proper plan and understanding. This helps the project to be developed in a less period of time and less mistakes. The effectiveness of the system is moved to a higher rank due 75 to this. Therefore, it’s clear that having this system design allows the system to be developed in an effective manner. Furthermore, using these diagrams not only increases the effectiveness of the system but also provides to fulfill the user and system requirements. The design document provides a clear image of how the user would interact with the system. The interfaces and the input output system explain the view of the user in the system. This could help to understand what the user could do at the end product and if there were to be any changes, then those changes could be done at the beginning stages by the help of the scrum methodology. The same theory goes to the system requirements, here the system requirements will be the functionalities that can be done by the system and these are shown through the ER and DFD diagram of the system. The functions provided by the system is depicted through these and the main advantage is that the clients will be able to check if there were any more functions to be added. The System design provided also helps the developers to get an in-depth version of the planned system. This may allow them to generate more effective ideas and functions to be added in the system which would be a great benefit to the system requirements and the user requirements. In overall its clear that using scrum methodology in the project process has allowed a criterion of advantages such as involving the clients in the system development process which would enhance the user requirements. The system designs and methodology techniques would help to increase the effectiveness of the system requirements and as a whole the complete project management system would be effectively developed through this system design specification. The above shown reasons proves it. Conclusion E-solutions private limited has decided to move on from a manual project management system into an automated project management system. The author of this assignment has taken over to plan this transformation in a professional way. The author has discussed about the SDLC model of a system and continued with the two main system development methodologies in today’s society. 76 Then the author has continued with the feasibility study of the project management system which provides a very useful report on the validity of the system. The third activity of the assignment focuses on the methodology selection for the system development and the author has provided proper reasons for his selection on the system development. The final activity of the assignment focuses on the system design specification for the project management system. The data designs included in the document provides a good overview of the main functions and the program flow of the system. In overall this assignment has successfully managed to cover all necessary aspects of creating a system design and analysis for the new project management system in E- solutions private limited and the information provided in this assignment can be easily used to continue with the development process of the system. https://www.proofhub.com/articles/traditional-vs-agile-project-management https://stackify.com/what-is-sdlc/ https://www.paradigm.com/guide/software-development-process/what-is-a-softwaredevelopmenthttps://wadic.net/traditional-project-management-advantages-disadvantages/ http://www.ofnisystems.com/services/validation/user-requirement-specifications/-link https://www.360logica.com/blog/agile-and-xp-testing-resources/ https://reqtest.com/agile-blog/why-agile-trumps-traditional-software-development/ https://www.kpipartners.com/blog/traditional-vs-agile-software-developmenthttps://wadic.net/traditional-project-management-advantagesdisadvantages/ https://www.tutorialspoint.com/sdlc/sdlc_overview.htm https://activecollab.com/blog https://hygger.io/blog/agile-/ https://agiletech.vn/traditional-sdlc-vs-agile-sdlc/#what-is-traditional-sdlc 77 78 79 80