Towards Responsive Software: Techniques for Online CV Generation

ABSTRACT

This work intends to report on our applied models, tools and techniques in the development of a prototype for online curriculum Vitae generation. The core purpose is to demonstrate how the field of software engineering is delicate and therefore needy of responsive models, tools and techniques to ensure developed programs are responsive to users’ needs; and to ensure resources are utilized effectively in software development. The introduction unravels the existing gaps in the area of online curriculum vitae generation and why there is a gap for developing a platform that can publish CV. The work then reviews the existing development concerning the topic; before venturing into the prospect of analyzing requirement methodologies for the said program. The report will consequently identify literature gap before concluding with a summative overview of main propositions discussed herein.

INTRODUCTION

The advancement of the web and internet-enabled technologies has enabled students and those seeking job opportunities use web-enabled technologies to prepare and their resumes in a creative and eye-appealing fashion (Reifer, 2017). As a result, many individuals in search for employment opportunities in various job markets have become well publicized in their strengths and expertise; thus many securing employment. The evolution of internet and web-based technologies has not only impacted the job seekers but also the entire recruitment. Different organizations have managed to accrue impeccable talents to influence productivity in their organizations. The shift towards online CV generation is a contemporary trend that is effective in motivating and advertising graduates’ credibility online and chances to secure dream job. This work reports on the various models, tools and technologies applied in our prototype development for online CV generation (Reifer, 2017). The report will contribute to the basketry of knowledge in the field of software engineering to bring to the limelight of understanding how theoretical models impact the development of software in practice.

Whatsapp

Statement of Problem

The prospect of unemployment has become a critical issue not only in the UK but also in a global scale. It is undeniable that the job market is seeking for excellent talents with profound knowledge, skills and attitudes required in the field under question. The required talents not only need to be smart academically but also who are the emblems of creativity and competency. A curriculum vita provides a holistic review of a person’s experiences in various jurisdictions and therefore provides a reference point to determine an individual position in handling stated job specifications. A traditional CV fails to highlight the job applicants’ skills, strengths and achievement in a vivid manner, thus the applicants are unable to market and present themselves in an impressive and interactive way on the face of an employer. Furthermore, the traditional CV offers a dull list of personal details and achievement which do not compact with current employment patterns and career dynamics. Consequently, our view is that applicants are denied the threshold to “sell” and market their strengths. The development of a prototype to help in online generation of CV is therefore a responsive move in attending to various users’ needs.

Significance of the Project

Despite the view that traditional CV is under practice in contemporary days, the aspect of self-marketing is shifting gears. This perception is driven by the evolution of information technology that has motivated the application of ICT tools in our daily lives. Furthermore, personal laptops have replaced the traditional type-writers in the generation of CV. There is a paradigm shift towards well-generated CV to optimize chances of employment considerations (Pohl, 2016).

This project is spreading awareness to graduates and job applicants of the application of online-generated CV in applying for a job. Additionally, this project induces awareness to educators amongst the general public about the program which caters for their employment application needs.

LITERATURE REVIEW

We reviewed a number of secondary sources to establish developments on the area of software engineering. The literature review also sought to understand how CV is an important instrument in inviting graduates to an interview; and therefore how CV influences employment considerations. Sears and Jacko (2009) observed traditional CV does not present one’s competencies effectively due to its narrow focus in providing individuals’ professional information. The scholars suggested a professional portfolio that avails professional and broader representation of total achievements, skills, and experiences accrued over time. Alwan (2015) developed mobile curriculum vitae (m CV) that were accessible online. This is an online CV presentation utilizing weblog as its development platforms that brings forth mobile and web versions. Job applicants used this development to publish their CV online and generate it at low costs.

Alongside publishing the CV online, m CV enables students to print or view their CV through internet with the help of mobile technologies such as notebook, netbook or cell phone (Reifer, 2017). Consequently, job applicants would use this program to impress their prospective employers through impressive curriculum vitae based presented before the desk. Mobile curriculum vitae are eco-friendly and were inspired by green campaign to reduce the application of paper in CV preparation.

In global scale, many job applicants experience challenges an competition in securing their dreams through employment. Under contemporary arrangements, the CV has ascended to become marketing document, through which the graduates and job seekers promote themselves in the labor and job market (Reifer, 2017).

ANALYSIS OF REQUIREMENT METHODOLOGY

Carrying out requirement analysis is one of the most important practices in software development. We conducted element analysis where we harnessed users’ requirements to predict the prototype design that would be responsive to users’ needs in terms of costs efficiency and adoptability. According to Gillies (2011), program users’ needs are dynamic over time and that these changes ought to be well understood for effective integration into development. Based on this axiom, constant communication between the intended program users and us was vital in the quest to optimize program relevance and adoption.

We borrowed insights from the framework provided by ISO 13407 (ISO 1999 which sheds light in requirement analysis. According to this quality assurance tool, a program ought to be developed on the premise of cost efficiencies, user-satisfaction and high quality standards (Mosharraf, Haque, and Schneider, n.d). We therefore envisioned a prototype bounded within these characteristics. Alongside this, we also borrowed from the Institute of Electrical and Electronic Engineering (IEEE) to envision a CV prototype fabricated with clear language and pone that can be supported with several models such as waterfall, RAD and agile. We recorded all these system requirements and ensured they contended with quality standard practices and models in software engineering domain (Mosharraf, Haque, and Schneider, n.d).

Applied Software Engineering Tools and Techniques

According to Galin (2004) the term prototype has different meanings and therefore there was a need to define ours. We adopted Brohi, Butt, and Zhang (2019) definition of prototype as a concrete and solid representation of part or whole of an interactive system. These artifacts are used by program designers, managers, users, and developers to reflect and deeply perceive how the final program development will appear.

Software tools refer to automated programs used in managing, designing, maintaining and evaluating program responsiveness and appropriateness as initially envisioned during the planning phase. Software engineering tools are varied in terms of complexity. Some tools are complex and can support a wide range of different software projects while others are simple that they can only handle single programs. Software engineering tools assist the automation and implementation of well-defined actions which ultimately lowers down the cognitive weight of software developers.

Software engineering tools enabled recurrent and well-formulated actions to be implemented; thus reducing overreliance on human personnel, which in turn reduced the costs of program development. Moreover, software development tools made our innovation more systematic and ensured all developmental phases were well managed (Naik, and Tripathy, 2011).

Software development tools comprised of tools we used to deal with our software requirements ad were classified according to two typologies namely modeling and traceability. Modeling tool were used to the purposes of recording, eliciting, validating and evaluating software demands. Traceability tools were employed for the purposes of referring whether system developments were confined within the bounds of stipulated expectations (Pohl, 2016).

Software construction tools were employed to in the production and translation of program representation. Software construction tools included interpreters which were instrumental in motivating the execution of our program development through emulation. Besides, interpreters offered a controllable and observable environment the program implementation.

The art of quality testing was facilitated by McCabe Industrial quality software package which was used to study numerous case studies and related projects dealing with project quality assurance. Besides, McCabe tools assisted in unraveling how graphical theories are employed based on the view that code analyses are more sophisticated. Thus, McCabe tools contributed to the implementation of test logistics (Beaudouin-Lafon, and Mackay, 2009)

Software techniques were referred to as procedures and methods applied in the formulation, documentation, and maintenance of our software prototype. There were three main techniques used in this context. These techniques included concurrent documentation test data generators and top down development. According to concurrent documentation, the implementation phases of our software occurred concurrently to produce a more efficient program. Test data generators are where our program was analyzed to bring forth data files that were deemed important in testing the logic of the program. Lastly, top down management involved where designing, testing and coding of the prototype commenced from a generalized area moving down to more detailed tasks (Naik and Tripathy, 2011).

Software Development Methodology

Software life cycle was structured into clear phases to facilitate stepwise planning, and efficient implementation and decision-making processes. The entire program activities were disintegrated into distinct phases for easier monitoring and assessment. At every stage, relevant software engineering tools and methods were applied; especially the Software Life Cycle methodology. Software Life Cycle methodology is constructed on the assumption that program development is a linear process whereby iterations occurring amidst phases are exceptions. The iterations are incorporated in the definition of life cycle development but it is not clear which criteria ought to be employed and in which manner iterations should presume.

Prototyping-oriented Software Development method methodology was also harnessed to our software. This is a bottom-up approach in which simple processes are implemented at a quicker pace before more complex user-requirements are incorporated towards the end (Endres and Rombach, 2003). The simpler processes are quickly implemented to pave a way for more complex activities in the implementation process. This process ensured rapid development; and ensured more complex processes and activities were granted enough time towards perfection.

Software Quality Assurance Models and Practices

Software quality in the field of software engineering can be understood from various perspectives (Huo et al., 2014). We used these perspectives to deduce an in-depth understanding of quality in regard to our development. The first perspective is user-view which denotes to how software consumers perceive quality. The system users’ capacity to conform to the users’ demands was one of our core objectives since this fosters increased adoption rates. The other perspective was the product view in which quality was defined from the software’s inherent properties, externally and internally. Moreover, the manufacturing view motivated us to perceive quality according to the program’s specifications. The last perspective we applied was value-based view which conceived quality on the premise of users’ willingness to pay for the program service. The four views inspired us to develop a CV prototype characterized by five major properties namely; correctness, testability, efficiency, maintainability and reusability (Riabov, 2011).

We put into practice various engineering quality frameworks. One of the most remarkable tools was the ISO 9126 and CMM. There is no shortage of literature emphasizing on the two models. ISO 9126 was conceived by a cluster of group experts under the jurisdiction of the International Organization of Standardization (ISO) (Endres and Rombach, 2003). This quality framework is a construction of six main characteristics which helped us to commission our development. The six properties are usability, reliability, efficiency, portability, workability and maintainability.

On the other hand, CMM model was proposed by the Software Engineering Institute (SEI) (Budgen, 2013). This model granted us a framework for evaluating our development on the scale of one to five. The lowest value was marked as the initial phase with the upper values symbolizing the highest rank of efficiency.

In the realm of software testing, several software quality models were put into use to maximize the art of quality level. Two of these models that were conspicuous were test maturity model and test process improvement. The duo prepared a way for monitoring and evaluation of our program development, and an avenue to master the subsequent logical domain of related improvements in order to propose a responsive action plan for the entire evaluation process.

Testing was a core component of evaluating software reliability and quality. Testing also fostered the capacity to understand whether the program was developing in the intended manner. In the evaluation of how efficient the system was, we maximized 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 behavioral and performance traits of our program were subjected to spotlight and a careful finite test set to draw dependable conclusion.

Software Development Approaches

We employed various software development approaches. One of the approaches was the waterfall model which according to Riabov, (2011) was initiated by Royce. The application of this model was however prone to inducing significant defects and errors to our program development owing to the fact the model demand more financial resources. In addition, the model is constructed on the premise of poor communication amongst all project proponents which had a potential of inculcating disasters.

Due to waterfall model’s limitations, we proposed venturing into iterative model to counteract the limitations imposed by waterfall model. Iterative model gathers different system requirements and the program formulated and subjected to its users based on iterations (Cohn, 2017). 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.

Take a deeper dive into Simplifying Complexity For Effective Decision with our additional resources.

Another model used was the V-model that was originally initiated in 1980 as a special SDLC (Boehm and Turner, 2013). We ventured into this model owing to its emphasis on program testing for the purpose of ensuring software quality in guaranteed at all phases of development. Based on the rigid nature of V-model, we proposed for the application of flexible models; thus settling on agile model (lightweight). One of such models is the Extreme Programming which was fundamental in eradicating challenges revolving around lengthy durations in program development. Extreme Programming model was also characterized by regular feedback and short developmental cycle thus ensuring timely identification of defects and risks for proper remediation.

We also placed intense focus on the SDLC and agile approaches in the designing phase. The stages in the SDLC model were followed including the planning phase, analysis phase, implementation phase and designing and implementation phases. During the planning stage, enough preparations were laid before software program development kicked off. This phase helped to perceive on how we wanted our program to be. In the analysis phase, we carried out requirement analysis existing systems. Further, market evaluations and expectations were derived for the purpose of developing a high-level design. On the implementation stage, we initiated different Unified Modeling Language (UML) before developing our prototype (Galin, 2004).

Software Quality Assurance Tools and Techniques

High quality standards and engineering software are inextricably intertwined (Carrington, 2017). Compliance with quality provisions in the engineering domain contributes to fewer cases of errors in software development. Even when errors are spotted, remediation becomes easier because they are identified in good time before massive destruction. We were inspired to synthesize a user-friendly prototype program to assist graduates and job applicants generate resumes online that is imploring in the eyes of prospective employers. Furthermore, our program was also to be operational and compatible with current computer architecture and devices without further adjustment. Thus, the incorporation of Software Quality Assurance (SQA) was considered appropriate in our whole Software Development Life Cycle (Boehm and Turner, 2003).

Software Quality Assurance integrates complex tools that trigger efficient program testing. As a result, Software Quality Assurance testers have ascended to become important tools in deducing communication impediments at a rapid rate while at the same time ensuring making sure the conducted tasks are reactive to users’ needs. According to Akbar et al., (2017), software testing tools are common in modern software engineering area.

The applied Software Quality Assurance constituted of two fundamental practices; software quality assurance testing and software quality assurance process (Koelsch, 2016). Software Quality Assurance process offered the foundation for every functional process involved in the SDLC drive. Software Quality Assurance 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

AREA FOR FUTURE STUDIES

This project contributed to the knowledge in the domain of software engineering. The main focus was on the application of various software engineering models, tools and techniques that are applied in software development. The project sought to develop a prototype for the development of a program that can generate curriculum vitae online that captures contemporary graduates and job seekers needs and those of prospective employers. This report suggests more studies in this line to identify how various models, tools and techniques influence software development methodologies.

Order Now

CONCLUSION

The field of software engineering is rapidly changing owing to the fast evolution of web technologies and internet. This work reported on the application of various theoretical models, tools and techniques in developing a prototype for online CV generation. Software engineering area requires optimum accuracy and assessment to ensure developed programs meet high quality standards that also meet users’ demands in a cost-effective manner. Further, there is a need to integrate users’ requirements during prototyping since this maximizes chances of high adoption rates when the program is completed. As revealed above, the software engineering tools, models and techniques are many; and therefore there is a need to be keen on which ones to harness in developing a selected prototype.

REFERENCES

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.

Budgen, D., 2013. Software design. Pearson Education.

Boehm, B. and Turner, R., 2013. 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.


Sitejabber
Google Review
Yell

What Makes Us Unique

  • 24/7 Customer Support
  • 100% Customer Satisfaction
  • No Privacy Violation
  • Quick Services
  • Subject Experts

Research Proposal Samples

It is observed that students take pressure to complete their assignments, so in that case, they seek help from Assignment Help, who provides the best and highest-quality Dissertation Help along with the Thesis Help. All the Assignment Help Samples available are accessible to the students quickly and at a minimal cost. You can place your order and experience amazing services.


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.