Software Engineering Assignment: Web Framework For Doolan Executive Taxi Service Online
Question
Task:
Software Engineering Assignment Part 1: Software Measurement and Goal
Question Metric
Doolan Executive Taxi Service Online (DETO), is a company specialized in providing local and national taxi services for executives to ferry them to and from private helicopter and small airplane landing points across the country. The company employs over 40 drivers and has more than 1500 executive clients.
They have a website which includes amongst other features a simple web-based email system which allows users to attach up to five attachments to each new email. In accordance with their own policy and rules, before the uploading process actually begins, the system checks that attachments are not larger than 100Mb each, and that no attachment is a file type which is not allowed (by comparing the file extension against a list of extensions saved to the system). If the uploads pass both tests, the files can be successfully uploaded on the mail servers and eventually sent to the recipient(s).
If either of the above two constraints is breached, an alert message to the user is displayed. Once the procedure for uploading attachments has been completed, the user is redirected to the main email system web page, on which a message box is displayed including the number of attachments, their full name (including extensions) and size, which are to be enclosed in the email yet to be sent.
Based on your own judgement, find out the realistic weight for each “Functional Type elements” and derive the unadjusted Functional Point.
Task 2:
As an independent consultant, you have been asked to perform a Goal-QuestionMetric (GQM) analysis into how effective the DETO website is in order to suggest some improvements to its designers especially as attracting new customers is a key priority for the company.
Identify “the objects under measurement” for the GQM template
Analyze |
The object under measurement |
For the Purpose of |
|
With Respect to |
|
From the viewpoint of |
|
In the Context of |
|
Based on the above GQM template, identify two (consistently derived) measurable goals for the company. For each goal list two relevant questions. For each question give at least one metric you would want to collect.
Part 2: Software Process Models
Task 3: Now the company is considering using a highly sophisticated and leading edge onboard navigation system for the next generation of the company’s cars. The company has heard that rapid development of the software development process may result in a high-quality product which can be released quickly. This is of interest to this company in order to gain competitive advantage and quality is of vital importance since if cars are out of use money is lost and reputation may suffer.
Senior management have approached you to help them to compare the suitability of TWO software process models that might be used as a basis for the development of the on-board navigation system and to make sure that this system integrates fully with the company’s website.
In no more than 2000 words discuss why your chosen software process models are a suitable approach for this case study. In your discussion ensure to include the general characteristics of the process models that make it so and any differentiating characteristics of the proposed two models compared to others. Include details of the issues that will need to be addressed for this software development and provide an explanation of the risks and pitfalls in managing a software project such as this.
You are required to include an in-depth discussion using your own words and provide a breadth of references to support your arguments using the Harvard Referencing System. At the very least 10 sources are expected. You are not permitted to use bullet points, lecture materials or diagrams for task 3.
Answer
Part 1
Task 1
Doolan Executive Taxi Service examined in the software engineering assignment is an online taxi service provides local and national taxi service to transport the executives. Generally, their services throughout the country to ferry executives from small airports to private helicopter landing points or small airplane landing points.
Table 1
Function Type Elements |
Number of Elements |
Names of Elements |
User Input |
7 |
User ID, Password, Name, contact information, Pickup Point and drop point, Transaction details, Picture of the user |
Reports to the user |
2 |
Taxi details, Details of driver |
Prompts and responses |
2 |
User rating, Remarks |
Interfaces to external systems/files |
2 |
Link to social sites, Link to other commercial web portals |
Internal logical files |
4 |
User records, Transaction history, Boarding history, User reviews |
Identification of Realistic Weight for Each Functional Type Elements
Doolan taxi service has to build up user input fields like user id or password which is based on user email id or phone number and password given by himself or herself. Contact information means the contact number providing by the user and pick up and drop point means where the user wants to board and where to drop. The transaction procedure button signifies the transaction regarding the service. A picture should have to be uploaded in less than 100MB for proper authentication. After completion of this, the user receives information regarding the taxi and driver details. After the journey, the rating of stars from the user and also remarks field may prompts and responses from the customer field. Link to several social sites like Facebook, Instagram, and other commercial websites are categorized under interfaces to external files or systems. Besides, that record of the user, their transaction history, boarding history, and user reviews are stored in several files for any further support.
Address the Unadjusted Functional Point
There is an official website of the company where the user has to sign in with a valid email id and give proper information and upload some files which should have to be available on the device of the user. Files should have to be less than 100 MB because exceeding the limit may not allow on the company website. After successful completion of the whole process, a message has to be forwarded from the company website to the user email id regarding the succession of the process. If not, a message comes to the screen of the user with reason and also offers to re-allocate the process.
Task 2
From a user or customer perspective, there is a real difference in the market by providing a level of quality. The Doolan Taxi service has to analyze tools for a review and update their service for the future.
Table 2
Analyze |
The object under measurement |
For the purpose of |
Spread their services & enlist more users |
With respect to |
Quick and efficient service with an efficient amount |
From the viewpoint of |
Allocate efficiency from the same vehicles to multiple uses |
In the context of |
The similar or updating process to access customer |
Identification of Two Measurable Goals
To grow up online taxi services the main target is to achieve is to enlist more customers and spread their services more. In the future, it may serve their field across the country not only for airports or private helicopter landing regions. Doolan Taxi Services have to advertise their service to several social sites and commercial sites to attract and to know all about their services. Using customer reviews and support and day by day user profile creation may be two effective tools to identify the company market.
Listing Relevant Questions for the Goals
Now questions arise in the mind,
- Do the taxi service company grow a customer to eventually advertise and sell on the company blog or social sites?
- Does company blog support service that the company sells on the website?
Addressing One Metric for the Answer Collection
A strategy is to adopt the Doolan Taxi Services to promote a blog is by other users or customers for the company. Guest blogging is a process to encourage a new customer by contributing a post of their reviews or ratings to the company blog or website. Generally, a new guest post includes communication to the guest website of the author to create a win-win condition for both.
Part 2
Task 3
Scenario Overview
Doolan Executive Taxi Service Online (DETO), specialized in servicing a special category of clients. They provide taxi services both locally and nationally. They have their database of 40 drivers employed by the company and 1500 executive clients. The company has a website. DETO specializing in developing a web-based email system that will enhance the attachment process up to five. Their system will check that attachments do not cross 100 MB limitations for each file and will avoid file type materials during attachment. The uploads that pass both the tests can be uploaded successfully on their mail servers and send eventually to recipients.
Identification of Two Software Process Models Suitable for the Case Study
Doolan Executive Taxi Service Online (DETO) is specializing in developing a web-based email system that will enhance the attachment of up to five materials to attach. The system will check the attachment to not cross 100 MB for each file and avoid file-type materials during the attachment. The system will generate an alert if any material is unmatched with the provided criteria. It will be an effective process to mail customers fast. The company is currently emphasizing incorporating sophisticated devices that will maintain the navigation system for the future generation. As a part of the senior management of the software development process, the two suitable software process models can be,
a. Agile
Agile methodology is the most common methodology in the software development process. The increasing insufficiency at the other software development process has been resolved by the implementation of agile methodology. It is designed for adapting the frequent changes in the development process and product operations faster. Agile provides an understanding of the customer's perceptions and their collaboration throughout the development process. The studies have explained that the agile software development process is dominating over the last fifty years because of its immense demand and holistic synthesis (Hoda, Salleh and Grundy, 2018). Agile software development is significant in both the early adoption process and line product engineering process within a large-scale environment (Hoda et al., 2017). Agile development is itself defines the continuous system development process by evolving through the collaboration and cross-functional system.
b. SCRUM
Besides Agile, SCRUM is also effective in collaboratively developing software. The continuous development process within the SCRUM methodology approaches both front and center team in maintaining discipline and gather experience. It helps the whole system in achieving self-management characteristics. The identification of effort and continuous progress are the two main pillars under the SCRUM process model as it defines the technical and non-technical aspects during the development of a project (Ramin, Matthies and Teusner, 2020). In the rapid software development process, well-structured and comprehensive flexible methodologies are essential in achieving the development goals (Kuhrmann et al., 2017). SCRUM will be another suitable choice besides the Agile process model in developing the website system at DETO.
General Characteristics of the Process Models
The characteristics of the Agile process model are,
- Agile development focuses on generating business value from an earlier stage
- It is a continuous process that works on regular testing of the software and running duration
- Agile mainly focuses on the system features with the parameters of planning, tracking, and delivery process
- Agile process modeling is mainly engaged with the communication process regarding problem-solving, technical development, and improvement process according to the team's effort
The characteristics of the SCRUM process model are,
- It is a self-managing and organizing tool with automated development technology
- It works with empowering perspectives within a collaborative environment
- SCRUM works on shared purpose and goals from a software development process that integrates the organization’s goals
Details and Issues Regarding Software Development Process
Senior management of the software development process of (DETO) wants to develop a high-end software system. The responsibility of the software will be to enhance the mail attachment process up to five. Checking the attachment size should not cross 100 MB limitations for each file and avoiding file type material during attachment. Upload which passes these two requirements successfully can be uploaded and send eventually. Either any of the two constraints is breached, an alert message will be displayed to the user. Though this task is not very easy to accomplish. Software development and sustainability is still an immature process due to a lack of integration with interdisciplinary dimensions such as environment, economic, and social (Ahmad, Hussain and Baharom, 2016). Once the uploading procedure has been completed the user will be redirected to a web page, where the number of attachments will show on the message box, with full name and size.
Senior management of the software development process of (DETO) uses two software development process,
Agile Methodology: Most common methodology in the software development process is the use of the agile methodology. Agile methodology is used to adopt frequent changes involved during the development process and there is the faster operation of the product. Agile provides a better customer understanding. Some key issues in agile methodology are poor project planning, growth of predictability on deliverables of customers, overall project efficiency, product delivery cycle time, communication and cooperation between product team, portfolio management (Paterek, 2017). Poor documentation and fragmented output will also a great disadvantage of using the agile methodology.
SCRUM Methodology: SCRUM is an advanced agile methodology that is used for developing, delivering, and sustaining complex products. SCRUM is easily adaptable, fast, effective, and deliver the valued product to the customer with a limited period. There are some quality issues such as employee skill, satisfaction, process quality, process effectiveness, acceptance, conformity, visibility, etcetera (Mishra and Abdalhamid, 2018).
SCRUM is more effective than agile.
Explanation of Risks and Pitfalls in Software Project Management
A software Project is something that unites every element together. It consists of skilled team members to perform the whole project (Shamseddine, 2020).
The pitfalls or risks of a taxi management system are quite simple. Few problems may resist the project to form a successful application. Here are a few points:
a. Poor Communication System
Communication is the major force in the world in a high percentage of situations. Talking between team members is very important. If it fails it may create a communication gap between the manager and team members, which may hamper the project (Ekambaram et al., 2018).
Solution: Choose an efficient medium of communication like chatting and be sure about the involvement of everybody. The project manager has to organize a meeting for face-to-face communication.
b. Trust and delegation
A software project may hamper due to the gapping of trust and legislation of management. Sometimes the management takes all jobs for him or herself, this may create a gapping of trust and delegation (Nikitin et al., 2017).
Solution: To solve this kind of problem a manager may distribute his or her work among the team members.
c. Gapping of responsibility and designation
Irresponsible team member sometimes forgets their roles and designation which may result in project failure. Management of knowledge focused on system and team member perspectives.
Solution: Have to arrange a meeting at the very beginning of the project and also give information regarding the designation of every individual of the team.
d. Poor project plan
Improper planning of a project creates a pitfall of the project. Plan of the software project is a proper document where all kinds of project related information are stated.
Solution: Do not start a project without planning. If anything, going to be wrong it will create a pitfall to the project.
e. Time Consumption
Projects are usually very time consuming and long term in nature. It may be quite complicated to the psychological manner that affects human minds.
Solution: To avoid these kinds of pitfall divide all works into fewer parts with a short-time. Each team member may also feel comfortable about the tasks and limitations of time.
Conclusion
Defining a proper web framework using different methodologies is not an easy task. In the beginning, it requires a proper set up to develop a web site, checking the desired output, and make sure the website works properly. Next step to look after the user-friendliness and acceptability of the website. If a website can work properly and get acceptations from the user then it will be cost-effective. It will reduce the workload as well as the good company will get the desired output. There will be a reduction in cost in terms of both time and money. For future business, it will be very effective.
References
Ahmad, R., Hussain, A. and Baharom, F. (2016) ‘Goal oriented measurement for software sustainable evaluation metric focused on environmental dimension’.
Ekambaram, A., Sørensen, A.Ø., Bull-Berg, H. and Olsson, N.O., 2018. The role of big data and knowledge management in improving projects and project-based organizations. Procedia computer science, 138, pp.851-858.
Hoda, R., Salleh, N., Grundy, J. and Tee, H.M., 2017. Systematic literature reviews in agile software development: A tertiary study. Information and Software Technology, 85, pp.60-70.
Hoda, R., Salleh, N. and Grundy, J. (2018) ‘The rise and evolution of agile software development’, IEEE software, 35(5), pp. 58–63.
Kuhrmann, M., Diebold, P., Münch, J., Tell, P., Garousi, V., Felderer, M., Trektere, K., McCaffery, F., Linssen, O., Hanser, E. and Prause, C.R., 2017, July. Hybrid software and system development in practice: waterfall, scrum, and beyond. In Proceedings of the 2017 International Conference on Software and System Process (pp. 30-39).
Mishra, D. and Abdalhamid, S. (2018) ‘Software Quality Issues in SCRUM: A Systematic Mapping’.
Nikitin, K., Kokoris-Kogias, E., Jovanovic, P., Gailly, N., Gasser, L., Khoffi, I., Cappos, J. and Ford, B., 2017. {CHAINIAC}: Proactive software-update transparency via collectively signed skipchains and verified builds. In 26th {USENIX} Security Symposium ({USENIX} Security 17) (pp. 1271-1287).
Paterek, P. (2017) ‘Agile transformation in project organization-issues, conditions and challenges’.
Ramin, F., Matthies, C. and Teusner, R. (2020) ‘More than code: Contributions in scrum software engineering teams’, in Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, pp. 137–140.
Shamseddine, Y. (2020) ‘APPLICATION OF MULTI-LABEL CLASSIFICATION IN PROJECT MANAGEMENT FOR RISK IDENTIFICATION’, pp. 1-60