This work reports on the models, tools and techniques applied in the development of a prototype of online Curriculum vitae generation. The aim is to demonstrate how different models, tools and techniques in the field of software engineering help designers to generate ideas, obtain feedback from customers and software users, and choose among design choices. The report begins by justifying the need for a prototype of online curriculum vitae generation and the background information in the related field of software engineering. The report will then respond to applied methodology for system analysis and a discussion on different theoretical models, tools, and techniques employed in our program development, offering valuable insights for engineering dissertation help. The report then proposes the further area of study before concluding with a summary of major submission of the report.
The introduction of new technology in the realm of information and communication has shifted the manner in which people interact with one another. The internet is one of the revolutions that shifted how employees interact with prospective talents in the labour markets. On the other hand, the internet also stimulated the conception of online portals where jobs are posted for job seekers to encounter vacancies and send their applications to secure employment. As the world revolutionizes through new technological innovations and in dynamic market demands and preferences; the employers are looking for employees with specific knowledge and skills for the betterment of production activities. Only job seekers with in-depth capacities to sell their talents to contemporary companies are able to secure employment. A splendid self-marketing job seeker would do that by preparing enticing curriculum vitae that captures his/her relevant information such as personal information, work experiences, qualifications and education levels. In this project, we aim at developing a prototype to enable job applicants develop a lucrative curriculum vitae online that will optimize chances for considerations in employment opportunities. This work is a report on our applied software engineering tools and software quality assurance tools and techniques in the entire development lifecycle.
In contemporary world, Reifer (2017) noted that the advent of internet and related technologies have disoriented how employees recruit new staff. The scholar takes cognizance that the advancement of globalization has fostered labour mobility, international trade, and free movement of people with fewer restrictions. As a result, people irrespective of the national extraction are invited to work everywhere in the world. With these changes, the knowledge and skills concerning computing, creation of word processing, typing and sending documents online are the foundation of knowing how to prepare and send traditional curriculum vitae electronically. The rising trends of internet usage in search for employment have inspired the development of this project to meet the job seekers’ needs of profiling modern resumes for employment considerations. Huo et al. (2014) noted that many job seekers have inadequate knowledge about existing programs that can help them prepare resumes owing to their complexity.
Ours is a model which is easy to use and adaptable to daily uses. Various schemas were defined to describe the competencies. Such schemas include HRXML (specifies the competency format through XML code) and the IMS consortium (that provides specifications for named competencies).
We gathered primary data through interviews and conducted a requirement analysis process in this context. As a result, we grasped vital information that positively influenced the advancement of the program development. The accrued information demonstrated that numerous job applicants experience diverse challenges while searching for jobs. Some of the challenges revolve around inabilities to generate resumes that appeal to the eyes of prospective employers. The dynamic changes in the standard CV outlook also make it difficult for job applicants to decide on the correct formatting style. This program development focuses at the core component of the prototype which recognizes fundamental elements in a resume.
A job seeker will find out about the website. The applicants visit the online page and get to know about the generation procedure. The applicants register on the program their personal information and redirected to different packages to further record relevant information such as professional experiences, knowledge and skill levels, and hobbies.
In the realm of software engineering, conducting requirement analysis is vital; and the initial phase (Carrington, 2017). While developing our prototype system, we carried out element analysis in which user requirements were important elements put into consideration for the purpose of ensuring the developed program could be user-friendly and easily adoptable. Owing to modern software and system, Gillies (2011) cognized that program users’ preferences are continually changing with time, and that these changes ought to be integrated in new developments. As a result, communication between the program users and us as program development was vital in understanding such needs.
For us to have a successful design and system design needs, we referred to the ISO 13407 (ISO 1999) that elaborates on requirements analysis to lower costs in development, increase efficiency, and quality, and user-satisfaction (Beaudouin-Lafon, and Mackay, 2009). ISO 13407 was thus one of the significant tools in our analytical discourse that helped us to gather testable and measurable requirements. In addition, the Institute of Electrical and Electronic Engineers (IEEE) standard 830-1998 provided useful insights concerning our system requirements to consider in the analysis phase (Naik and Tripathy, 2011). Such insights informed about a need to have a prototype that captures users’ needs, that has clear development requirements, and one that is well documented with a comprehensive language; and one that can support different methodologies such as RAD, Waterfall, and Agile.
After requirements documentation, we checked to ascertain conformity to quality standards. The stakeholders of a system have various demands and wishes. Carrying out elicitation technique ensured the collection and recording of all required needs. The documents were cross-checked through the negation and validation process, which established how documented requirements were dissimilar or similar to users’ needs. The non-functional and functional requirements prototyping helped in further developing the system.
We proposed a prototype to mean a concrete representation of a fraction or a whole of an interactive system. Beck (2000) defined a prototype as a concrete artefact that needs interpretation. Managers, designers, customers, system developers, and consumers use these artefacts to perceive and reflect upon the final system.
According to Brohi, Butt, and Zhang (2019), software tools ate automated program applied to the management, designation, maintenance, coding and inspecting other programs. Existing engineering tools vary in terms of their complexity and size. The complex tools can support various software projects instantaneously while simple tools can only harnessed by individual programmers. Software engineering tools enable recurrent, and well-defined actions to be automated, consequently lowering the cognitive weight of software developer. As a result, the software developer gets free to reflect on more creative aspects of the process. Based on our development, tools helped in supporting methods thus lowering administrative costs linked with the application of the methods manually. Besides, the application of tools was tailored to make the development more systematic and contribute to ensuring all development phases were tackled.
Software requirement tools comprise of tools, which were used to deal with software requirements and can be classified into two typologies; modelling and traceability (Reifer, 2017). Requirement modelling tools were applied in the aspects of eliciting, recording, analysing, and validating software needs. On the other hand, traceability tools were used to check the conformity of the program development in line with expected outcome.
These tools were applied in the production and translation og program representation. Such tools encompass program editors, which we used to create and modify our program accordingly. Interpreters were fundamental in fostering the execution of the program development through emulation. They provided a controllable and observable environment for program execution.
We used McCabe Industrial quality software package top explore different case studies and projects in the realm of quality assurance. McCabe tool helped us to explore McCabe’s structured testing methodology that was instrumental in code analysis and in test-coverage estimations. Our focus on McCabe tool helped us unravel how graphical theories are applied since code analyses are more complex; and contributed in the development of test strategies.
We defined software techniques as the methods and procedures used in formulating, documenting and maintaining our program (Brohi, Butt and Zhang, 2019). Three main techniques were employed in this context; concurrent documentation, top down development and lastly test data generators. In concurrent development, software development occurred concurrently with program development in the quest to offer a more effective program control and optimise completeness in documentation at a cost-effective threshold. Top down management encompassed the context whereby designing, testing and coding of the system begins from the general levels down to more detailed and specialized tasks. Test data generators involved tools where the program was analysed to yield data files necessary in testing the program logic
The software life cycle disintegrated our software development process into distinct phases, which sought to make stepwise planning, execution, and decision-making process effective. Our software project just like in many typical projects was divided into individual phases that were in forms of inputs (documents) (Mosharraf, Haque and Schneider, n.d). These inputs were processed at every phase with software engineering methods and tools, and results transferred into the subsequent phase.
Studies have demonstrated Software Life Cycle is one of the most effective methodologies used in contemporary days (Huo et al., 2014). In practice, the model however demonstrated it has some setbacks in that the methodology is constructed on the false assumption that the development is a linear process whereby iterations between phases happen as exceptions. The iterations are integrated in the description of the life cycle development but it is unclear when and which criteria the iterations ought to presume (Huo et al., 2014). The methodology’s strict adherence to sequence may lead to concrete products only available at the later stage. Yet practice and experience demonstrated that the validation process is not enough without reality experimentations.
We also harnessed prototyping-oriented Software Development Methodology. This was a bottom-up process whereby simple processes were implemented quickly tested by the program users and improved accordingly; then additional user-requirements integrated with the cycle continuing until the end of program development (Endres and Rombach, 2003).
The prospects of software quality in software development were understood from four fundamental perspectives (Sears and Jacko, 2009). The first one is user-perspective that presented quality as fitness for consumer-purpose. The other perspective was product view; whereby quality was defined by virtue of inherent characteristics, the program had both internally and externally. Thirdly, the manufacturing view attributed quality based on the program’s specifications, and lastly the value-based view, which emphasised quality on users’ willingness to pay for it for, own consumptions. The four views facilitated the urgency to create an online CV application portal with characteristics namely; reusability, correctness, maintainability, efficiency and testability.
Various software quality models were also put into consideration. The most impeccable models were the ISO 9126 and CMM. Based on secondary literature, ISO 9126 was conceived by a cluster of group experts under the jurisdiction of the International Organisation of Standardisation (ISO). This quality framework is a construction of six main characteristics which helped us to commission our development. The six characteristics include functionality, reliability, usability, portability, efficiency, maintainability and functionality.
On the other side, the Software Engineering Institute (SEI) formulated CMM. The model was insightful in the sense it paved the way to evaluate our project on the scale of one to five. For example, level one was demarcated as the initial phase while level five as the highest threshold of efficiency.
In software testing dimension, we applied various software-quality models to optimise on quality standards. Two of the software testing models applied were Test Maturity Model and Test Process Improvement. These two frameworks paved the way to us to evaluate the current state I software testing practices but also understand the subsequent logical domain for related improvements and thus propose an appropriate action plan for the whole test process improvement.
Testing comprised of a crucial role in achieving and assessing our software quality. As we progressed with test-find-defects-fix cycle, the quality of the program improved significantly. In the evaluation of how efficient the system was, we maximised the opinions generated by the software consumers. Quality evaluation rested on the premise of two categories namely dynamic and static analysis (Koelsch, 2016). Dynamic analysis concentrated on the execution process to find out prospective system failures while static analysis focused in proof of software accuracy and correctness and inspection. The behavioural and performance traits of our program were subjected to spotlight and a careful finite test set to draw dependable conclusion.
Various software development models are applicable in program development. One of the most significant models is the waterfall model that was proposed by Royce (Riabov, 2011). Waterfall model is not easily adaptable to change and may lead to overconsumption of financial resources; thus making the entire model ineffective. Besides, the model is characterised by poor communication between involved stakeholders which may brood disasters. For such purposes, the iterative model was deemed necessary to overcome the potential defects posed by waterfall model. Iterative model gathers different system requirements and the program formulated and subjected to its users based on iterations. Each of the submitted iteration is an addition to the initially submitted iterations. One of the examples of iterative model is the spiral model in which design elements and prototyping are combined in a stage. There are four major steps involved in the spiral model including; planning, objective, risk development, and validation.
The V-Model was formulated in 1980, as a typical SDLC (Pohl, 2016). The model places more focus on program testing to ensure software quality is not compromised at any development stage. V-model is a document-oriented model which makes it rigid. Due to this, there was a need to venture into a more flexible model known as the lightweight (agile model). For example, Extreme Programming was conceived to alleviate challenges that are exhibited in long program development cycles. Extreme Programming is well known for having short developmental cycles and regular feedback.
Our focus was more on SDLC and Agile models in system designation. The phases in SDLC including planning phase, analysis, and implantation and design phases were followed to the letter. On the planning phase, adequate preparations were made before the actual starting and this helped us to create a picture on how the program would be developed per step. In the analysis phase, requirement analysis was done to on the already existing systems. Further, market evaluations and expectations were derived for the purpose of developing a high-level design. On the implantation stage, we initiated different Unified Modelling Language (UML) before developing our prototype (Galin, 2004).
Other models such as the Rapid Application Development (RAD), prince 2 project management models, and agile manifesto (Budgen, 2013) were also given harnessed but to a less extent and therefore this section overlook them.
Software programs ought to conform to the highest quality standards (Alwan, 2015). Conformity to quality standards ensures fewer cases of defects and errors recorded. Even when such errors are reflected, they are swiftly eradicated in good time. Our main agenda was to come up with a user-friendly interface to assist job seekers generate and send their resumes online to prospective employers. The intended program was also to be functional with current computer architecture and devices without any adjustment. Upon such demands, the incorporation of Software Quality Assurance (SQA) was considered appropriate in the whole Software Development Life Cycle (Boehm and Turner, 2003).
Our Software Quality Assurance constituted of two fundamental prospects thus; software quality assurance testing and software quality assurance process. SQA process offered the foundation for every functional process involved in the SDLC drive. SQA process is the entity defining when the do what, when and by who and how. Despite the view that SQA process ought to be informal, it was clearly mapped before the implementation of SDLC. Software development procedure tools motivate appropriate implementation. However, such software development procedural tools may not enhance efficiency in isolation without the presence of people who can create a responsive strategy.
Software Quality Assurance incorporates sophisticated tools, which inspire effective software testing capacities. Consequently, Software Quality Assurance testers have become instrumental in tracing and communicating challenges at a faster rate while ensuring done tests are responsive in meeting the program consumers’ needs. As Akbar et al., (2017) noted; software-testing instruments have become rampant in contemporary business premises. Such tools demand the accompaniment of responsive Quality Assurance process.
This project contributes to the understanding of how software engineering contributes positively in the recruitment drive; particularly in helping job seekers meet their prospective employers online. The employers on the other hand get access to a pool of labour and qualified talent for more corporate productivity. This project focused on the prototype development of CV generation program, and the aspects of how software engineering theories, quality assurance tools, and techniques influence the development of the said program are dominant. The project suggests more systematic reviews on the subject, particularly to establish the effects that different software development models on software methodologies.
Owing to their concrete nature, prototypes offer important medium for exploring a design space. In the domain of software engineering that requires high accuracy and relevance; the need to apply relevant theoretical models, techniques and tools ought to be done with maximum keenness to ensure the end programs meet the user needs, are cost effective and adaptable to current computer software without necessary modifications. Further, engaging program users through need analysis, and conducting system requirements motivates the extraction of responsive programs to the need. As demonstrated in this project, software engineering domain is one of the most fundamental areas of knowledge that ought to be continually studied alongside the rapidly spinning wheel of technological advancement.
Continue your exploration of Preparing for Midwifery: Bridging Gaps, Setting Goals, and Crafting a Path to Success with our related content.
Akbar, M.A., Sang, J., Khan, A.A., Shafiq, M., Hussain, S., Hu, H., Elahi, M. and Xiang, H., 2017. Improving the quality of software development process by introducing a new methodology–AZ-model. IEEE Access, 6, pp.4811-4823.
Alwan, M., 2015. What is System Development Life Cycle. Airbrake. Viitattu, 9, p.2015.
Beaudouin-Lafon, M. and Mackay, W.E., 2009. Prototyping tools and techniques. In Human-Computer Interaction (pp. 137-160). CRC Press.
Beck, K., 2000. Extreme programming explained: embrace change. addison-wesley professional.
Budgen, D., 2013. Software design. Pearson Education.
Boehm, B. and Turner, R., 2003. Using risk to balance agile and plan-driven methods. Computer, 36(6), pp.57-66.
Brohi, A.B., Butt, P.K. and Zhang, S., 2019, July. Software Quality Assurance: Tools and Techniques. In International Conference on Security, Privacy and Anonymity in Computation, Communication and Storage (pp. 283-291). Springer, Cham.
Carrington, D., 2017. Software engineering tools and methods. SWEBOK, p.1.
Cohn, M., 2017. User Stories and User Story Examples by Mike Cohn. Mountain Goat Software.
Endres, A. and Rombach, H.D., 2003. A handbook of software and systems engineering: Empirical observations, laws, and theories. Pearson Education.
Galin, D., 2004. Software quality assurance: from theory to implementation. Pearson Education b3India.
Gillies, A., 2011. Software quality: theory and management. Lulu. com.
Huo, M., Verner, J., Zhu, L. and Babar, M.A., 2014, September. Software quality and agile methods. In Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004. (pp. 520-525). IEEE.
Koelsch, G., 2016. What Makes a Good Requirement? In Requirements Writing for System Engineering (pp. 31-74). Apress, Berkeley, CA.
Mosharraf, K., Haque, A.B. and Schneider, S., A Prototype of Recruitment Portal.
Naik, K. and Tripathy, P., 2011. Software testing and quality assurance: theory and practice. John Wiley & Sons.
Pohl, K., 2016. Requirements engineering fundamentals: a study guide for the certified professional for requirements engineering exam-foundation level-IREB compliant. Rocky Nook, Inc..
Riabov, V.V., 2011. Methodologies and tools for the software quality assurance course. Journal of Computing Sciences in Colleges, 26(6), pp.86-92.
Reifer, D.J., 2017. Software Quality Assurance Tools and Techniques. Software Quality Management, New York: Petrocelli Books, Inc.
Sears, A. and Jacko, J.A. eds., 2009. Human-computer interaction: Development process. CRC Press.
Academic services materialise with the utmost challenges when it comes to solving the writing. As it comprises invaluable time with significant searches, this is the main reason why individuals look for the Assignment Help team to get done with their tasks easily. This platform works as a lifesaver for those who lack knowledge in evaluating the research study, infusing with our Dissertation Help writers outlooks the need to frame the writing with adequate sources easily and fluently. Be the augment is standardised for any by emphasising the study based on relative approaches with the Thesis Help, the group navigates the process smoothly. Hence, the writers of the Essay Help team offer significant guidance on formatting the research questions with relevant argumentation that eases the research quickly and efficiently.
DISCLAIMER : The assignment help samples available on website are for review and are representative of the exceptional work provided by our assignment writers. These samples are intended to highlight and demonstrate the high level of proficiency and expertise exhibited by our assignment writers in crafting quality assignments. Feel free to use our assignment samples as a guiding resource to enhance your learning.