Wednesday, June 5, 2019
Software Development Methodologies Analysis Information Technology Essay
Softwargon information Methodologies Analysis Information Technology EssayThe spread over exit be divided into sections, which describe the contrary stages of the dispatch life cycle and provide information about the barf scope, purpose and de books hold quarryives. tho much this report investigates the different software development methodologies and examines which unitary would be the best to wasting disease for the purpose of the final examination division jump.Moreover the Summary and Critical Review of the bulge out is provided with conclusions on, possible, future changes and improvements to the jump.Fin bothy the reports Appendix section includes all applic adapted diagrams, testing and coding and other information related to the project.AcknowledgmentsI would a analogous to thank twain of my project supervisors Jon Bennett and Matthew Wake for their stand by and encouragement throughout this project.Furthermore I would like to thank Karren Burrows for her help on improving my entropybase externalise and Mary Spence for foc utilise in the complicated world of VBA.In fetchition 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 honor adequate to(p) support in difficulties with project precaution.Finally my boyfriend Andrew Steer for his patience, support and proof reading.Table of contentIntroductionThe main aim of this project was to entry and develop an Order Processing Scenario for a car rental comp some(prenominal).The clay stores customer and car details, car availability, calculates rental costs and fines, prints bills, and highlights unpaid transactions.This information entrust be available through a officer friendly interface with piss error messages.To accomplish this, knowledge acquired throughout the years at university was utilise to analyse and solve problems encountered during the project.Furthermore, the information required for the project was gathered and synthesised to provide a practical and high-quality end ware that could actually be employ in a real world situation.Additionally, research into different software development methodologies was completed and an impound development methodological analysis selected.By using techniques and tools covered during the human body the requirements for an commit processing form were captured, including different users and views of customers and clerks.What is more, using the research, self-learning and additional Visual Basic tutorials modifyd the use of more sophisticated and advanced coding techniques.Finally, the strategy was tried and true by users with different levels of IT knowledge and was accepted for covering the relevant HCI criteria. (Appendix14)To develop and implement a fully functioning GUI front end for the to a higher place system.Problem definition.Currently, Aleks Car Rental is a small car renting comp each an d all record maintenance within the comp some(prenominal) is carried out manually, on paper.Customer and reservation details are written down in log books and transactions are non backed up anywhere in compositors case of any data loss and sensitive data is quite easily accessible making the company susceptible to data theft.This way of on the job(p) 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 solution that volition enable safe storage 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) gain only basic IT knowledge.ObjectivesTo select and follow an appro priate development methodological analysis.To capture requirements for an order processing system including different users and views of customers and clerks.Investigate different software options. founding the order processing system.To include a kind of subsystems including the maintenance 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).Produce a icon with basic functionality.Conduct an evaluation of the prototype.To develop and implement a fully functioning GUI front end for the above system.Basic Project Requirements1) begin 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. thinkable Further Enhancements1) Add administration section to the system.2) Develop a fully functional order processing system3) Investigate possible security pr oblemsDeliverables1) traverse2) Working order processing systemProject ScheduleThe duration of separately task was controlled through the production of a Gantt chart an outline of each key task was highlighted therein. This chart can be chequern in Appendix B.Neverthe slight it is not always possible to stick to the produced schedule, so the second, reviewed Gantt chart was created. This chart can be seen in Appendix B.It shows the actual start and completion tasks dates presented week by week, the tasks that were completed in the different time than expected are presented in blue.Appendix C Project Development Diary and wrongful conduct Reference source not found, highlights the problems encountered during the development and times when project was feeling nates the original schedule.The main reason for running behind the schedule was that the planed sum total of time to learn VBA language was an optimistic prediction and the task was much more difficult than predicted.Anot her factor that had a big influence on delaying the project was sudden unavailability ot the project supervisor during to his health issues. This had place in January, and caused significant suspension of the database development as the supervisor was a project client and a main source of help in using VBA code.Furthermore, meet for deadlines in other modules, and obligations at work lead to further delays.However by working extensively during the weekends and bank holidays all of the project objectives were fulfilled on time.Project ManagementScheduling the project stages had a massive influence on the development of time management acquisitions.Successful time management helps to amplify the person productivity and overall efficiency. Setting goals, prioritising them and monitoring its execution help to gain conscious control over the project and its separate stages.Developing these skill can seriously influence the person future ability to manage the projects in the work envi ronment.One of the techniques profitable when managing the project is the MoSCoW analysis (see Error Reference source not found).It divides the tasks into different categories to enable the decision on which of them are the most and the least important. 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 many working functions as possible.Furthermore to ensure that all of the good project management practices are conducted during the final year project development, weekly meetings with Jon Bennett, supervisor, were carried out.During these meetings supervisor pointed out parts of the project that might take longer to complete and highlighted the areas requiring the biggest effort concentration.Unfortunately , because of the supervisors health problems meeting in the last few month of the project development were suspended just they were resumed with the new project supervisor although not with the same frequency.2.Software Development MethodologySoftware Development Methodologies AnalysisWhen developing 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, evaluate and control the system throughout its life 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 decision on which methodology to use for a final year project might be a very difficult one and to succeed, the complete spectrum of requirements has to be taken into account and many techniques and tools have to be considered.Agile vs. Heavyweight MethodologyProject development methodologies can be divided into two main types agile and behemoth. Both of these methodology types stimulate 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 find the methodology that is most suitable for the project it would be recommended to combine some of their soul aspects in concert.Agile MethodologyUsing some of the agile methodology features can significantly limit the amount of instrumentation 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.Another argument for using an agile methodology is that it can also be used for the purpose of small, self-organised teams or individuals, helping them to adapt to changing circumstan ces, which is very much the case in projects such as these.Heavyweight MethodologyNevertheless, using some of the aspects of a moroseweight methodology should also be considered when developing an order processing system like Aleks Car Rental.Although heavyweight methods are in the first place 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.RAD (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 hornswogglely time period, which is very useful as the time frame for the student final year project is quite rest periodricted.Furthermore, according to the RAD met hodology the project needs to be frequently reviewed by the user as new functionalities are added during the development process.This is called iterative prototyping and should be applied to the students final year project development. User 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 apply active 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 planning 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 i s very time consuming, and, instead, concentrates on the low ceremony level such as system testing, training and implementation plans.For a diagram seeAppendix D. extreme programmingAnother example of the agile methodology is the Extreme Programming Method.Its success depends upon the level of customer comfort 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 whole 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 th e 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 quickly 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 size 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 unequivocal goals.It is good for projects with clearly specified requirements and a large time frame.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 niggling possibility 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 seem 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 info Modelling (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, req uirement 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 adjacent this methodology rigorously might be really time consuming and not appropriate for the purpose of developing the final year project.User 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 behaviour around.To achieve that client has to be regularly updated with the project mount up and consulted regards any changes.According to the methodology specifications there are several ways to gather required information from the users focus groups, questionnaires, interviews, usability testing, card sorting and participatory design.Furthermore, although USC mainly replicates the waterfall life cycle method it is also focusing on its quatern key stages Use 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 persona (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 decrease accordingly to the used method.That is why, to meet the project objectives successfully the common practice is to combine different aspects of the different methodology ty pes 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 do 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 oriented techniques and tools were used, this would indicate the aspects of SSADM and User Centered Design method were used in the final year project.Moreover Diagrams such as the Logical Data Model (Entity Relationship Diagram) and the Data Flow Model taken from SSADM were also used to e stablish 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 gathering of the most accurate requirements, two different data gathering methods were undertaken.Firstly, frequent consultations with the system user enable assembling essential system requirements and allows in depth research into user needs . helply investigation into current car hire solut ions on the Internet was undertaken and features of the car renting company systems identified and reused if appropriate.3.2Research MethodsTwo 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 commonly used techniques are usually 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 right 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, intervie ws, 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 generally 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 preaching with someone. http//www.thefreedictionary.com/interviewGathering information through an interview means evaluating the situation through the conversation with user. 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 hardly 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.Edit Customer Permitted users (clerk) should be able to update/edit customer details.Find Customer Permitted users (clerk) should be able to find existing customer details.Delete Customer Permitted users (clerk) should be able to delete existing customer details.Add Car Permitted users (clerk) s hould 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 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 yearly income reports.Produce Loan Receipt Permitted users (clerk) should be able to produce client receipt with the loan details.Calculate Payment System should calculate th e 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 cancel 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 effectual 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 relevancy to the order processing scenario Aleks car rental. Visibility of system circumstance The user should be informed about any system status changes through the use of appropriate feedback e.g. When information in the system is u pdated 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 Language used in the system should be appropriate and easy to understand by the user, egz important 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 discombobulation 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 user to understand how to fly around the system in order to fulfil the undertaken action, egz. placing order.It should be clear to the user what they are req uired to do without recalling any information. Flexibility and efficiency of use The system should be designed for both experienced andinexperienced. Although the Aleks car rental system is easy and straight forward to use all of the users will be provided with user guide. Aesthetic and minimalist design Using only the basic graphics and presenting only the necessary information prevents user from getting distracted from the system. champion users recognize, diagnose, and recover 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 solutionsThis section of the report studies existing booking systems, available on-line or sold to car renting companies. consider 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 concentrate on helping customers perform tasks, with little effort and making 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 powerfulimpression 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 sightlycustomers computer specification and bandwidth should be kept in mind thus it affects load up andresponse time. Search 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 aware ofthis, also other methods of payment options should be acceptable as customers are vulnerable tocarrying out online payments. Status of reservationIt is impor tant that the customer is updated with the status of the service once the reservation has beencompleted i.e. confirmation of the booking.3.7 Safety 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.Backup 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 law of proximity of the original 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 minimise system ill luck and possible data loss the thorough testing should be always performed on any new system.3.8 Security RequirementsPersonal information stored in the system should on ly be accessible by authorised person.Password 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 Case 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 p lace.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.