LD7092 Principles of Software Engineering Assignment
This assignment describes the pharmacy management systems implementation in the programming language JAVA. The programming language JAVA is established by backing a case study of the system of health pharmacy management In addition, the first system of health management set in the city of London. Its system follows the path which is traditional of the management system of pharmacy. As well, in advancement of JAVA programming in the software Netbeans is written.
The software supports the integrated evolution of the environment for the execution and development of the programs, as well the management system of database of the program SQL is applied, which is a consolidated feature supported by the software XAMPP.
Moreover, the main objective and reason behind the evolution of the software is to build a more effective system so the effective system does the functions of the management system which is traditionally performed in a potent way with the enhancement of reduction and efficiency of consumed time. Different features are incorporated in the system of the software which will definitely be helpful for the pharmacist to bring out all the work in an effective path as well in a short time period that will upgrade the total productivity.
This case study defines the pharmacy requirements based in London called as the first health pharmacy and describes the working principles and objectives. In addition, the pharmacy wishes to build a management system for their pharmacist where the pharmacy can control and do all the work and operations which are traditionally performed (Alamin et al. 2021).
As well, the pharmacy wants software to enhance the level of productivity of the working employee by exchanging the automated task from the manual task by using the system of management.
As well, where the employee will have authority over the patient’s prescription and deliver the medicine depends on it, as well as controlling all the available drugs in the pharmacy and additionally updating, deleting the information of the medicine, selling and buying various products with upgraded bills which are auto generated or statement and much more.
The functionalities requirements are as follow:
- A page for login or system accessing.
- The user interface which is intuitive to manage and control the pharmacy’s product.
- As well, the system also updates the customer’s details.
- After login or access the user’s details in the system’s dashboard.
- Functionality of association’s buying and selling track records.
- After the purchase and sales automated invoice creation which will have split records for the employee shift wise purchase and sales.
- Automated purchasing order after an individual product when the product is not in the stock of the companies list that pharmacy does business.
- List of the products which are available, total amounts of products, and capability of modernizing the drug details regularly with deleting and adding any individual drugs. As well, having a total system which can control the pharmacy’s inventory.
- Automated processing and raising of the insurance.
- All prescription’s data information of the patient and clarifying it by producing bills.
- A frequent system of reminders for reminding about gathering the patient’s medicine by sending emails or messages to the registered number of the patient.
In the management system of pharmacy the evolution process needs software and hardware tools. The tools will support in constructing successful software (Chanpuypetch et al. 2020). In addition, for code writing there is required an IDE and for data storing updated or generated in the total system will be captured in the database. As well, for the database an appropriate server is also needed.
The required tools are
Hardware tools required includes
- Personal laptop or computer which has a qualitative processor that can be either AMD or Intel.
- Minimum of two gigabytes of random access memory.
- At Least fifteen to thirty gb hdd for developing projects and installing software.
Software tools includes
- System operating on laptop and computer.
- JDK and JRE for providing the Netbeans IDE.
- Xampp, and wamp server at mySQL both will work.
- Netbeans IDE.
Figure 1: Use Case
(Source: Self created from draw.io)
This diagram defines the application of the system of management in which the behavioral illustration of the total system is defined which describes the functions objectives and evaluates and defines the interaction between various system parts (Dennerlein et al. 2020). In addition, in the picture it can be shown four particulars in which the first is the admin. The admin has the power of managing the total system’s functions and the easy access of total functions if the function access is given to it.
Additionally, the role of the system user is controlled by the admin itself backing the user and pharmacist, as well the last user basically the consumers that have sufficient amounts of access e.g. a user of a system can control the details of the company, the stock of the company and governance the total inventory of the company.
As well, the pharmacist can access all of the drugs and medicine by updating, deleting and adding the details, formation of the statement comprising the positions of the pharmacist.
In this part of the assignment I will explain and briefly describe the implementation code of the software which is related to the management system. It has been briefly described different functionality which has been accomplished in this java program (Untari, et al 2020). I will use various images of the code and output of that code and explain each feature and actions of a particular section of the code block. Initial page that we get after running the program is the login form; let’s just see what its code looks like.
The main objective of the “Pharmacy management system” is to simplify and make the process of traditional pharmacy management more efficient by integrating the different automated processes to make the process much faster than it was used to. For reducing the human effort in the pharmacy development of this system is done, this not only decreases the human effort but also reduces any chance of human error by automating different tasks (SUKOR, et al 2019).
For planning and development process I need to select a development method of software development and its very important to follow a development cycle method for successful development of the program or software. There are various models available for the development of the software and each have different benefits and drawbacks and finding a suitable development method was not an easy task.
After restless research and analyzing the different aspects of the “software development life cycle” comparing each one of functionality and finding strength and weakness I decided to go with the Agile development method.
The reason behind choosing the “Agile Development Model” is that our requirements are fulfilled in this methodology only and agile is also preferred by the developers and termed as the most efficient method in all development methods. The method of agile incorporates the advantages of the different methods available in which it has benefits of iterative and incremental life cycle (Shreelekhya et al. 2017).
In this method the complex problems are divided into the various small parts and each one is processed as a stage when one part is processed and developed itr moves to the another part by incrementing and finishes the next task and this process continues until the full development of the software.
The method is so flexible and adaptive that it lets developers change any components at any phase of the development cycle. Customer engagement is mainly focused in this method and any required changes from the client can be applied to the development process. Following are the “advantages and disadvantages” of this model and the reason behind not using the other methods of the development cycle.
- As the programs are splitted into small parts the process and task can be developed much faster and time consumption is reduced.
- Flexibility to adapt the change in any development stages.
- Transparency between the client and developer is maintained, as a requirement is fully understood by the developer and the final product is satisfactory. Transparency also creates a strong trust between both.
- The end result of the development is brought as a high quality product.
- Resources of the development are reduced as the developer has a clear idea about the requirements of the clients and resources are not wasted and can save a lot of money.
- When it comes to building large projects it is not considered efficient and flexible.
- The increase in the iteration can take a lot of time and it will also increase the time consumption in implementing the functionalities.
- To achieve a stable environment for building a project incurred too many expenses.
- Frequent changes and multiple requirements of the client makes the whole process slow and also make it difficult for the developers in handling the performance of the software.
The “waterfall method”
The method follows the sequence and process only after the completion of a single phase and if any change needed in the previous stage is not possible. The possibility of the frozen system is there and the whole process of this model is too costly as compared to the agile method.
The reason for not using this method is obvious as it is also not flexible like the waterfall method and the scope of adapting the changes are very rare (Syachroni et al. 2021). The model also does not specify the open path for fixing any issue in the phases of testing. The model is as costly as the waterfall method.
In this portion I will discuss briefly about the factors which are the main reason for creating problems while working on software and it will contain the project accomplishment time. In addition, all of the industries which are related to information technology are multifarious and the evolution of software is the major component of it. Additionally, just because of the quick evolution in technologies it is a huge provocation to be side by side with it (Campean et al. 2017). As well, the changeable situations of the market, the constant ramification enhance the provocations in the evolution of the software.
In general most known problem while a developer working on the software is construct an application of multi OS cause the purchaser wants to create a particular application and the purchaser want the software deployment in the various kinds of platforms, so these things enhances the provocations of the software developers and this outputs in insufficiency of the assets and the period of time get extended and the software or application is not yet finished on the given deadline by the purchaser.
Boosted the advancement in technologies
Evolution in technology is the most important thing as it enhances and boosts the level of productivity and the level of efficiency (Al-Qhtani et al. 2020). As well, the advancement also diminishes the price of the resources but is it actually a very challenging moment for a developer to accept these advanced technologies with the time period.
Moreover, these things also adversely impact that person who is working on a software building a pressure to produce high quality software and that software can compete with other participants in the market for the top position.
This is also a general problem faced by a developer during the evolution process of the making software or application. The finite resources and deficiency of the infrastructure impacts the projects to successfully execute (Rahanu et al. 2021). Additionally, this thing will result in poor performance of the application or the software just because of the deficiency of the evolution tools, limited computing platforms and all of these problems collectively carry out the level of efficiency and level of productivity of the developers who develop software.
The demands of the purchaser increase day by day. As in my project I apply the development cycle of Agile method which is accepting to the substituting needs and demands of the purchaser, but just because of the continual demands actually impact the initial product efficiency and generate pressure on the person who working on a software to stand the project fulfilling the purchaser’s demands of sufficient resources. This problem highly impacts the software quality.
While working on software related project requires a group and collaborating with other groups is actually a hard task to do just because every member of the group has various types of thinking capacity so often quarrels happen in the development group. In addition, the main reason for quarrels can make an appearance due to the pressure on work for generating a qualitative project. Thus, managing and controlling these kinds of problems is significant because if these problems are not controlled it will definitely diminish the project quality.
The work of the developers is not only working on the software but also building an appropriate system of security. Some of the important ethical problems are as followed:
As our system of pharmacy will be associated with the servers thus each user can utilize the system, a huge amount of data is given throughout these methods that can assist with the chance which are unexpected of disclosing the particular data.
These problems are directly associated with the problem of confidentiality. As our management system of pharmacy also features input from the barcode, this thing can simply be misused by the various users who are connected with the servers by adding wrong data in the system to get financial advantages (Akhtar et al. 2021). Additionally, if the server user customize the information details of medicines which are expired and the medicine will be sold to the purchaser.
Patents and copyright
This is one of the ethical issue and big challenges which arrives when preserving the unique idea and for getting the patents rights the developer need to disclose the every important information of the software which are meant to be kept secret and it consist of risk of theft of the idea and ultimately cause huge loss to the individual who have designed and developed the program and that too much effort (Johnson et al. 2021). Getting the copyright for the software is much easier than taking the patent and the copyright laws protect your software from getting copied by others.
It’s an ethical duty of the developer to protect the vital information of the clients and assure the client that he will never disclose any information to anyone or use the components of its software in any personal project that will be developed in the future and these thing should be stated by creating an legal agreement for non-disclosure and this also win the trust of customers.
This is a major problem that every industry is facing right now, in this the copy of the software is illegally distributed for the use and it’s often sold at a very low price. Piracy hits the developer and the company with huge loss of monetary and to its branding.
In this assignment I have developed a “pharmacy management system” following the agile development method. All the basic functionality and task of the traditional management system is implemented in the software with additional automated process of purchasing the drugs after the drugs before the stocks ends, a warning system for the reminding the out of stock, sending message to the patient’s to collect the medicines that they have ordered, making the process comparatively very faster than the traditional method, inclusion of the messaging system was also the vital step that help in communicating customers and drug vendors.
The inventory system makes it very easy to handle the drugs by adding, deleting, updating the details, searching any drug by typing the drug name or using barcode to find it. I also discussed how the development method helped in building this software and gave reasons for selecting a specific model for the development.
I also discussed the various problems and challenges encountered during the development phase of this program and explained the security and ethics issues related to the program, by which I was able to add and apply different security measures to resolve these issues.
Alamin, M.A.A. and Uddin, G., 2021. Quality Assurance Challenges for Machine Learning Software Applications During Software Development Life Cycle Phases. arXiv preprint arXiv:2105.01195.
Chanpuypetch, W. and Kritchanchai, D., 2020. A design thinking framework and design patterns for hospital pharmacy management. International Journal of Healthcare Management, 13(3), pp.177-185.
Dennerlein, S., Wolf-Brenner, C., Gutounig, R., Schweiger, S. and Pammer-Schindler, V., 2020, September. Guiding Socio-Technical Reflection of Ethical Principles in TEL Software Development: The SREP Framework. In European Conference on Technology Enhanced Learning (pp. 386-391). Springer, Cham.
Ekasari, K., Mustofa, A. and Kusmintarti, A., 2021. Evaluation of Accounting Information Systems Based on Open-ERP At Pharmacy: A Case Study. INTERNATIONAL JOURNAL OF ECONOMICS, MANAGEMENT, BUSINESS, AND SOCIAL SCIENCE (IJEMBIS), 1(3), pp.288-294.
Gondokesumo, M.E., Antonius, Y. and Yunita, O., 2019. Improvement of Herbal Research with Bioinformatics in Pharmacy Student Faculty of Pharmacy University of Surabaya.
Pereira, J.C. and de FSM Russo, R., 2018. Design thinking integrated in agile software development: A systematic literature review. Procedia computer science, 138, pp.775-782.
PRASANTHI, R., SCHOLAR, P. and LAKSHMI, M., 2020. PHARMACY MANAGEMENT SYSTEM USING INDEX MAPPING TECHNIQUE. PHARMACY MANAGEMENT, 19(01).
Rathnayake, W.D.W.T., 2021. Pharmacy Management System for The Central Pharmacy-Pokunuwita (Doctoral dissertation).
Saleh, M.H. and Bello, M., 2020. ONLINE HOSPITAL MANAGEMENT SYSTEM. Annals. Computer Science Series, 18(1).
Untari, D.T., 2020. Implementation Of Hierarchy Analytical Process (Ahp) Method For Determine The Preferences Of Choosing Online Pharmacy In Bekasi, West Java. European Journal of Molecular & Clinical Medicine, 7(2), pp.4858-4862.
Tam, C., da Costa Moura, E.J., Oliveira, T. and Varajão, J., 2020. The factors influencing the success of on-going agile software development projects. International Journal of Project Management, 38(3), pp.165-176.
Kurniasih, N., Indriastuti, M., Rahmah, S., Wahlanto, P. and Lili, D., 2019, July. Effect of Leaflet Administration on the Level Knowledge and Rationality of Dexamethasone use in “Sumber Sehat” Pharmacy, Banjar, West Java, Indonesia. In Journal of Physics: Conference Series (Vol. 1179, No. 1, p. 012145). IOP Publishing.
SUKOR, N.N.B., 2019. A SYSTEM TO PREDICT PHARMACEUTICAL STUDENT PERFORMANCE USING MACHINE LEARNING.
Shreelekhya, G. and Priyanka, G., 2017, April. A note on the evaluation of health care management metrics using source monitor tool. In 2017 Innovations in Power and Advanced Computing Technologies (i-PACT) (pp. 1-5). IEEE.
Syachroni, A.B.A., Handayani, R.S., Yuniar, Y. and Sari, I.D., 2021. Evaluation of Physician and Pharmacy Services Quality in Out-Patient Unit at Private Hospitals Providing the National Health Insurance (NHI) Program in Indonesia.
Al-Qhtani, M., Sara, A.G., Al-khathami, A. and Alnfiai, M., 2020. NFC-MEDMANAGE: PHARMACY AND MEDICATION MANAGEMENT USING NFC TECHNOLOGY. PalArch’s Journal of Archaeology of Egypt/Egyptology, 17(10), pp.993-1012.
Rahanu, H., Georgiadou, E., Siakas, K., Ross, M. and Berki, E., 2021, September. Ethical issues invoked by Industry 4.0. In European Conference on Software Process Improvement (pp. 589-606). Springer, Cham.
Akhtar, N. and Ghafoor, S., Overview of Ethical Issues such as security, confidentiality and Hacking in software engineering.
Johnson, B. and Smith, J., 2021, June. Towards ethical data-driven software: filling the gaps in ethics research & practice. In 2021 IEEE/ACM 2nd International Workshop on Ethics in Software Engineering Research and Practice (SEthics) (pp. 18-25). IEEE.
Boiral, O., Heras-Saizarbitoria, I., Brotherton, M.C. and Bernard, J., 2019. Ethical issues in the assurance of sustainability reports: Perspectives from assurance providers. Journal of Business Ethics, 159(4), pp.1111-1125.
Siegel, N.G. and Suchenek, M.A., 2018. On the Software Patenting Controversy. Technology and Innovation, 19(4), pp.787-798.
Onishi, K. and Yamauchi, I., 2018. Intellectual Property Rights for Software and Accessibility to Venture Capitalists. RIETI.
Campean, F. and Yildirim, U., 2017. Enhanced sequence diagram for function modelling of complex systems. Procedia Cirp, 60, pp.273-278.