This assignment focuses on the principles of software engineering and their application in developing a new digital information management system for Hastings Dental Care House. It covers topics such as use case diagram, class diagram, sequence diagram, and reflection on professional, legal, social, security, and ethical issues.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
PRINCIPLES OF SOFTWARE ENGINEERING
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
TABLE OF CONTENTS INTRODUCTION...........................................................................................................................1 PART A: COMPONENT 1: Software design.................................................................................1 Use case diagram.........................................................................................................................2 Class Diagram..............................................................................................................................5 Sequence diagram to model functional requirements..................................................................8 Task Reflection and Critical Evaluation..........................................................................................9 Discuss about the Software development life cycle methodology that have chosen for solution in development with example......................................................................................................9 Critically Reflect the security and ethical issues, professional, legal and social related to the design and development............................................................................................................12 CONCLUSION..............................................................................................................................14 REFERENCES..............................................................................................................................15
INTRODUCTION Softwareengineeringisoneofthemaincoresub-branchofcomputerscience engineering. It is a kind of systematic application of different approaches of engineering that are basically used in development of a software. In order to develop a good quality software without any issues there are various principles of software engineering that are required to be adhered by the software engineers (Tsui, Karam and Bernal, 2016). These principles help in developing an effective system and remove any kind of issue, error or repetitive data or functionality. This assignment will lay emphasis on various software engineering theories, demonstrate ability to apply software engineering knowledge to complex projects such as use case diagram, use case description, class diagram, sequence diagram. Other than this, in this assignment reflection on professional, legal, social, security and ethical issues related to the design and development of the software, critical discussion on Software Development Life Cycle (SDLC) methodology that has been chosen for the developed solution. All the diagrams (use case diagram, sequence diagram and class diagram) are made on the basis of the provided case study in such a manner that all the functional and non-functional requirements of the system are demonstrated within the diagram in an accurate and appropriate manner. This assignment will also lay emphasis on a Hastings Dental Care House who has recently built a new Central Dental Care House but now are focusing on building a New digital information management system that would be replacing the old system in which all the data recording, searching and updating are done mostly manually using Microsoft Word processing package. The new system will be effective enough to record and support booking, deleting, updating appointments, managing, and organising the use of business resources, logistics and facilities automatically. The new system that would be build will be easy and effective enough such that all the patients can book appointments for themselves or their family members using new system online and the staff members will be able to update details easily. All the three diagrams will help in explaining the main requirements and functionalities of the new system. PART A: COMPONENT 1: Software design Software solution development New digital information management systemfor Hastings dental care house. 1
Use case diagram Use case diagram can be defined as a simplest form of diagram that helps in representing All the users of the system and their interaction with the system and in order to show this relationship all the users of the system are shown in the form of an actor and functionalities are shown in the form ofuse cases(Khurana, Chhillar and Chhillar, 2016). It is one of the most important aspect or required diagram of the system which helps in capturing dynamic behaviour of the system i.e. behaviour of the system when it is being operated or is running. Other than this it also helps in dividing all functionalities according to the users of those functionalities. It is important for development of the system because only static view of the diagram is not sufficient for development of a system. So, it can be said that it is used to model the entire system and its functionalities. Use case diagram is used for various purposes such as: ï‚·Use to gather main requirements of the system that will be used by different users of the system. ï‚·Used to gather an outer view of the main system or it can also be said as dynamic view (Sabharwal, Kaur and Sibal, 2017). ï‚·Also helps in identification of all kinds of external and internal factors that can influence a system. ï‚·Lastly,ithelpsinshowinginteractionsamongalltheuseractorsandthesystem requirements. Here, Use Case diagram of Hastings dental care house has been developed who are planning to develop a new digital information management system that will be used by administrator, staff members, patients and managers. Each of them has their own requirements. Like, Patients of the dental care house will be using the system to book appointments, make enquiries, request changes, request for special facilities, make payments or cancel appointments. Managers of the system will be using it for organizing and updating logistics. Doctors will be using the system to view patient details or history and cancel appointments. Whereas the main use of the system will be done by the administrator staff. They will be the one who will register new patients and update their information, Update staff members details, check slot availability, book or cancel appointments, manage or track booking, check for special arrangements, deposit fees for appointments etc. The main use case of this scenario is provided below: 2
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Figure1Use case diagram of Hastings dental care house new digital information system Use case description Use Case name: This use case decryption is of Book Appointment as it is a primary use case. Actors: Main actors of this use case are ï‚·Admin staff ï‚·Patient Pre-Conditions: Conditions that are required to be true before starting the use case are: ï‚·Both the users of the system must be signed in. 3
Patient should be registered to the system Slots should be available Patient should provide details for booking an appointment Post Conditions: Conditions that are required to be true when the use case ends, no matter in which Scenario it is executed are: Booking conformation message should be send to the patient Deposit fees should be informed and deducted from patient’s balance If low in balance then patient should be informed about low balance Event path: Basic path: Admin will log in to the system. Register details of all the new patients. Receive appointment bookings made on phone Check slot availability and then confirm booking Deduct appointment fees from patient’s balance Refund deposit if appointment is cancelled. Update booking Log out from the system. Alternative path: Patient log in to the system. Make booking online as per availability of the slot. Make payment. If balance is running low then update balance. Cancel appointment if want to. Log out from the system. Interface: digital information management system Class Diagram Class diagram is a based on the building block that useful in object oriented method for new software development. It is mainly used the classes, interface, association, collaboration and 4
relationships (Agrawal, 2019). This type of method is considered as a standardized in class diagram where each class represents building block of application. It is based on object oriented that must design an appropriate structure in terms of relationships, inheritances and classes. A class is mainly describe the group of objects with similar role in system of Hastings Dental care house which consists of structural features, behavioural features, notation, class operation, attributes etc. Each and every class are established relationship between one and more. The primary purpose of class diagram is proposed new solution in terms of software archicture that will show static structure through different classifiers (Arzumanov and Orlova, 2019). Class diagram is representing the basic notation for entire structure diagram by using UML.It is useful for developer and other members to understand overall functionality of new system and also identifies attributes of each classes. 3cU2Fsd6GVkX1F%2FBgpNDgA94wO8NNe3EvNz9Nu%2FFietxc0TXJtQJ4%3DR8QXOKs5U2FsdGVkX1%2B4bCoBhhOkwcK%2Bml43JJHqsmDT%2B%2F6blmo3FxAZfZu0CUIeyT3kkBaLtK%2FRYbXOFtzvfLGUD5SQg6d8gavozHux5VLTMNGVRAGzDxLaTPwiAk3x9Z0UZQIVuvHlgniMYhUmsxhE7i4ut3vmoX4xBaBaE%2FMkloN5ZSzHANtA49w66vKNv4atl%2FBF9LKoNq6DrgOvDrzipjYE64oWH869KknaKPemSwlq%2Fa%2BDtYd2TgLCImph%2FLc2iFcvTo%2FzjTJyoKkUc1hsiQsGGZARiOX62a39bECAK3n7SzbcABcyudUcqjIIu%2FzeQx0W%2B%2FOk8kKj8zAQ3rYBBOeNCe%2FXZr1pYFQqiX2vloHRTjPe4Dzp3L7sgLXe8Zjvf1ZgiwyOmySiaDOaV5z6FU99jJdmIIFXX%2BExoS6o03UITPjy%2BdX3HE99jIwBhVVaA3DAQPLy16aVD5LPQvgmkmxxZ9JTJu7ea3r7f64%2Bi%2BFcuYmEanGVLmg993bH3R2cszuNwQ82qS9uwye9nHA9zZsdISBO5z6Ojprsh1%2BsSfzXjczHzhpy91ZRQBV%2FA2S71KhsucnaY3Ymsz8FnzRYs2UzW %2B4qvIyAhGFRJSGzCfU04p6zgPIHOUrCOz2fodqQibXKPVNSp5KcMKOhlVUyeopBE1op3%2BYzq2ahY0fXEzofVOC36x8gLWEBvPhXlhTVbYsXOmxrmpQQKeWLpzWgRwZlCsPVrLJzVqRC1BI1eMA42lOp0nS44At5xP51b84sJQbhWwwsZhXxobwk5D1Z7TTUYZwAVWorNWFBx0pbeGeVrEXrqeLRXVx4eHYVIkcQkyIlyoH%2BrLCcw1KMTSi0Ni775C5ldsbXWMS%2FCWkOtwWO7pqiD3P760Q8BUZ9fqMQS7PiYCNhENFUS%2Bxki7Zz2Q%2BvK7dydD7lEux3fHHQPMEcy6uWHS91XGQTGzzB%2BFUXHQL7HBh8X%2FHJBGnleTYPgyZK8bQmWDXnjvqt3vmMwxT%2BmgophtJO9jp5P%2FrNNOuuZ7QA5j5udbdqKmyso0WcMnwXLBfY0XFeCotwlXsuJlCrn3sEQionEDHCb%2FdKdiFKtbXh8qEoki%2Fytz0tqSPn0%2BzeN6ijY9Nni8N%2Fr%2FswTsjfC3Gf1uZhZLGynbQpGsjYG8tcz4OK7isM5CR6tQ2w7ZxYMI3%2Fm9Arwv%2BJjwDezmAfpiybWHBTP3mkHwv6MbnwaHkmBJfnGvLMJ0uKORl8A2daFiUzVdPhgZe %2BIH5aXkwcfdZcT6EoeDxc3Wles1cyt0BcjU9UQc4vFyPqafKnprUxWDsxqW4BsFgxBgWj7AOYlCZhqEV3%2Fg22EkxbUOuPCL1nDuzTB5gMQcC%2FP3pM5FwhLtrklCiv55jasKmrtCrLiqg%2FhzlM2%2BmRvqasvT7DZp%2F2%2FLIxlgy20JL6TVyFF4Z5bMaLaHm%2BeNwZd7uWDY62M9IYcvF7BuJuc3Rr3ptHfBG1Rj7ymyC6b6Q4cK8z4Dp46TTAdo0p6kOpnpZSDyyCE2JstGOkEhvwTxfY8ehwNV1bFtpef%2BdtnUaEcf75Cm6hJBWVbINWR3q0cKjLZ2aLxCORJZnBdkJWzDoe9IQYI%2F1XHYZp1rfv%2F8vC2nmV93V8jrIXqGSB5yZUsJm2ylg%3D1cvohi39 Figure2Class Diagram The class diagram is mainly representing the attributes of each classes and also consists of relationship between them. In above diagram, it mainly consisting of different classes and their specific attributes. ClassesAttributes 5
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
PaymentDate: date Time: time CustomerName: Character Address: varchar PhoneNo: integer StaffId : integer Name: char PhoneNo: integer Address: Varchar Email: Varchar PatientName: Char Gender: text Age: integer Email: Varchar DoctorName : char Address: Varchar Specialist: char PhoneNo: integer AppointmentDate :date Time: time Status: text Table: 1 6
In this table, it contains different classes which has specified attribute that shows different role and responsibilities for maintaining communication between one and two classes. For Example- In customer class, it contain mainly three attributes such as name, address and phoneNo, 2 operations such as login (), access (). These are different action performed in the new system where customer easily search information about dental care services. New system will provide facilities for giving proper details. In customer class, it also used the different parameters like char, integer. In staff class, it can be used four different attributes in staff such as id, name, email and address while it also used two different operations: Record(), calculateTotal().These are different action performed in the new system where customer easily search information about dental care services. New system will provide facilities for giving proper details. In staff class, it also used the different parameters like char, integer, Varchar and so on. In booking class, it is mainly consists of three attributes such as id, date and time, 2 operations such as update (), record (). These are different action performed in the new system where customer easily search information about dental care services. New system will provide facilities for giving proper details. In booking class, it also used the different parameters such as integer, date and time. In Payment class, it is mainly consists of three attributes such as id, date and time, 1 operations such as update status (). These are different action performed in the new system where customer easily search information about dental care services. New system will provide facilities for giving proper details. In payment class, it also used the different parameters such as integer, date and time. Class diagram processes:while dealing with the complex system which may include single as well as multiple attributes included. It always supports for handle entire process and modelling system for business purpose. A dental care house mainly used new system to remove all type of threats and limitation that generated during processing. It directly affects on the customer experience during booking appointment and also increases chances of data loss. That’s why, it has designed the unique structure for representing whole procedure functionality effectively and efficiently. 7
Thus, when we are using class diagram in different phase of software development life cycle that typically modelled classes in structure format and also considered three perspectives. ï‚·Conceptual Perspectives: The class diagram is interpreted for describing whole things as per real world but it should take conceptual perspectives for drawing diagram that represents concept in new system design (Kobashi, Washizaki and Fukazawa, 2019). ï‚·Specification perspective: this type of perspective is describing the software abstraction and different components with proper specifications as well as interface. In this way, there is no such commitment to the process of implementation. ï‚·Implementation Perspective: It can be interpreted as describe overall implementation process of software as per used modern technology and other suitable programming language. These are most common perspectives that useful in new system software design and development because. It help for understanding overall functionality and according to them by implementing task in proper manner. In most of cases, It should be increased the level of threats which directly affecting on the entire process of designing so as needed to handle the process through design approach. Sequence diagram to model functional requirements Sequence diagram is a kind of interaction diagram which is required to show all kinds of interaction between objects in time sequence (Zhou, Reniers and Khakzad, 2016). This diagram helps in explaining the sequence of messages that are exchanged between all the objects that are required by the system to carry out all of its functionalities in a proper sequential manner. It can also be said that this diagram helps in explaining the order in which objects of the system are present and messages that are exchanged between them that too in a sequential manner. Sequential diagram also consists of an actor who interacts with the system directly and the order in which they interact with the system. it also consists of a lifeline that helps in depicting all individual participants present in the diagram. Other than this all kinds of messages that are exchanged with the actors or objects are explained in a better manner. This sequence diagram has helped in explaining messages that are exchanged between all the system actors and the system. It also helps in explaining the sequence in which messages are exchanged between objects or are exchanged between objects in a sequential and timely manner. The main actors of this sequence diagram are patient and staff members of the dental care home. 8
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Figure3Sequence diagram of Hastings dental care house new digital information system Task Reflection and Critical Evaluation Discuss about the Software development life cycle methodology that have chosen for solution in development with example. Software development life cycle is a type of process that must ensure the correctness and quality of software built. The primary aim is to produce the best quality of software which meet customer expectations. For design new dental care system that should records all information 9
about customer, patient, staff, booking and appointment (Kumar and Emfinger, 2019). In this way, Software development life cycle play important role for providing the pre-defined time frame and cost. It would be completing the task in proper manner. SDLC mainly consists of detailed plan which easily describe the procedures for building, maintaining software through different phases. Every stage of software development has performed significant task which delivered that feed into another one. There are common stages of software development life cycle. Planning and requirement analysis: It is initial step for planning the need and requirement for software development. In this process. Stakeholders are discussed about the needs of final products and primary goal is to define detail working process of entire software system. Besides, it needed to make sure that all participants may have clearly understand about each task according to requirement and implemented. Designing project: it is second phase of software development life cycle where developer play important role for designing the overall architecture of new Hashing dental care system. It may use the modern technologies that applicable in project where team members understand entire loads, budgets, time frames and limitations. This will help for making decision to fulfil all type of requirements (Machiraju and Gaurav, 2019). Programming and development:After approved the needs and requirement, it goes further to develop the software by using programming language. Developer may use source code for writingwhilekeepingtodefinepreviousrequirements.Italsoaddedmorefeaturesand functionality in new system for easily recording, updating and maintaining information in proper manner. The system admin will adjust the software environment and programmer may interface of programs while perform different logics for purpose of interaction with different server. Testing: It is very important phase for software development because after successfully design new system that needed to perform testing phase (Oshana and Kraeling, 2019). It will help for debugging any threats and defects. Sometimes, it happens that code flaws missed at the time of development. In this way, testing phase will easily identify issues and problem, removed and maintain software workflow. Deployment:when the program has to be finalized that has no critical issues. It may launch in market for end users. It is the best way to release new version where every team join and supports for software. It also taking feedback from users and consult at the time of exploitation. 10
Furthermore, it also select for update new components and make sure that software become up to date. Software Development life cycle Methodology: For design a new Dental care system that record and manage all type of information in it. In this project, it has chosen Prototyping SDLC methodology for software development because this type of methodology is used when fixed requirement are not available. It help for building the final product and test from users, who are taken services of dental care so as needed to identify their experience. Prototyping Methodology It is a type of process or method that help for developing a working replication of item or system. This type of method will help for providing the facilities of new system and also obtaining user feedback (Ozkaya, 2019). The prototyping model is considered the most popular in terms of software development life cycle that can be used when users do not know about exact requirement. Where developer will develop the end item, tested and refined as per requirement of people. Afterwards, it can acceptable prototype that achieve which form of basis of development. Through process, it is partially implemented before analyzing overall functionality thereby giving the opportunities for customer to see services in life cycle. Figure4Prototyping Methodology Prototypes make it easy for customer to give proper feedback as they are freely feel when how to do work in properly. This type of process will provide developing team as experience of final software development thus, it also improving the chances of successful implementation and development.Iteasilyclarifytheusersrequirementsthatcouldhaveremainedmaintain ambiguous. The Prototyping model is mainly used two different approaches: 11
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Evolutionary Prototyping: This method is useful initially developed the incrementally refined on basis of user feedback till if software get accepted. It offering better services to save both efforts as well as time. Rapid Throwaway Prototyping: this type of technique is mainly offering new idea and getting user feedback for new system. It can be developed prototype need which are not necessary as part of ultimate accepted prototype. This approach will help for preventing unnecessary design and provide final prototype with better quality (Sievi-Korte, Richardson and Beecham, 2019). In this way, it concluded that Prototyping is the best option for software development because it consider the requirement of user that might be fulfil all demand. It help for maintaining large amount of details such as customer, staff, patient, booking details, appointment schedule. Critically Reflect the security and ethical issues, professional, legal and social related to the design and development. When developing any new system that mainly involves use of human interaction. In this way, there are lot of several issues generated in regards of ethics, professionalism, legal and social during software design or development. In terms of legal, I have understood about the copy right law which are already introduced in the market. It provides the better facilities for securing information about company that shows in website. I have found that internet may allow for users to copy and view large amount of information from all around us. But I have added features that allow for securing information and any other people do not copied the details (Sievi-Korte, Richardson and Beecham, 2019). As per my opinion, it is very important for securing information for new system by using legal laws and regulations. I have applied on the copy right rule within new system design and development for maintaining full of privacy as well as security. On the other hand, I have considered the web pages that predominantly designed for able and provide facilities but I have found that failure of data management due to loss. In this way, I have applied data protection act 1998 for protecting sensitive information in proper manner. Trademark regulation have been incorporated in the business for maintaining reputation in global marketplace. I have used the own trademark in new software system that represents as unique identity of dental care services. I have determined about the professional and social issues that combined with address of constraints in terms of technology which are becoming social occupation in current area. I could claim from professional points that become good practices for 12
considering an appropriate service. As per my opinion, I has needed to maintain the coordination between each team because in software development different development team members collaborated with each other. I realized that they have communicated for providing architecture solutionofdesignanddevelopment.Atthattime,professionalismwillberequiredfor maintaining a proper decorum for exchanging information related software and hardware resources. I am looking at aspects of dental care service that must needed to maintain proper ethics and moral standards while taking into consideration diversity. Each software team will have considered ethics for completing the software within specific deadline. At that time, I have established the compatibility that must ensure interaction between new systems where many users uses. As technology progresses within global market as per proper rules and regulations. I realized that many peoples are not updating their own means in modern technology so as require to improve technology for building an effective software which are compatible across different versions. I mainly understandsduring new system design where professionalismthrough adherence to code of ethics and other type of standards (Sievi-Korte, Richardson and Beecham, 2019). They were established by professional community. I examine that design a new system which is an essential for certification or licensing confirmation through community for further expansion. I have been taken the proper professional certification that valuable for customer and then develop a new system. In this way, it will have limited chances of problem and issues. In this way, I always focused on the professional ethics and maintain the regulation which supports in further usage of new system in marketplace. On the other hand, I always maintained the ethical and security issues in the software development because there are lot of misuse of new system occurs which directly affect on the business reputation and values. I could analyze software practicing that has a great potential affect on other people and it has been made for improve awareness among people. In this way, I have maintained the ethical aspects for eliminating issues in software design and development process. In above discussion, Software engineering is a type of systematic process which help for designing suitable system that easily handle and manage overall work flow in proper manner. In this report, it has summarized about the principle of software engineering that mainly used different techniques for development. It can be identified that report based on the Hastings Dental care house that has designed new system for tracking number of booking and have been madeoneachday.Ithasdevelopedanappropriatesolutionfromsoftwarearchitecture 13
perspective that may include use case diagram to model for determine functional requirement as per scenario. Furthermore, it has produced the sequence diagram that shows actors, interacting object for sending messages between different object by using specific parameters. However, it also understands the concept of software development life cycle methodology which provide solution for development. It also critically identify the professional, security and ethical issues, social, legal related the design pattern of new system. CONCLUSION From the above assignment it has been summarized that there are various kinds of diagrams that that can be used to describe both functional and non-functional requirements of a system that can be used by the system developer to understand all kinds of functionalities of the system. It has been analysed that use case diagram of a system helps in understanding relationshipbetweensystemusersandfunctionalitiesofthesystem.italsohelpsin understanding dynamic view of the system. It has also been analysed that class diagram is a kind of a static structure diagram that helps the system developer to understand overall structure of the system by showing all the system classes, their operations, attributes as well as relationship among all the objectives. Class diagram developed above has helped the system developer to understand all the main class of the system, their attributes as well as main operations of the system. other that this sequence diagram of the system helps in understanding sequential interaction between objects and the order in which they are present in the system. It has also been analysed that there are various kinds of software development life cycle methodologies that can be used to develop a system. For development of this systemPrototypingmethodology has been used. In order to develop an appropriate solution of the system requirements that are various kinds ofprofessional, legal, social, security and ethical issues that are required to be focused on as they can disturb the overall development of the system. 14
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
REFERENCES Books and Journals Agrawal, C.P., 2019. Software Development Activities Metric to Improve Maintainability of Application Software. InSoftware Engineering(pp. 517-523). Springer, Singapore. Arzumanov, A.A. and Orlova, D.E., 2019, April. Analysis of software integrity information and communication system. InJournal of Physics: Conference Series(Vol. 1202, No. 1. p. 012011). IOP Publishing. Khurana, N., Chhillar, R.S. and Chhillar, U., 2016. A Novel Technique for Generation and Optimization of Test Cases Using Use Case, Sequence, Activity Diagram and Genetic Algorithm.JSW. 11(3). pp.242-250. Kobashi, T., Washizaki, H. and Fukazawa, Y., 2019. Designing Secure Software by Testing Application of Security Patterns. InExploring Security in Software Architecture and Design(pp. 136-169). IGI Global. Kumar, P.S. and Emfinger, W., 2019. Model-Driven Software Design Automation for Complex Rehabilitation. InDesign Automation of Cyber-Physical Systems(pp. 211-235). Springer, Cham. Machiraju,S.andGaurav,S.,2019.TheModernizationofSoftwareOrganizations. InHardening Azure Applications(pp. 229-246). Apress, Berkeley, CA. Oshana, R. and Kraeling, M. eds., 2019.Software engineering for embedded systems: Methods, practical techniques, and applications. Newnes. Ozkaya, I., 2019. Ethics Is a Software Design Concern.IEEE Software.36(3). pp.4-8. Sabharwal, S., Kaur, P. and Sibal, R., 2017. Empirical and Theoretical Validation of a Use Case Diagram Complexity Metric.Int. Assoc. of. pp.35-47. Sievi-Korte, O., Richardson, I. and Beecham, S., 2019. Software architecture design in global softwaredevelopment:Anempiricalstudy.JournalofSystemsandSoftware.158. p.110400. Tsui, F.F., Karam, O. and Bernal, B., 2016.Essentials of software engineering. Jones & Bartlett Learning. Zhou, J., Reniers, G. and Khakzad, N., 2016. Application of event sequence diagram to evaluate emergency response actions during fire-induced domino effects.Reliability Engineering & System Safety. 150. pp.202-209. 15