Contents
Task 1: Explain and Describe
1.1 The software engineering concept and how it differs from programming
1.2 The concept of the software development lifecycle (SDLC) and its stages
1.3 Software implementation and its management via software metrics
Task 2: Evaluate the traditional ‘waterfall’ and ‘agile’ SDLC methodologies, taking care to highlight the stages, features, strengths and weakness of each.
Task 3: Illustrate and compare
3.1: Illustrate how the Unified Modelling Language (UML) may be deployed as part of an Object-Oriented (OO) software development project.
Class Diagrams
Activity Diagrams
Sequence Diagrams
Use Case Diagrams
3.2: Compare and contrast two different commercial UML modelling tools that may be employed to do this work.
Task 4: Critically evaluate two implementation languages
References
1.1 The software engineering concept and how it differs from programming
A software engineer is someone is who is associated with development of software products with clear scientific principles, procedures and methods. IEEE defines a software engineer as “The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software.” A programmer is someone that writes or creates computer software, they can also create applications by giving the computer programming instructions.
Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service
1.2 The concept of the software development lifecycle (SDLC) and its stages
SDLC is a systematic methodology for developing software, which ensures the consistency, accuracy, quality and correctness of the software. The aim of SDLC is to develop high-quality product or software that meets customer or user requirements and expectations. The development of the software should be completely done in pre-defined cost and time frame. It comprises of details about the software that how to schedule, plan, develop and maintain software. There are different phases of SDLC, each phase has different process, and their outcomes are pass into next phase.
Phases of SDLC are as follows;
• Requirement Analysis – in this stage the important information is gathered from the customer to develop a product that requires their expectations.
• System Design – in this stage it is required to gather the software requirements specification documents in as an input, and the architecture that is used for applying system development is resultant.
• Implementation – this starts as soon as the developer has gotten the design documents.
• System Testing – the testing starts when the coding is complete and when the modules are available for testing. During this phase the software is tested and if any defects are found they will be noted and are assigned to the developer for fixing.
• System Development – when the product has been tested and is ready, it is released in the production environment, however it may be sent to the User Acceptance Testing so the customer can see if it has met expectations.
• System Maintenance – once the product has been developed and has been sent out, if there is a need for maintenance or any issues arise, it will be sent to the developers to fix.
Above all stages are implemented as while developing a software. At each stage, a document is maintained so that it can be easily identified how software is made.
1.3 Software implementation and its management via software metrics
Software metrics is the technique for quantitative measurement. This technique helps in estimating quality, health and progress of efforts for software testing.
There are different software metric types which are as follows;
Formal Code
Agile Process
Test metric
Developer Productivity
Operational metric
Function-based Metrics
Above software metrics helps in achieving the desired software as a quality product.
Function-based Metrics
Function-based metrics is the metrics used for requirement model as technical works in the process of software engineering starts with requirement model. The FP metric is used efficiently and effectively for measuring functionality that a system delivers. With the help of historical data, we can use FP metric for following:
Estimating the cost and effort for designing the code.
Estimating effort and cost for testing the software.
Predicting errors that may encounter.
Predict the components in the developed software.
Waterfall Model: It is a technique or methodology of software engineering used while developing software. There are many cases when requirements of any problem are already known, and work can be done in a linear manner form communication to deployment. Waterfall model is also known as “classic life cycle.” It depicts the systematic and sequential approach for developing a software, which starts from requirements specified by the customer and progress through the stages of the waterfall model. Waterfall model is paradigm for developing software of ancient era of software development.
Stages of Waterfall Model
Communication – this stage involves a lot of communication with the client and other stakeholders so the developers can gather all the information required.
Planning – in this stage a plan will be made to follow, it will describe all the tasks that needs to be carried out, required resources, risks, schedules etc.
Modelling – a model will be created so that there is a better understanding of the requirements and the design.
Construction – in this stage the coding will be done and will be tested
Deployment – a complete or near complete version is represented to the client. This is so they can evaluate and give feedback.
Waterfall model is mostly used for the small projects where there is no risk of uncertain requirements.
Strengths and weakness of Waterfall Model
Strength
Weakness
Waterfall model is easily understandable, quite simple and can be easily used.
It can be easily managed because of stiffness of waterfall model.
Every phase of waterfall model has deliverables and review processes.
In waterfall model phases do not overlap as one phase is completed at a time.
Waterfall model work best for the project of small sizes where requirement cannot vary and completely understood.
There is no backtracking in the waterfall model. Once you reach the testing stage it’s almost impossible to backtrack and change which in not accurate or either suitable in concept stage.
During life cycle of waterfall model no software in working state is developed until late.
Huge chances of uncertainty and risks.
Its nit suitable model for object-oriented and complex projects.
Cannot be used in ongoing or long-term projects.
It cannot be used where there is high risk of change in requirements.
Agile Models: Agile models or methodologies are used where there is uncertainty in requirements or in ongoing projects. It is quite difficult to predict that which requirement will persist until the final delivery of software. Agile methodology work on the following principals.
Customer satisfaction is achieved with the help of continuous delivery of early delivery of software.
Changes are always welcomed even we are at the testing stage or about to deploy.
Software should be delivered frequently in working state in shorter timescale.
Developers must work with the business people throughout completion of project.
Software in working state is the primary rule for measurement of progress.
Following are the common phases of agile models
Concept – the product is planned and will be prioritized
Inception – the team is made; the funding has been given and the requirements will have been discussed
Iteration or construction – the developers will work on the software based on the requirements.
Release – Quality assurance testing, internal and external training is provided, the documents will have been developed.
Production – in this stage there will be continuation of support for the software
Retirement – customer notification and migration.
Scott W. Amber
Strength and weakness of Agile Models
Strengths
Weakness
Highly flexible
Constant iteration
Short cycles
Constant interaction with stakeholders
Highly satisfied customer during the development process.
Quality assurance in done simultaneously.
Problems in coordinating with workflow.
Planning is difficult at initial stages.
In agile development, constant decision-making is required, which means only software developers, managers and tester with high experience can work.
Long term planning cannot be done.
Recommendation to ASDA Suppliers: ASDA suppliers should adapt waterfall approach, as their requirements are no uncertain and completely well known. It can be easily managed because of its rigidity. ASDA suppliers does not need long term project as their all requirements are stated and water fall best suit.
Task 3:Illustrate and compare
3.1: Illustrate how the Unified Modelling Language (UML) may be deployed as part of an Object-Oriented (OO) software development project.
Class Diagrams
A class Diagram is a UML type of static structure diagram, it describes the system structure by the system classes, operations, attributes and also the relationship with the objects.
Figure 1 Class Diagram: the class diagram represents the data members and member functions of each class which will be used while developing the system. There are six classes with the names: login, headquarter, Employee, Products and Factories.
Activity Diagrams
An Active diagram is a UML that shows the active aspects of the system.
Figure 2 Activity Diagram: the activity diagram, which shows the procedure to perform a activity successfully. This activity diagram shows that how a user login. User will login into the system by providing the username and password. If the credentials are correct user will be logged in.
Figure 3 Activity diagram: This activity diagram shows how the user can place or request order. User will first login into the system by providing the username and password. If the credentials are correct user will be logged in and able to see the homepage or dashboard. System will check the availability of the product and if the product is available user can successfully place order.
Sequence Diagrams
Sequence diagrams are a UML that shows the interactions and detail of how operations are carried out.
Figure 4 Sequence diagram: this is a sequence diagram which shows the interaction of user (ADMIN) with system for the login process for Asda
Figure 5 Sequence diagram: is a sequence diagram which shows the interaction of user with system for placing and receiving order details.
Figure 6 Sequence diagram: this is a sequence diagram which shows the interaction of user (ADMIN) with system for the process of updating product.
Figure 7 Sequence diagram: this is a sequence diagram which shows the interaction of user and admin with system for the registration process.
Figure 8 Sequence diagram: This sequence diagram shows procedure of the complete software product that which operations can be performed using the software. User will first login into the system by providing the username and password. If the credentials are correct user will be logged in and will be able to view dashboard. Then the user can perform operations manage product division, manage allocated division, view allocated product category, make report and receive report.
Use Case Diagrams
A Use Case Diagram is a UML that is used for graphic representation of the communication with the elements of a system.
Figure 9 Use case diagram: the above diagram is the high-level use diagram of the software which show all the possible operations that can be performed using the system for Asda
3.2: Compare and contrast two different commercial UML modelling tools that may be employed to do this work.
Microsoft Visio
Rational Rose
Visio is the tool developed by Microsoft used for UML modelling. It can be used for many purposes that make use of layouts, charts and diagrams. Standard images are used in Visio that can be utilized by playbooks, flow charts, network diagrams and even for decision diagrams. Microsoft Visio provide ease for teams so that they can work together and it also multiple members of team to work with collaboration.
Link of tool:
https://www.microsoft.com/en-us/p/visio-professional-2019/cfq7ttc0k7cg?activetab=pivot%3aoverviewtab
Screen Shot:
Rational rose is a UML object oriented based software designing tool used for visual modelling and construction of components of enterprise-level software. Rational rose is used by the software designer to create visual model of system or software’s classes, use cases, activities and relationship among them. Rational rose is the product of IBM.S
Link of tool:
https://www.dataone.org/software-tools/rational-rose-0
Screen Shot:
Sequence, selection & iteration
Sequencing: sequencing implies that the PC will run your code together, one line at any minute from the best to the base of the program. It will start at line one and at this point implement line two and the line three etc. it will do this until it achieves the last line of your program
For Example, (C#):
Output:
Selection: for selection you will need a few lines of code to be running just if something goes wrong, or you will need the PC to disregard these lines and move over them. This is done by using IF explanations. For example, on the off chance that a condition is met, lines 4, 5, 6 are executed generally the PC bounces to line 7 without taking a gander at line 4,5 and 6.
For Example, (C)
Code Screen Shot
Output:
Iteration: Sometimes you need the PC to execute similar lines of code a few times. This is finished utilizing a circle. There are three kinds of circles: For circles, while circles and rehash until circles. That is helpful as it empowers you not to need to duplicate similar lines of code ordinarily.
For Example, (C)
Code Screen Shot:
Output:
Parameter Passing and Programming Interface
Parameter Passing:
Parameter passing technique allows to access the value of the local variable in main program and can be updated and used in more the one subprograms. Two type of parameter passing is done.
Pass by reference
Pass by value
For example (C).
Code:
Output:
For Example(C#)
Code:
Output:
• Modularity and programming ‘units’
Modular programming computer programs is a product method that underscores separating the worth of a program into autonomous, tradable modules, to such an extent that each comprises all things required to execute just a single part of the ideal usefulness.
A module interface connects the components which are given and required by the module. The components categorised in the border are discernible by different modules. The execution covers the working code that relates to the OOP and structure programming. Measured writing computer programs is resolutely identified with planned programming and article situated programming, all having a similar objective of reassuring development of expansive programming projects and outlines by deterioration into little pieces.
References
Anon., 2016. flat world solutions. [Online] Available at: https://blog.flatworldsolutions.com/10-differences-agile-waterfall-methodology/[Accessed Feburary ].
Anon., 2018. [Online] Available at: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/enUS/abenformal_parameters_oview.html[Accessed Feburary 2018].
Anon., 2018. [Online] Available at: https://www.totalmetrics.com/consulting-function-points/software-measurement-implementation[Accessed Feburary 2018].
Anon., 2018. [Online] Available at: https://www.softwaretestinghelp.com/what-is-sdlc-waterfall-model/[Accessed Feburary 2018].
Anon., 2018. [Online] Available at: https://www.ics.uci.edu/~ziv/ooad/intro_to_se/tsld008.htm[Accessed 2018].
Anon., 2018. https://irisiri.weebly.com/sequence-selection-and-iteration.html. [Online] Available at: https://irisiri.weebly.com/sequence-selection-and-iteration.html[Accessed Feburary 2018].
We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.
Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.
Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.
Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.
Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.
Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.
We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.
Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.
You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.
Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.
Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.
You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.
You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.
Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.
We create perfect papers according to the guidelines.
We seamlessly edit out errors from your papers.
We thoroughly read your final draft to identify errors.
Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!
Dedication. Quality. Commitment. Punctuality
Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.
We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.
We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.
We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.
We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.