Object Oriented Development Technology
Table of Contents
In view of Johnson (2014) information as the word suggests is a collection of data which has different meaning in different contexts. When information is said to be good is when it adheres to certain qualities and it is relevant. There are certain characteristics associated to information which makes it good.Â Some of the important ones being that the information has to be complete, relevant, understandable and timely provided in detail. In the context of Holipets Pet Care Service the main characteristics of good information would be that the information has to be “Accurate”, “Complete” and “Timely”.
According to Watsell (2014) the information provided should be accurate to both the context and to the subject.Â In context of Holipets Pet Care service which is a small pet care service for cats and dogs, the information collected from the customers and also information provided to them should be accurate.Â It should not have any kind ofÂ errors regarding the pet details, customer details, pet medication details etcâ€¦The service firm also offers different kinds of services like boarding of pets, medication, home visits, collect pets from home and on time delivery requests. Information based on these services also should be accurate and clear (Blair, 2003).Â Let’s try to explain how accurate information would benefit the business in view of the different services Holipets pet care provides Accurate information about the medicines and care that need to be administered for a pet. It should be clear and free from bias. Clear information regarding the background checks for the staff would ensure that they could be trusted with the customers and their pets. Keeping accurate records regarding the availability of kennels and cattery would ensure that they should not take commitments that cannot be fulfilled. This also would help them in making sure that they are not under booked or over booked. When the information provided to the customers is not accurate, it would lose the confidence of customers about the organization and thus negatively affect the business.
According to Brooks (2008) complete and detailed information ensures that the customer queries are well explained. Information is considered to be complete if it is based on a complete data. The facts and figures of information should not be concealed.Â Detailed information about the pet feeding time, prescribed medicines etc would ensure that pets are taken care without any issues. A detailed log about the staff availability, booking details, cancellation etc would help us in providing better service to our customers. When providing information to the customers the service center employee should be able to explain in detail so that the customer understands and they process the data themselves which might end up in taking assumptions. This would adversely affect the business.
According to Checkland & Hotwell (2005) Information that is from a correct period is known as timely information.Â It is vital to effective decision making for customers. In context of Holipets pet care service, they record all the details manually in a diary.Â Daily or weekly status reports have to send to customers explaining feeding time, medication and other activities.Â If there is any delay occurred in any customized report requested by the customer, it will create a bad impression about the firm. The service also have to maintain all the activities like pet information, day to day activities, banking details, list of unpaid customers, booking details everything in a timely manner. Because there is a chance to occur the change in date of booking, cancellation of booking, customer needs more than one kennel or cattery, change in home visit etc.Â All the information should be recorded well and ready to produce data on time so that it is as up to date as required, provided when required and provided as often required.
According to Sanders (2010) Object Oriented Development Technology offers a better way for developing software systems.Â Compared to other non-OO programming languages analysis and design methods like Procedural Programming or functional programming, Object oriented development easily develop a software using self contained modules. According to Welie, (2009) in object oriented development we identify objects as ‘things’, properties of things and actions they perform. We build models based on this abstraction and these models are used to represent the real world objects. The ‘Real World’ aspect of OO is often over-stated and over-simplified. OO programmers build software using these abstract objects. It help them to design their software from more complete OO specifications and the object thinking enables these system specifications to be expressed in terms of objects. Traditional approaches for developing software are more difficult in many cases, so to support these needs we use object oriented (OO) approaches. The underlying concepts of object orientation give it a distinct advantage in managing complexity, promoting reuse, and reducing the effort required for maintenance. In the case of Holipet pet care service, object oriented approach make the system more reliable, relevant and accurate.Â Object oriented approach supports abstraction at the object level. Since objects encapsulate both data (attributes) & functions (methods), they work at a higher level of abstraction. This makes designing, coding, testing & maintaining the system much simpler.
According to Henninger (2000) Object oriented systems development is a way to develop software by building self contained modules or objects that can be easily replaced, modified and reused. In Holipets pet care service, the cat and dog are considered as objects. Their name, breed, height etcâ€¦ are the attributes and the actions like feeding, medication, activities are the functions. If we approach in this way, the designing of the software system will be simpler and more robust. In an object-oriented environment, software is a collection of discrete objects (dogs, cats, staff, and customer) that encapsulate their data as well as the functionality of model real world events. In object oriented development, a ‘class’ is collection of objects which has attributes and functions. It defines what a class can do and how it does. Here cat and dog object comes under the class pet which is having some common attributes like name, breed, height and weight which is common to both of the objects. The functions of class include feeding, medication, activities etc. Some of the advantages given for the use of object oriented development are:Â Re-use of existing designs and code, Faster development and More Robustness
Holipets pet care service currently doing all the works manually like booking, accounting, staff management etcâ€¦ As per object technology if we automate the firm, we consider everything as objects. So the development of the system software will be faster and easier. We can reuse the same code for future development. The system will be faster and robust. Chance of getting error is very less compared to manual system. Maintenance of the system also will be easy.
According to Veerman (2009) OO analysis must decide how the objects might relate to each other and what role each object play. The objects role defines it responsibilities what it must do and what it must know in order to achieve its responsibilities.Â In object-oriented analysis, we must decide: What each kind of object must do, What each kind of object must know and How each kind of object relates to other kinds of objects. Object-oriented design takes the analysis models and looks more closely at how the objects and their relationships might be re-shaped and extended to make them better suited to implementation. In Holipet pet care service, the designer will also try to make objects as reusable as possible on future developments. While designing the software maximum reusability of the modules also considered for example designing a common class ‘pet’ that we can use for both dog and cat. Same way the class ‘cage’ can use for both kennel and cattery.
According to Harrison et al., (2007) OO uses the models emerging from analysis as the basis for creating the detailed system design. Before designing a system, a detailed analysis of all the requirements can be done. The analysis models provide the ideal, logical view of the system, taking account of the constraints imposed by the technology. In Holipet pet care service, a detailed analysis is needed to identify the work flow of the current system. This close relationship between analysis and design brings several benefits, the maintenance will be easier and there will be a close relationship between design architecture and domain requirements. Objects and Classes are the basic building blocks of object oriented design. Objects are instance of a class. Objects can be any kind of things during system development. It may be physical or tangible thing found in real world domain. Objects share common features. In Holipets system object can be dog, cat, customer, staff etcâ€¦ Collection of objects is known as class with similar properties (attributes) and common behavior (function). Class ‘pet’ in Holipets pet care service contains dog and cat as objects. They share some common properties like name, breed, height, weight and common operations like feeding, activities, medications etc.
According to Wright (2001) Iterative development is a method of breaking down the software development of a large application into smaller parts. In iterative development feature code is designed, developed and tested in repeated cycles. As iterations are completed the team can review the product with different stakeholders like the customers and the management to get early feedbacks. This would help the team to test their product for customer acceptance very early in the development cycle. This will also ensure that the developed product is what the customer actually needs.
Figure Iterative Model
Source: (Granard, 2011)
According to Johnson (2016) Iterative development is best defined in terms of its processes that allows for dynamic development rather than any single defined method or approach. Some of the commonly used iterative methodologies are Agile, Dynamic system development method (DSDM), Extreme programming (eXtreme) and scrum. Common features of these iterative methods are: Development is done incrementally over multiple iterations, Iterations include some component of planning, requirement analysis, design, development, testing, documentation and implementation, Software that works is the primary measure of the progress and success and Iterations build upon lessons learned in prior iterations. Among the different iterative development approaches, the one that would be a best fit for Holipets Pet Care Service would be the SCRUM.
According to Shoan (2009)Â Scrum is a framework for iterative product development where the main focus is on teamwork and accountability. The scrum team would work together to achieve a well defined goal. As the scrum teams would be smaller in size and also would be cross functional and preferably in the same office location helps the team to perform better. The team takes wiser decisions on software features as it is a cross functional team. The duration of iterations in scrum is called as the sprint. The ideal sprint duration is of 2 weeks. The team can resolve impediments early on in the process with the help of daily scrum meetings and sprint retrospective meetings.
In the context of Holipets pet care service, SCRUM would be the ideal way to implement iterative development. In SCRUM a small set of requirements would be developed by the scrum team in each iteration. Towards the end of sprint, the shippable product is released and the product is also reviewed with different stakeholders which involve the actual end users of the software. The feedbacks obtained from such review meeting would be provide vital information about what the customers, end users feel about the product and also what extra features do they require. These feedbacks are then converted into tasks for the next iterations depending on their priorities. In addition to Scrum process the team would also implement continuous integration builds, unit tests and automated tests which would ensure that the current sprint output integrates well with the past releases thus reducing the time taken for releasing the product to the customer.
Source: (Robinson, 2015)
According to Robinson (2015) Agile development methodology is a conceptual framework for undertaking any software engineering projects. In general agile methods attempt to minimize risk and maximize productivity by developing software in short iterations and deemphasizing work on interim work artifacts and it is people oriented. There are a number of agile software development methods but the most popular agile methods are Extreme Programming (XP) and Scrum. Scrum process is distinguished from other agile process by specific concepts and practices, divided in to three categories of Roles, Artifacts and Time boxes. Scrum is most often used to manage complex software and product development. Scrum significantly increases productivity and reduces time to benefit relative to classic ‘waterfall’ models. Scrum prices enable organizations to adjust smoothly to rapid changing requirements and produce a product that meets evolving business goals. An agile scrum process benefits the organization by helping it to Increase the quality of the deliverables, Provide better estimate while spending less time creating them and Be more control of the project schedule and state (Sikander, 2013)
In the context of Holipets Pet Care System, SCRUM would be an effective methodology for developing the software. As per scrum only tasks of the highest priority is considered for development. These tasks should also qualify the INVEST criteria’s. i.e. they should be Independent, Negotiable, Valuable, Estimable , Small and Testable. The tasks are developed, tested and integrated in the sprint cycle itself. For the first sprint of Holipets Pet Care System, they should consider tasks which could be developed and tested with 2 weeks of time. These tasks should also be ready for implementation by the end of the 2 week sprint. The tasks should also provide value for their customers and for them. In my opinion such a initial task for Holipets would be to implement a SMS service for booking. Once this is implemented the scrum team can then take input from customers as well as in house staff to identify the next high priority item that would add value to them. The team should also take time to setup continuous integration builds, unit testing and automation testing and should not rely too much on traditional black box testing. This would ensure that the time taken to integrate in production would be less and thus getting early feedbacks from users.
The quality of software design might be improved by designers adopting and maintaining a professional attitude to their work. We will explore what characterizes a professional and a community of professionals and whether systems design can fit this model.
As per UMKC (2015) if we are to consider software designers as professionals we need to know what characterizes more commonly accepted professionals and their communities. Common characteristics of a professional community are: self-regulatory, shared goals, specific methods for achieving goals, and work to accepted standards. Systems development does not display the same characteristics as these long-established professionals like doctors, lawyers etcâ€¦ Although it has voluntary codes of conduct and practice managed by its various professional organizations (e.g. British Computing Society) the IT industry is not self regulatory, nor is it extensively regulated by government or statute. Designers face significant challenges in pursuit of professionalism (Greenwood, 2001). Their industry is constantly undergoing growth and change, which is not conducive to close reflection on the ways in which designers carry out their work and to the creation of common standards and a broadly accepted community of practice. For example in Holipets pet care service there are many security concerns in online payment or maintenance of the system as per customer request. However, although the IT industry may not resemble the better understood professions, it has, in its various disciplines and practice areas, begun to define and agree on common methods of working and appropriate standards to achieve and maintain. In this scenario we are using UML. UML is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. It is a pictorial language used to make software blue prints (UMK, 2015).
According to ESRD (2011) a good software design seeks to provide the ‘best fit’ of the domain model into client’s physical context.Â The ‘best fit’ requires finding a balance between the demands of the specified functional requirements of the software, the constraints imposed by the non functional requirements and the overall cost. The outcome from the process is a design specification which allows efficient and cost effective deployment of the software. The key responsibilities of a professional software designer are Produce a design model from the domain model, Consider non functional requirements, Consider physical aspects of the design and Provide design specification for the programmers.
In context of Holipets pet care service, the designer produces a specification model from the given requirements. A detailed requirement analysis is needed before making the design model like what services the customer wants from the firm. The firm also needs to consider the non functional requirements. Non functional requirements are comes under quality attributes like quality of service or quality constraints. The designer has to provide all the specification to programmers to develop the software in an effective manner. One of the most critical aspects of this role is working closely with the user community which directly and indirectly affected by the software under development to ensure the software will be usable in a safe, effective manner. The system has to be user-friendly and easy to operate because a surprising number of software applications are not, or only partially, used because users find them impossible or difficult to operate. If we applied the features and characteristics of widely understood professional communities to software development, we would expect the professional designer, in seeking to achieve a good design, to behave as follows: Take responsibility for the design process, Act with integrity with users and with colleagues in the development team, Be truthful and act with appropriate gratitude to others and Develop professional relationships and use professional codes. Established and emerging professions will have embedded these working standards in what are known as professional codes of practice or conduct. These codes will formally express the expectations and requirements professional organizations make of their members, including clear definitions of what is (and is not) acceptable professional behavior.
Anderson R (2014) Professional behavior accessed from https://www.uvic.ca/engineering/assets/docs/professional-behaviour.pdf accessed on 08th March, 2017
APhA-ASP/AACP-COD Task Force on Professionalism, “White paper on pharmacy student professionalism,” J. Am. Pharm. Assoc., 40, 96- 102(2000).
Blair, D. (2003). Information retrieval and the philosophy of language. Annual Review of Information Science and Technology, 37, 3-50
Brooks, B.C (2008). The foundation of information science. PartÂ I. philosophical aspects.Â Journal of Information Science, 2(3-4), 125-133.
Checkland, P. & Hotwell, S. (2005). Information, Systems and Information Systems, Chichester: Jhon Wiley.
ESRD (2011) Professionalism at networks accessed from www.esrdnetworks.org/networks/net5/Education/Staff/scmks/net5/Education/Staff/scm _pres/professionalism professionalism.pdf. accessed on 08th March, 2017
Granard B (2011) Iterative Model accessed from http://www.testingexcellence.com/iterative-model/ accessed on 08th March, 2017
Greenwood, E., (2001) “Attributes of a profession,” Soc. Work, 2(July), 44-55(1957)
Harrison, N., Avgeriou, P., Zdun, U. (2007) Architecture Patterns as Mechanisms for Capturing Architectural Decisions. IEEE Software ( September/October 2007).
Henninger, S., (2000) A Methodology and Tools for Applying Context-Specific Usability Guidelines to Interface Design. Interacting with Computers,. 12(3):p. 225-243.
Johnson B (2014) Characteristics of Good Information accessed from https://btec-itp-resources/view/Characteristics_of_Good_Information.pdf accessed on 08th March, 2017
Johnson R (2016) Iterative model accessed from https://www.tutorialspoint.com/sdlc/pdf/sdlc_iterative_model.pdf accessed on 08th March, 2017
Lindblom, C. E. (2009): The Science of “Muddling Through”. In A. Faludi (ed.) 1973: A reader in Planning Theory, Oxford
Robinson J (2015) Scrum accessed from http://scrumreferencecard.com/scrum-reference-card/ accessed on 08th March, 2017
Sanders R (2010) Usability accessed from http://is.ls.fi.upm.es/xavier/papers/usability_b.pdf accessed on 08th March, 2017
Shoan R (2009) Metafile accessed from http://www.metla.fi/eu/cost/e19/barstad.pdf accessed on 08th March, 2017
Sikander C (2013) accessed from http://www.cs.ccsu.edu/~stan/classes/cs530/slides/se-17.pdf accessed on 08th March, 2017
UMKC (2015) Workplace professional behavior accessed from http://www.umkc.edu/starr/Workplace_Professionalism.pdf accessed on 08th March, 2017
Veerman A (2009) Systems Development SRM University accessed from http://www.srmuniv.ac.in/sites/default/files/files/system_development.pdf accessed on 08th March, 2017
Watsell D. (2014) Managing by design Systems thinking, accessed from http://www.managingbydesign.net/my_library/systems_thinking.pdf accessed on 08th March, 2017
Welie, M.v. (2009) Breaking Down usability. In IFIP TC.13 International Conference on Human-Computer Interaction. Edinburgh, UK: IOS Press
Wright J (2001): How Iterative Planning Works: A Flowchart Example. Downloaded from the Internet;Â http://jwco.com/how_iterative_planning_works.htm