Friday, April 5, 2019

Software Development Methodologies Analysis Information Technology Essay

Softw ar Development Methodologies Analysis cultivation Technology EssayThe report bequeath be divided into sections, which describe the contrastive stages of the pouch aliveness cycle and provide information some the sound supportion scope, occasion and defines project objectives.Furthermore this report investigates the varied softwargon discipline blessologies and examines which one would be the scoop up to use for the purpose of the closing year project. b arely the Summary and Critical Review of the project is provided with conclusions on, viable, future changes and improvements to the project.Finally the reports vermiform process section includes all relevant diagrams, interrogatory and coding and other information re riped to the project.AcknowledgmentsI would like to thank both of my project supervisors Jon Bennett and Matthew Wake for their help and encouragement passim this project.Furthermore I would like to thank Karren Burrows for her help on improving my informationbase design and Mary Spence for guidance in the complicated world of VBA.In addition I would like to express my gratitude to Kevin Potterton, a friend and co-worker at Investmaster Group ltd. for providing helpful input, recommendations and moral uphold in difficulties with project counseling.Finally my boyfriend Andrew Steer for his patience, support and proof reading.T subject of content inletThe of import aim of this project was to document and develop an Order Processing Scenario for a automobile term of a contract comp any(prenominal).The musical ar partment of rules stores customer and railroad car details, car availability, calculates renting costs and fines, prints bills, and highlights unpaid transactions.This information will be avail qualified through a exploiter friendly interface with clear phantasm messages.To accomplish this, intimacy acquired through come in the years at university was utilise to poll and solve problems encountered duri ng the project.Furthermore, the information required for the project was poised and synthesised to provide a practical and high-quality end product that could actually be apply in a real world situation.Additionally, research into discordent software development methodologies was accomplished and an catch teaching methodological analysis selected.By using techniques and tools covered during the course the indispensabilitys for an order attending clay were captured, including antithetical exploiters and views of customers and clerks.What is more, using the research, self-learning and additive Visual Basic tutorials en competentd the use of more sophisticated and advanced coding techniques.Finally, the administration was tested by users with different levels of IT knowledge and was accepted for covering the relevant HCI criteria. (Appendix14)To develop and implement a fully surgical subprogram GUI front end for the above carcass.Problem definition.Currently, Aleks motorcar term of a contract is a small car renting company and all record charge within the company is carried out manually, on paper. guest and reservation details are written down in log books and transactions are not backed up anywhere in case of any entropy loss and sensitive information is sooner easily accessible devising the company susceptible to data theft.This way of working is not particularly effective because the paperwork is frequently lost or misplaced, which leads to the customers being unhappy with the service provided and complaints concerning the standard of data security.The aim of this project is to produce a cheap, automated resolvent that will enable safe repositing of sensitive customer data. It should allow permitted users to check on the availability of cars, customer accounts and to produce relevant reports.In addition to this, the system should be easy to use with clear instructions and messages as the users (clerks) have solo basic IT knowledge.O bjectivesTo select and follow an appropriate development methodology.To capture requirements for an order processing system including different users and views of customers and clerks.Investigate different software options. conception the order processing system.To include a variety of subsystems including the of importtenance of customer information, car details, clerk details and the payment of fines.To identify a variety of users for system testing against relevant HCI criteria(Appendix15). pull in a prototype with basic functionality.Conduct an evaluation of the prototype.To develop and implement a fully functioning GUI front end for the above system.Basic object Requirements1) Acquire and analyse user requirements.2) Develop a working system prototype with basic functionality specified by the user.3) Design and implement a database for the system prototype.Possible Further Enhancements1) Add administration section to the system.2) Develop a fully functional order processing s ystem3) Investigate possible security problemsDeliverables1) Report2) works order processing systemProject ScheduleThe duration of each task was controlled through the mathematical product of a Gantt chart an outline of each key task was highlighted therein. This chart idler be seen in Appendix B.Nevertheless it is not always possible to stick to the produced schedule, so the second, reviewed Gantt chart was created. This chart bay window be seen in Appendix B.It shows the actual start and completion tasks dates presented week by week, the tasks that were round outd in the different m than expected are presented in blue.Appendix C Project Development daybook and Error Reference arising not found, highlights the problems encountered during the development and snips when project was feeling behind the pilot film schedule.The main reason for running behind the schedule was that the planed derive of time to learn VBA language was an upbeat prediction and the task was much mo re difficult than predicted. some other factor that had a big bow on delaying the project was sudden unavailability ot the project supervisor during to his health issues. This had place in January, and caused of import suspension of the database development as the supervisor was a project client and a main source of help in using VBA code.Furthermore, accommodating for deadlines in other modules, and obligations at work lead to come on delays.However by working extensively during the weekends and bank holidays all of the project objectives were follow outled on time.Project ManagementScheduling the project stages had a massive influence on the development of time management skills.Successful time management helps to increase the individual productivity and overall efficiency. Setting goals, prioritising them and monitoring its motion help to gain conscious control over the project and its separate stages.Developing these skill can seriously influence the person future ability t o manage the projects in the work environment.One of the techniques useful when managing the project is the MoSCoW analysis (see Error Reference source not found).It divides the tasks into different categories to enable the termination on which of them are the most and the least distinguished. Tasks paced high in the hierarchy are the ones that had to be completed first, when the completion of tasks placed lower in the hierarchy of importance was optional.In cases where completion of the most important tasks was taking longer than expected the less important functions were completed earlier, to ensure that there are as galore(postnominal) working functions as possible.Furthermore to ensure that all of the technical project management practices are conducted during the final exam year project development, weekly meetings with Jon Bennett, supervisor, were carried out.During these meetings supervisor pointed out parts of the project that might bestow longer to complete and highl ighted the areas requiring the biggest effort concentration.Unfortunately, because of the supervisors health problems meeting in the last few calendar month of the project development were suspended exclusively they were resumed with the unseasoned project supervisor although not with the same frequency.2.Software Development methodologySoftware Development Methodologies AnalysisWhen development a system it is crucial to choose a methodology that will fulfil all of the project requirements within the allocated timescale.A successful methodology is one that enables the developer to manage, judge and control the system throughout its manner cycle.There is a wide range of different models, which differ in the number of iterations of the project lifecycle, the intensity of user involvement in the project and the level of evaluation.Therefore, the end on which methodology to use for a final year project might be a very difficult one and to succeed, the complete spectrum of require ments has to be interpreted into account and many techniques and tools have to be considered.Agile vs. Heavy weight unit methodological analysisProject development methodologies can be divided into two main types wide awake and heavyweight. Both of these methodology types possess aspects useful for the purpose of the final year project but none of them could be fully used as a separate technique. In order to predominate the methodology that is most capable for the project it would be recommended to combine some of their individual aspects together.Agile methodologyUsing some of the flying methodology features can significantly limit the amount of documentation produced for the purpose of the project and assure that the project will be finished in the given amount of time.Furthermore, the agile approach concentrates on good design, technical excellence and simplicity, which are the main goals whilst working on the final year project. some other argument for using an agile method ology is that it can also be used for the purpose of small, self-organised teams or individuals, helping them to adapt to changing circumstances, which is often the case in projects such as these.Heavyweight MethodologyNevertheless, using some of the aspects of a heavyweight methodology should also be considered when develop an order processing system like Aleks Car Rental.Although heavyweight methods are mainly used by large teams for the purpose of developing large projects, some of the methodology tools and techniques could be also useful when developing student project.Following a heavyweight methodology helps to identify the different stages of the project and what lifecycle would be the best to follow for the purpose of the final year project.radian ( rapid Application Development)One of the examples of an agile methodology is Rapid Application Development (RAD). Its main advantage is that the working systems are created within a little time period, which is very useful as the time frame for the student final year project is quite restricted.Furthermore, according to the RAD methodology the project needs to be frequently reviewed by the user as clean functionalities are added during the development process.This is called iterative prototyping and should be applied to the students final year project development. substance abuser participation is very important in this process as it ensures that the developed system satisfies the end users requirements.Another aim of the RAD method is to reuse existing software components. Unfortunately as Aleks Car Rental order processing system needs to be created from scratch this aspect of RAD is not suitable for the purpose of this project.Another feature of RAD is the use of Computer Assisted Software Engineering (CASE) tools and techniques, which could be extremely useful to the developer in the project be aft(prenominal) stages and all stages that follow the development of the system. These techniques should also be used in the development of the final year project.RAD questions the use of high-level documentation, like this report, as it is very time consuming, and, instead, concentrates on the low ceremony level such as system testing, cooking and implementation plans.For a diagram seeAppendix D. complete programmingAnother example of the agile methodology is the Extreme Programming Method.Its success depends upon the level of customer satisfaction with the system. For customer satisfaction to be optimal, this method engages the client in constant communication so that user requirements can be catered for during the development lifecycle.This could be easily applied to the final year project as contact with the client (supervisor) should be persistent throughout the solely development process.By delivering the product in modules, over short timeframes, the Extreme Programming method concentrates on short term goals instead of delivering the full product over a much longer period.The complexity is added to the project sequentially, which means that individuals will be working on something new periodically.This would be the perfect path to follow when developing the final year project as short term goals could be delivered to the project supervisor on a weekly basis.What is more, Extreme Programming allows the developer to pronto respond to changes in customer requirements, which would be highly desirable for the unstable requirements of the final year project.Another feature of the Extreme Programming method is that it is mainly used for small to medium sized projects such as a final year project.System Development Life Cycle Methodology (SDLC)A good example of a heavyweight methodology is the System Development Life Cycle Methodology (SDLC).This methodology is mainly modelled around the Waterfall Life Cycle which breaks the project structure into stages consisting distinct goals.It is good for projects with clearly specified requirements and a large time fram e.A key feature of this model is that the process needs to stay free from any overlapping or duplication. To achieve that undertaken goals always have to be accomplished before proceeding from the one phase to the next one. There is very little casualty for the designers to go back and change any of the finished stages as this would dramatically slow down the whole development process.This methodology doesnt count to be suitable for the purpose of developing the final year project.. For a diagram seeAppendix D.Structured Systems Analysis and Design Method (SSADM)Another heavy weight methodology example is Structured Systems Analysis and Design Method. It is the waterfall life cycle method which breaks the project structure into stages and rejects overlapping theses stages.Three major tools used by SSADM are Logical Data mannikin (Entity Relationship Diagram), Data Flow Modelling and Entity Event Modelling. The method combines all three techniques to enable the complete view of the developed system.Furthermore SSADM is structured from 5 complex hierarchies of stages feasibility study, requirements analysis, requirement specification, logical system specification and physical design.As this methodology is a high ceremony method and it involves extensive planning and wide documentation, its elements should be used in a final year project to document the development process.Nevertheless SSADM doesnt really address the issue of changing requirement specifications and it doesnt allow any iteration after the project phase completion, so following this methodology rigorously might be really time consuming and not appropriate for the purpose of developing the final year project. designr Centred Design methodologyUCS could be described as a methodology that attempts to optimize the product around the user specifications. The main aim is to create a product that user can, want, or needs to use, rather than creating something that user will have to accommodate their beh aviour around.To achieve that client has to be regularly updated with the project progress and consulted regards any changes.According to the methodology specifications there are several ways to gather required information from the users localize groups, questionnaires, interrogates, usability testing, card sorting and participatory design.Furthermore, although USC mainly replicates the waterfall life cycle method it is also steering on its four key stages drop Specification, Requirements Specification, Design and Evaluation.The stages are repeated until the projects usability scope is achieved.USC methodology uses many techniques that could be useful in the development of the final year project like use cases, scenarios and office (customer for the purpose of Aleks car rental).Methodology used for this ProjectTime spent on the planning, documentation development and testing is often dependent on the chosen methodology and can increase or change magnitude accordingly to the us ed method.That is why, to meet the project objectives successfully the common practice is to combine different aspects of the different methodology types in the way they will suit the purpose of the students final year project.As the user (project supervisor) was consulted about the project requirements and progress on many occasions during the project development, it would indicate that aspects of Extreme Programming, UCD and RAD methodologies were used to full the project requirements.Also, using use cases, project scenario (Aleks car rental) and persona (client) taken from the UCD method made project goals easier to understand and fulfill.Furthermore, to design the order of the different stages in the project the waterfall life cycle technique was used, but as many iterations to the project throughout the different stages were made, and object lie techniques and tools were used, this would indicate the aspects of SSADM and User Centered Design method were used in the final year project. besides Diagrams such as the Logical Data Model (Entity Relationship Diagram) and the Data Flow Model taken from SSADM were also used to establish the data flow in the system and what tables should be created in order for system to work as specified by the client.Additionally to confirm that all of the client requirement were covered the testing of the system was undertaken as it have place in RAD and UCD methodologies.To conclude, there is no one appropriate methodology for this project but many aspects of different methodologies combined together enabled to fulfil the requirements set by the project stakeholder.3. Gathering Requirements3.1 User RequirementsFor the purpose of this project the assumption was made that the person called system user will be the project proposer and initial project supervisor, Jon Bennett.To enable company of the most accurate requirements, two different data gathering methods were undertaken.Firstly, frequent consultations with the system us er enable assembling essential system requirements and allows in perspicacity research into user needs .Secondly investigating into current car hire solutions on the Internet was undertaken and features of the car renting company systems identified and reused if appropriate.3.2Research Methods both main research method types can be identified, quantitative and qualitative.Quantitative method is often used when the question is how many or how often. http//www.orau.gov/cdcynergy/demo/Content/activeinformation/tools/toolscontent/quantiativemethods.htmThe most comm only when used techniques are ordinarily structured questionnaires and surveys.Further to that statistical data is produced and, in order to analyse and interpret the collected data, converted into charts and graphs.This method can be very time consuming and requires gathering large samples of data.As the final year project has a strict time frame and it is an individual task, quantitative method doesnt seem to be the righ t one to use.Second type of research methods is a text based qualitative method.In order to obtain the most accurate information, methods such as focus groups, interviews, observations, and case studies are used.The main data gathering method is to take a description of a problem from someone experiencing it or by observing the individual user.By using this method more in depth information is provided which will allow better understanding of user needs.The success of this method depends mostly on the researchers skills and should only be used if there are only a few cases to investigate.As the amount of stakeholders in the project is limited to one and it is possible to observe or interview the user, using qualitative method seems to be more suited for this project.3.3InterviewsInterview is a formal meeting and discussion with someone. http//www.thefreedictionary.com/interviewGathering information through an interview means evaluating the situation through the conversation with use r. There are different kinds of interviews structured, semi-structured, unstructured, group interviews and focus groups.In order to gather all necessary information about the required system functionalities regular weekly meetings with the user were taking place during a four month period. This is documented in appendix X.During these meetings functional and usability requirements were recognised and different methods on how to fulfil them were discussed.3.4Functional RequirementsFunctional requirements indicates what actions should the system be able to do and what functions it should perform.Login Only permitted users should be able to login in to the system.Make Loan- Permitted users should be able to rent a car, and loan information should be stored in the systemAdd Customer- Permitted users (clerk) should be able to add new customer details. cut Customer Permitted users (clerk) should be able to update/edit customer details.Find Customer Permitted users (clerk) should be abl e to find existing customer details.Delete Customer Permitted users (clerk) should be able to take away existing customer details.Add Car Permitted users (clerk) should be able to add new car details.Edit Car Permitted users (clerk) should be able to edit existing car details.Find Car Permitted users (clerk) should be able to find existing car details.Delete Car Permitted users (clerk) should be able to delete existing car details.Register car damages Permitted users (clerk) should be able to add any car damage details.Add shop clerk Permitted users (manager) should be able to add new clerk details into the system.Edit Clerk details Permitted users (manager) should be able to edit clerk details in the system.Find Clerk Permitted users (manager) should be able to find clerk details in the system.Delete Clerk Permitted users (manager) should be able to delete clerk details from the system.Produce Reports Permitted users (manager) should be able to produce monthly and yearl y income reports.Produce Loan Receipt Permitted users (clerk) should be able to produce client receipt with the loan details.Calculate defrayment System should calculate the total payment for the loan.Calculate Fine System should automaticaly calculate fine for late returns.Notifying about overdue loans Permitted users (clerk) should be able to view details of the overdue loans.Close Option Use should be able to close all the forms.Cancel Option User should be able to delete undertaken activity.Logout Option User should be able to logout from the system.3.5 Usability RequirementsUsability requirements measures how the software is suitable for its users, consideringhow easy it is to learn, how effective it is, how efficient it is, and user satisfaction.When designing a system there are ten usability principles that should be taken into consideration . Jakob Neilsenal. (2001).These 10 rules are outlined below with relevance to the order processing scenario Aleks car rental. Vi sibility of system office The user should be informed about any system status changes through the use of appropriate feedback e.g. When information in the system is updated a message boxshould be displayed informing the user whether this procedure has been successful or not.Appendix 16 Match between system and the real world words used in the system should be appropriate and easy to understand by the user, egz meaningful error messages. Appendix17 User control and freedom -All possible activities undertaken by the user should be supported by the system (navigation). Consistency and standards To prevent any confusion the system the consistency of the interface should be kept throughout the whole system. It is reassured by using the same colours, fonts and format. Error prevention Any errors should be avoided when possible, where errors do occur, user should be clearly informed what has happened. Recognition rather than recall The interface should be informative enough for the u ser to understand how to navigate around the system in order to fulfil the undertaken action, egz. placing order.It should be clear to the user what they are required to do without recalling any information. Flexibility and efficiency of use The system should be designed for both consumed andinexperienced. Although the Aleks car rental system is easy and straight in the lead to use all of the users will be provided with user guide. Aesthetic and minima contestation design Using only the basic graphics and presenting only the necessary information prevents user from getting distracted from the system. suspensor users recognize, diagnose, and see from errors When an error occures, the meaningful information should be displayed to indicate what coused the error and suggest how to resolve the problem.Appendix 17. Help and documentation -A user guide, listing clear steps on how to complete the tasks should be available.Appendix 183.6 Requirements gathered from available solutionsT his section of the report studies existing booking systems, available on-line or exchange to car renting companies.See Appendix 18 for screen shots of these solutions.An investigation throuought existing booking systems was carried out in order to identifyany reusable features that can be used for Aleks car rental System. Furthermore, undertaken research helped to recognise problems that should to be avoided. These are discussed below General UsabilityUsability is about design focused on helping customers perform tasks, with little effort and qualification theexperience enjoyable. It is important from both the customers perspective as it is the means by whichthe user interacts it should not lead to frustration. A well designed website interface is user friendly,simple, efficient, the functionality easy to learn and use in addition to providing effective interaction. Use of MultimediaA range of high quality multimedia through color, sound, and graphics collaborated creates a powerf ulimpression and generates interest, making the experience enjoyable. This sets a positive expectationfor the rest of the website ultimately the customers choice of place to hire a vehicle. Use ofmultimedia should be kept to a minimal, with lot of white space and contrasting text. The averagecustomers figurer specification and bandwidth should be kept in mind thus it affects load up andresponse time. look for InformationA customer likes a booking experience that enables them to find, select and pay for the service withease. The solution to this is efficient navigation and search facilitation.A search function by keyword can help retrieve specific information reducing frustration.Grouping meaningful data in a structured list should be applied as it minimizes confusion. Furthersubcategory help narrow down relevant information making it easier for customers to find what theyare looking for. Online OrderThe website should support secure online payment transactions, customers should be made awake(predicate) ofthis, also other methods of payment options should be acceptable as customers are vulnerable tocarrying out online payments. billet of reservationIt is important that the customer is updated with the status of the service once the reservation has beencompleted i.e. confirmation of the booking.3.7 sentry duty RequirementsThere is a wide range of safety requirements to consider when designing a system, but as specifying them is outside the final year project scope only the basic ones will be covered. concomitant when additional copies of the data are make. This could be done either by the user or automatically by the system.Backed data should not be stored anywhere within close proximity of the fender system in case of a natural disaster such as fire or flood was to take place where the system is located.It is highly recommended that Aleks car rental company use a backup option to secured informations stored in the system.System stability testing to min imise system failure and possible data loss the thorough testing should be always performed on any new system.3.8 security system RequirementsPersonal information stored in the system should only be accessible by authorised person. rallying cry to prevent unauthorised individuals from accessing the data, system should always be protected with the password.Encryption protects information by making it unreadable to anyone except authorised person.This is use to protect the password when login in to the Aleks car rental.4.Software and Hardware solutions5.Car rental Company System PrototypeIn order to develop a fully working system student had to design and develop a working prototype of the booking system as a part of the project development lifecycle. See Appendix G for screen shots of the prototype system.Use role DiagramsTo gain an overall view of the system to be developed a diagram was drawn using UML (UnifiedModelling Language). UML is used to show the interaction between the reservation system and theseveral actors/users. See Appendix H for a UML diagram.User AuthenticationAs the system is designed to stored potentially sensitive data the user identification must be in place.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.