HND Computing Unit 30 Assignment Brief
HND Computing Unit 30 Assignment Brief
Is this an Authorised No
Assignment Brief published by
Pearson? If so, has it been
amended by the Assessor in any
way? Please give details.
(If using the Authorised Assignment Brief
‘off the shelf’ with no amendments,
please answer the question marked * in
the checklist only)
Does each task show which criteria are being addressed? No.
1|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
3|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
Assessor Internal
Verifier
Unit 30: Application Development
Unit(s)
Assignment title
Student’s name
List which assessment Pass Merit Distinction
criteria the Assessor has
awarded.
INTERNAL VERIFIER CHECKLIST
Do the assessment criteria awarded
match those shown in the assignment Y/N
brief?
Is the Pass/Merit/Distinction grade
awarded justified by the assessor’s Y/N
comments on the
student work?
Has the work been assessed
Y/N
accurately?
Is the feedback to the student:
Give details:
• Constructive? Y/N
• Linked to relevant Y/N
assessment criteria? Y/N
• Identifying opportunities for
improved performance? Y/N
• Agreeing actions?
Does the assessment decision need
Y/N
amending?
4|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
5|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
LO2 Use design and development methodologies with tools and techniques associated with the
creation of a business application
LO3 Work individually and as part of a team to plan and produce a functional business application
with support documentation
Pass, Merit & Distinction P5 P6 M3 D3
Descripts
LO4 Evaluate the performance of a business application against its Software Design Document and
initial requirements
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and
grades decisions have been agreed at the assessment board.
6|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
7|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
1. A Cover page or title page – You should always attach a title page to your assignment. Use
previous page as your cover sheet and make sure all the details are accurately filled.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.
1. The font size should be 12 point, and should be in the style of Time New Roman.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No,
and Page Number on each page. This is useful if individual sheets become detached for any
reason.
5. Use word processing application spell check and grammar check function to help editing
your assignment.
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the
body except for the before mentioned compulsory information will result in rejection of
your work.
2. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
8|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
9. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation
and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could
be reduced to A REFERRAL or at worst you could be expelled from the course
9|Page
Pradeeban.A (col/a-064620) Unit-30 application Development
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present
it as my own without attributing the sources in the correct form. I further understand what it
means to copy another’s work.
10 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Submission format
Report:
The submission should be in the form of an individual written report. This should be
written in a concise, formal business style using 1.5 line spacing and font size 12. You are
required to make use of headings, paragraphs and subsections as appropriate, and all
work must be supported with research and referenced using Harvard referencing system.
The recommended word limit is 4000 words, although you will not be penalised for
exceeding the total word limit.
System:
A fully functional business application.
11 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
12 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
The Managing Director of PCW is frustrated by the problems associated with adding
new requirements to the application and getting modifications completed in the
previous software application used in the PC WORLD company due to the software
development company’s usage of traditional waterfall model in their projects.
Therefore, the company currently has moved back to the old paper-based system.
Managing director or PCW has decided that PCW will use a company which is
following a software development methodology based on Agile philosophy to develop
the software for a new order tracking system.
JJLP Software (JJLP) is a software development company. JJLP use SCRUM as their
software development methodology. The Managing Director of PCW has decided to
contract JJLP, on “time and materials” basis, for the development of the new order
tracking system using Scrum development approach. You have been hired as a
software engineer for JJLP Software (JJLP) is a software development company. You
have to complete below tasks in completing the software project for PC World
company.
The new order tracking system will replace the old paper-based system and is likely to
include some of the following functionalities:
The Application Development industry has seen a lot of changes in a relative short period of
time. From both sides of the fence customers looking for software solutions, and the resource
pool of application development talent there has been considerable upheaval over the last
few years.
14 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
The need for better quality control of the software development process has given rise to the
discipline of software engineering, which aims to apply the systematic approach exemplified
in the engineering paradigm to the process of software development.
There are many approaches to software project management, known as software development
life cycle models, methodologies, processes, or models. The waterfall model is a traditional
version, contrasted with the more recent innovation of agile software development.
1.1
2. The waterfall method is a rigid methodology for the development of various plans. It
involves a lot of documentation to be completed in the beginning stage of the process. The
needs and requirements are analyzed at the beginning of the project and no correction can be
made in between. Hence, it creates rigidity in the development process. The waterfall
approach are the predefined sets of strategy which follow sequential steps throughout the
15 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
3. Earlier, the PCW company used to follow the waterfall method which emphasizes quality
testing only after the project was completed and in case the quality was bad, there was a
wastage in resources and time of PC world software company as modifications were not
allowed. The testing step was after the full completion of software which hampered the
developer in correcting the loopholes. Hence, sometimes it could result in the failure of user-
friendly software.
4. The current waterfall approach used by the PCW company does not include the
participation and views of users and feedback from customers because this is an internal
process of the organization which does not seek customer's opinion until the project is
completed. There is no transparency in this approach of waterfall methodology as the
customers are unaware of the process of software development. Hence, they only receive
experience when the project is finished.
5. The problem while using traditional waterfall is that it involves high future uncertainties
that may lead to risky decisions because it follows a rigid structure of rules and regulation to
complete the project. This approach used by the company is only right for short term projects
or ventures. Here, it is not suitable as the
PCW company is working on a long term project which is dynamic in nature as the
requirements of customers are also fast changing in the market.
The problem defining statement and solutions for the PCW company are
PCW company has contracted with JJLP, a software consulting company to resolve the above
issues and order them to make new order tracking systems which will be based on the Agile
method. The new method will help the company in the following ways:
1. Agile is a method that is project-oriented. The testing and development activities work
in parallel, so that mistakes can be corrected on the spot.
16 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
3. The customers are the main focus in the agile method. It focuses on the satisfaction of
customers and hence, improves the defects to make the product or software user-friendly.
The software is tested before final completion just to ensure that it is according to the needs
of the users. New changes are acceptable in future according to the needs of the customers.
4. There is more flexibility in the agile approach as the development process split in sprints
where each sprint is working and meanwhile, it is getting tested side by side just to ensure the
defects and also creating a solution for these defects. It allows for a speedy detection of
defects in process which helps in optimum resource utilization and time-saving.
5. This agile method adopted by the company will reduce the paperwork of the company to a
great extent as there will be an online tracking system which will will allow the users to
check the status of their order and it will be more valuable for the company as to track and
calculate the exact amount of orders that are to be prepared within a particular period of
time.
6. The new order tracking system will be beneficial in increasing the productivity of the
company as there will be more specific data about the orders. Now, the company can track
orders and get details about the product that is ordered, acceptance of order, and the
delivery made. Now, the company has very less chances of missing information about the
sales and the orders made.
17 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Example : The average office spend $2,100 per year to maintain one four-drawer filing
cabinet and it costs $220 to replace a lost document. Multiply this across the organisation and
the cost is staggering.
Errors
One of the largest problems faced by organisations is document errors. When documents are
manually authored with pen and paper, they can be illegible and incomplete causing a
negative flow-on effect. Editing becomes hard labour because changes need to be physically
made or if completely illegible, a new document will need to be created. Information may
need to be tracked down by other employees and with the time passed, they may have
forgotten. Ultimately, this can result in incorrect documents with numerous errors and
therefore affect the client and bottom line.
18 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
A bottleneck might keep the document for so long that forget who had the document in the
first place. Or a document could be misplaced, lost, or, worse, stolen, along the way. When a
bottleneck happens, processes grind to a halt.
Babysitting isn’t just for paper documents, either. When don’t have workflow management
software, digital documents need supervision, too. They have to be delivered from mailbox to
mailbox, or via a file-sharing tool like Dropbox. Or they might even be printed, scanned, and
emailed several times.
When paper-based forms are used, it takes even longer and introduces even more
opportunities for error. Handwriting could be misread. Data could be rekeyed incorrectly.
Forms could be lost or damaged before the information can be processed.
Data entry continues to be a problem when it becomes time to transfer data from forms into
your back-end system. Without the right automated data entry software, even data that is
entered on a web-based form has to be re-entered. In fact, 55% of users still end up rekeying
data from forms, rather than automatically syncing their forms with their back-end systems.
19 | P a g e
It’s the trust that customers and clients have in ability to deliver what you promise. It’s
something that’s extremely hard to build and all too easy to lose.
In an increasingly digitally connected world, people now expect the kind of convenience
speed and efficiency that have been made possible by digital communications.
It’s a standard that a paper-based management setup will always struggle to meet.
A paper-based approach means slower processes, more administrative resources and higher
risk of inefficiency - documents lost, handwritten notes being misread and paperwork
incomplete.
With the viral power of social media, negative feedback, poor ratings and angry comments
can have a devastating impact on a company’s reputation.
It’s an area where digital management methods have a major advantage - allowing checks and
notifications to be automatically integrated into the everyday workflow.
20 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Security issues
Regardless of size, for any organization is important to protect its data and other valuable
assets. One of the biggest information security risks for businesses is paper because printed
documents can be easily lost,
Prone to damage
Manual documents can be easily damaged, lost, misplaced or stolen. A fire or natural disaster
could mean the loss of essential information.
Document transportation
Transporting documents in a paper-based system is quite complicated, slow and inefficient.
Solution
21 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Accessible Anywhere
Users can access a web-based system anywhere. So long as they have an internet connection,
a web browser, and the appropriate login details. This means that users can access the data
they need when they are away from the office. It also brings the possibility of staff working
from home.
22 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Centralized Security
As web apps are installed on web servers, security is controlled by an IT professional. That
avoids sensitive corporate information being held on many local client PCs, which are not as
secure. Employees can access data when they are away from the office via a web application.
So, it is not necessary for data to be held anywhere other than the secure central location.
Increased Efficiency
In most businesses, the deployment of web-based solutions leads to the streamlining of
business processes. Often, paper-based processes can be replaced by workflow-based
solutions. The business process improvements can lead to higher employee productivity and
lower costs.
23 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Web based custom application development can provide businesses with significant cost
savings and productivity improvements. Now that internet access is almost universally
available and internet speeds have significantly improved, applications that previously had to
be client based can now be deployed on the web.
Although this is the case in developed Western countries, it is not the case worldwide. In
some countries, internet access is unreliable. So, major deployment of web-based applications
may still not be possible. International organizations with overseas offices may not yet be
able to take full advantage of web-based solutions.
For domestic organizations, though, web-based systems have a promising future. From web-
based office applications, like content management systems and productivity applications, to
custom web-based software developed specifically for your organization, the foundation of
many future software solutions is likely to be web-based
When switching to a Cloud computing system, all of the company’s documents are housed in
the one place – you just need to do is simply login. The cost of storage will reduce
dramatically, as cloud storage is less costly than physical storage and all documentation is
safe, meaning no document will be damaged or destroyed ever again. Search time will also
decrease because there is the handy search bar available. Type in the relevant keyword, tag or
file number and within a matter of seconds, everything you need will appear.
Collaboration becomes easy when using Cloud computing. Documents can be readily
shared, updates are in real-time, changes can be tracked and all annotations can be made on
the same document, then owned by users. This way of collaboration also gives an equal
opportunity and higher levels of participation by team members.
24 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
PLATFORM HAPPY
Not only is being able to use a less powerful computer (or tablet) a benefit of web apps,
having a different operating system isn’t an issue either. It’s all about the browser. Whether
the user is on Windows XP or 10, Mac OS or Linux, the web app is built for the browser.
True, some browsers don’t play nice with others. However, It’s generally much easier to
code for different browsers than it is for different operating systems. On top of that, the
interface will usually be much more familiar to the user.
25 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Improved Security
The SC Magazine survey mentioned before also brings up another point. Workers aren’t
updating software due to productivity: 60% of the businesses they surveyed are not always up
to date when it comes to their software. The biggest problem that this leads to is security.
Updates are often released to programs just to patch security holes and not just to fix bugs.
The problem is, if the updates never take place, the holes never get patched and the
computers are still vulnerable.
Support
In a perfect world, users would never need to access support. Every program on every
computer would just work perfectly and every user is perfectly knowledgeable. Of course,
that’s not the case. Luckily, the old saying that there is always someone smarter out there can
work to our advantage. Many web apps have built in community support already accessible
online. This allows for the quicker resolution of issues, because the chances of somebody else
having the same problem that has already been fixed are pretty good
26 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
User Tracking
With web apps, there is built-in user tracking. This makes it much easier to figure out what
works with built programs and what doesn’t. Then, it makes improving future versions more
simple. Of course, we already talked about the ease of updating web programs, so developers
can make sure that their improvements are actually being utilised.
Offline Use
Although being able to be used online is a huge advantage, some people are concerned about
the necessity of being connected to the internet. In fact, just because it’s a web app doesn’t
mean it has to be used online. Offline versions can be built just as easily, although some of
the advantages are lost, this does eliminate a certain drawback
27 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
28 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Organizational
Iterative Linear
structure
Involvement of
High Low
clients
Development
Evolutionary delivery Life cycle
model
Traditional model
Model preference Agile model favors adaption
favors anticipation
29 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Reviews and Reviews are done after each Excessive reviews and approvals by
approvals iteration leaders
• to move forward without fear of reaching a sudden standstill.
Agile development model is also a type of Incremental model. Software is developed in
incremental, rapid cycles. This results in small incremental releases with each release
building on previous functionality. Each release is thoroughly tested to ensure software
quality is maintained. It is used for time critical applications. Extreme Programming (XP) is
currently one of the most well known agile development life cycle model.
30 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Determine any areas of risk related to the successful completion of your application.
Developing a real work web application can be really challenging. The developer team must
have very good skills in all the layers from the frontend down to the very backend. This
challenge is even bigger when considering the most common security risks that web
applications can have.
When run the web application threats to IT systems and data include:
• Hardware and software failure - such as power loss or data corruption.
• malware - malicious software designed to disrupt computer operation
• viruses - computer code that can copy itself and spread from one computer to
another, often disrupting computer operations
• spam, scams and phishing - unsolicited email that seeks to fool people into revealing
personal details or buying fraudulent goods
• Human error - incorrect data processing, careless data disposal, or accidental opening
of infected email attachments.
• Database access slowly.
• hackers - people who illegally break into computer systems
• fraud - using a computer to alter data for illegal benefit
• passwords theft - often a target for malicious hackers
• denial-of-service - online attacks that prevent website access for authorized users
• security breaches - includes physical break-ins as well as online intrusion
• Staff dishonesty - theft of data or sensitive information, such as customer details.
• User can’t adjust to the system because they have not IT knowledge.
31 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
3. Employee turnover
Every project has a number of developers working on it. When a developers leaves, he or
she may take critical information with him/her. This can delay, and sometimes derail an
entire project. Ensure you have resources where team members can collaborate and share
knowledge.
4. Breakdown of specification
During the initial phases of integration and coding, requirements might conflict.
Moreover, developers may find that even the specification is unclear or incomplete.
5. Productivity issues
On projects involving long timelines, developers tend to take things easy to begin with. As a
result, sometimes, they lose significant time to complete the project.
6. Compromising on designs
In order to get stuck into the next ‘real’ tasks, developers tend to rush the design-process.
This is a waste of programming hours, as designing is the most critical part of software
development.
7. Gold plating
Developers sometimes like to show off their skills by adding unnecessary features. For
instance, a developer might add Flash to a basic login module to make it look ‘stylish’.
Again, this is a waste of programming hours.
32 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
9. Technical risks
Sometimes software development firms reduce the functionality of the software to
compensate for overruns pertaining to high budgets and scheduling. There is always a
conflict between achieving maximum functionality of the software and peak performance.
In order to compensate for excessive budget and schedule overruns, companies sometimes
reduce the functionality of the software.
the time for the project was initially incorrectly calculated and set;
the project manager does not properly track employees, skills, task status;
the functional features of the final product were not determined in a timely manner;
unexpected and urgent expansion of the project scope;
lack of resources,.
Tips to avoid this software development risk: apply agile methodologies, ensure the
maximum involvement of all team members in planning and estimating, receive feedback at
all stages, starting from the earliest ones, involve the Owner or Stakeholders. Another
solution may be an emergency expansion of the team to increase the speed of development,
however, this can significantly affect the project budget.
33 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
In this case, only flexible risk management can help. However, as practice shows, in case of
serious obstacles, it will not be possible to completely avoid
13 Poor Productivity
Drop-in productivity is also among software development risks. This usually occurs when
working on projects with a long timeline. Engineers motivated at the very beginning by the
end of the project can hardly cope with the tasks. The downside of a long project can be a
waste of time in the early stages when the illusion persists that the deadline is not too soon.
The reasons for poor productivity include:
34 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
14 Poor Management
As statistics show, 32% of projects fail due to poor project management. This concept
usually includes:
One of the consequences of poor project management can be the turnover of employees: key
project developers leave the team, without passing on crucial information on the project to
anyone, this entails delays in development, failure to meet deadlines, and budget.
Therefore, high standards are always set for the project manager. He must combine the traits
and skills of a strategist and tactician, be deeply involved in the project, effectively
communicate with the team, build a strong organizational framework, and implement
elaborate documentation processes.
1.3……………………………………………………………………………………………………….
35 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Other tools are used more or less depending on the language, development methodology,
and individual engineer, often used for a discrete task, like a debugger or profiler. Tools
may be discrete programs, executed separately – often from the command line or may be
parts of a single large program, called an integrated development environment (IDE). In
many cases, particularly for simpler use, simple ad hoc techniques are used instead of a tool,
such as print debugging instead of using a debugger, manual timing (of overall program or
section of code) instead of a profiler, or tracking bugs in a text file or spreadsheet instead of
a bug tracking system.
The distinction between tools and applications is murky. For example, developers use
simple databases (such as a file containing a list of important values) all the time as tools
However a full-blown database is usually thought of as an application or software in its own
right. For many years, computer-assisted software engineering (CASE) tools were sought
after. Successful tools have proven elusive. In one sense, CASE tools emphasized design
and architecture support, such as for UML. But the most successful of these tools are IDEs.
36 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Server-Side Languages/Technologies: Node JS, Python and PHP are the more widely used
languages for Web Development in 2018. The other languages used in web development are
Ruby, C# & ASP.NET
Database: MongoDB is currently popular, with its non-relational database, MySQL is
popular relational database. Oracle, SQL Server, PostgreSQL, Firebase are other database
systems used in web development.
Back-End Frameworks: Express is the popular frame work for JavaScript. Adonis and
Hapi.js are also best frameworks in JavaScript. Frameworks for PHP like Laravel,
CodeIgniter, Symphony and Yii2 are popular. For Python- Django, Flask, Web2py are
widely used frameworks, and for Ruby – Ruby on rails, and for C# – .NET are best
frameworks used.
For Mobile Applications, React Native, Native Script, Ionic, PhoneGap are the leading
frameworks
37 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
ASP.NET is an open-source server side web application framework designed for web
development to produce dynamic web pages developed by Microsoft to allow programmers
to build dynamic web sites, applications and services.
It was first released in January 2002 with version 1.0 of the . NET Framework, and is the
successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the
Common Language Runtime (CLR), allowing programmers to writ ASP.NET code using
any supported .NET language. The ASP. NET SOAP extension framework allows ASP.
NET components to process SOAP messages.
38 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Visual Studio Code is a lightweight but powerful source code editor which runs on your
desktop and is available for Windows, a macOS and Linux. It comes with build support for
JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other
languages (such as C++ .C#. Java. Python. PHP. Go) and runtimes (such as NET and unity )
I found the method how to use MS SQL Server directly from Visual Studio Code. I
don’t need to install a third party software to run SQL query.
MS SQL
39 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Microsoft SQL Server has numerous applications in the business world. The first and most
obvious one is the database is used to store and manage information. However businesses
that hold sensitive customer information such as personal details, credit card information,
and other confidential ty. The system also allows the sharing of data files by information
will ben computers in the same network, a factor that increased reliability. The SQL server
is also used to increase the speed with which data is processed, allowing large operations to
be executed with ease. With the information stored in the database, businesses will have a
reliable backup system.
Crystal Reports
40 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
The main purpose of Crystal Reports is to allow users to pull their desired data from a data
source, such as an Oracle or MS SQL Server database, and present the data in a repeatable
and organized way. Crystal Reports provides you with a powerful, dynamic, and
actionable reporting solution that helps you design, explore, visualize, and deliver reports
via the web or embedded in enterprise
applications.
Using this crystal report covered my application development's reporting part.
41 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Prototype is an early sample of design used to get feedback and rapid experiments with new
ideas.
• Limit the expenses of development
Sketches
Sketching is a drawing, which you could easily with a papers and pens with less cost. Mostly
sketching has used in the early stages of the design process to get new ideas for the product as
well as use to identify the users pain point. Low fidelity sketches can mostly use identifies
user pain points and gets new ideas for the product at early stage. With sketches, you can
rapidly iterate the design with a low cost to make the product more useable.
42 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
. Wireframes
Wireframes are representation of layouts and mostly focused on the layout of the
content. Mostly use gray scale or black and white.
In low fidelity wireframing, you can use tools to create gray scale wireframes, which is
richer way than sketching at the beginning of the design process.
43 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Atom
Atom is an all around text editor and useful software development tools. It is an open-source
that can be used and customized to do anything without the added effort of modifying the
configuration file.
Based on its suitability for the development of management tools we’ve included Atom in
our software development tools category.
Features
Cross-platform editing
Smart autocompletion allows for faster coding
In-built package manager
Comes with 4 UI and 8 syntax themes
Easy to customize and style
44 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
JetBrains
JetBrains is a set of professional software development tools for coding in Java, Kotlin, C#,
C++, Ruby, Python, PHP, JavaScript, and more languages. You can get free access to all
JetBrains IDEs if you are students or teachers. You can verify by several options: your
educational email, ISIC or ITIC card, official document, or with Github pack.
Cloud9 IDE
Sublime Text
Sublime Text is a sophisticated text editor for code, markup, and prose. There’s a lot of
shortcuts that enable you to open files and jump between lines easily. Sublime Text let you
45 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Notepad++
Notepad++ is open source code editor written in C++. It supports various programming
languages running under the Microsoft Windows environment. But is has a few drawbacks.
Here, is a curated list of top 10 alternatives which can replace Notepad++. This list includes
commercial as well as open-source code editors (IDE) with popular features and latest
download link.
jEdit,
jEdit, a code editor program which is written in Java. This open source tool supports
hundreds of plugins and macros. It offers a large collection of plugins maintained by a
worldwide developer team.
Features
Built-in macro language & extensible plugin architecture
Allows copy and paste with an unlimited number of clipboards
You can download plugins with the help of the plugin
manager. Register contents are saved across editing sessions.
Allows auto indent, and syntax highlighting over 200 languages
textMate
TextMate is a versatile plain text editor for mac with unique and innovative features.
The tool offers support for many programming languages, writing prose in structured
formats such as blogging, running SQL queries, writing screenplays, etc.
Features
Auto-Indent for Common Actions
CSS-like Selectors to find the Scope of Actions and Settings
Dynamic Outline for Working With Multiple Files
Function Pop-up for Quick Overview and Navigation
Run Shell Commands from Within a Document
Visual Bookmarks to Jump Between Places in a File
46 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
47 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Downloaded by harshana wijayarathna ([email protected])
PHPDebugbar Specialties
Languages supported: PHP, Ruby, .Net and
Java. PHP versions supported: PHP 5.5 and
above.
Cloud9 IDE
Really interesting 100% online software programming tool with collaborative features for
teams to work together
Waterfall Model:
If you are into software development at some point or the other, you would have bumped
into the Waterfall Model.
Moreover, this methodology also talks about the fact that going back to deal with the
changes is not possible.
48 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Downloaded by harshana wijayarathna ([email protected])
Figure
Advantage
Easy to understand and functional
Simple enough to handle as model is rigid
Saves significant amount of time
Allows for easy testing and analysis
disadvantage
Only matches precise needs
Not applicable for maintenance projects
No option to know possible outcome of a project
Not excellent for long and ongoing projects
Prototype Methodology:
It is a specialized software development procedure that initiates developers towards making
only the sample of the resolution to validate its functional essence to the customers and
make essential changes before creating the authentic final solution.
In fact, the best part of this methodology is that it tends to resolve a set of diversifying
issues occurring with the waterfall method.
49 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Development Methodology:
As an innovative approach, the agile software development methodology is used for
articulating a well-organized project management procedure allowing for recurrent
alterations.
Certainly, such type of a methodology is one theoretical outline for undertaking several
software engineering projects.
Another good thing about it is that it minimizes peril by creating software in short time
boxes, known as iterations, which happen to last from one week to one month.
50 | P a g e
Downloaded by harshana wijayarathna ([email protected])
Pradeeban.A (col/a-064620) Unit-30 application Development
Spiral Model:
Being a highly sophisticated design, it is meant to reduce the early risks in the project.
As per the process going by, the developers initiate on a smaller level and explore the
included risks in it.
Further to this, the developers are intended towards crafting a plan for iterating of the spiral.
The accomplishment of any Spiral Lifecycle model is based on consistent, observant, and
conversant management of the project.
51 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
The foremost aim of this XP model is to reduce the cost of software essentialities.
It is fairly mutual in the XP model that the price of altering the requirements on future stage
in the project can be really whooping.
52 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
This methodology serves towards including the client in the design and expansion of an
application.
53 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
It tends to lay emphasis on the business difficulty rather than methodical details.
Advantage :
Allows for simultaneous congregation and alliance of excessive information.
Produces huge amount of valuable information in short period
Immediate resolving of differences with suitable assistance
Provides forum to explore multiple points
Disadvantage :
Takes excessive amount of time for planning and
scheduling Requires significant investment of time and
effort
Calls for highly trained experts, which is tough to find
(Likewise, KANBAN is a process that helps teams to collaborate and work effectively.)
Basically, this excellent development is suitable for those development projects that are
constantly altering or extremely developing requirements.
The Scrum Software development model initiates with an ephemeral planning, conference
and completes with a concluding review.
This growth methodology is used for prompt development of software that happens to
include a series of iterations to generate required software.
54 | P a g e
Advantage :
Decision making lies in the hands of the team
Business requirement document is considered insignificant
Lightly controlled method empathizing with constant updating
Disadvantage :
The processing method suffers because of wavering costs
Not suitable for big sized projects
Requires highly expert team, which has no place for novices
Advantage
:
Users getting a grip of the software development process
55 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Downloaded by harshana wijayarathna ([email protected])
Functionality deliverables are quick
Offers easy access to end users by the developers
Disadvantage
This methodology is costly to implement
Not suitable for small organizations
Advantage
Moves bigger projects with continuous success
Easiest 5 procedures bring outcome in a better manner
Built on pre-set standards of software development, it is programmed for easy development
Projects that need continuous updates are powered by feature-driven development that
ensures all needs are taken care of.
Results in features that always outshine the inputs
56 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
57 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
When talking about web site creation, the two programs that stand out are Adobe’s
Dreamweaver and Microsoft’s Visual Studio and someone ever will ask which one is the
better program for what they need. The obvious issue that comes to mind before even
opening the box is that Visual Studio is a Microsoft creation.
Anyone that has any experience with computers and their programs knows that Microsoft
hardware and software plays better with other Microsoft toys. This is not to bash on
Microsoft but if you are not using any Microsoft applications then this maybe a turning
point for you. Many people are using Apple hardware when they have intensive graphic
needs, so you might want a program that plays well with any platform, including
Microsoft’s.
For any first timers, Visual Studio is easy to use with its many examples and help section.
Via drag and drop interface, there is total control over servers and the HTML servers, as
well. An easy to read and navigate control panel displays all your server controls. These
are some of the highlights of what the Visual Studio can do for you.
Do need to create and manage console applications, window applications and web
applications? Visual Studio is designed to make this easy for you. Many users have noticed
that Dreamweaver is better utilized in web design and that Visual Studio is better to use for
web development.
58 | P a g e
Dreamweaver and Net Beans are very different products, so I don't think it can be said that
one is better than the other. It really depends what you're trying to do.
Net Beans is an IDE comparable to Eclipse. You can build desktop, mobile, and web apps
in it. Dreamweaver on the other hand is a program aimed at designers, and is meant for
building webpages.
Creating applications is not an easy process, requiring a huge amount of knowledge. This
product from Microsoft Corporation is designed to make this work operational and
convenient by:
59 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Visual Studio IDE for Mac and Windows. Allows creating applications for almost any
platform. Full-fledged development environment with all the tools to create the
programming product.
Visual Studio App Center. Allows to build, deploy, repeat, test, and engage the apps.
Visual Studio Team Services. A great tool for teams.
Visual Studio Code. The easiest app for web and app developers. Works very fast require
lower specifications, supports a lot of additional plugins as well as built-in GitHub
integration.
All the components are very useful for any professional providing Microsoft development
services.
Visual Studio IDE for Mac and Windows. Allows creating applications for almost any
platform. Full-fledged development environment with all the tools to create the
programming product.
60 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Visual Studio includes a lot of flexible tools to build modern web applications and websites.
Besides the Microsoft application development with ASP.NET, you can use almost any
other programming language, such as JavaScript, Node.js, Python, etc.
You are not limited to specific languages and can use any that you’re comfortable and
productive with. Front end developers can switch between HTML, CSS, JavaScript, also
SASS and LESS frameworks. The modern powerful code editor simplifies the coding and
provides fast results.
Software containers
The software containers let you build, deploy, test, and debug the applications with software
containers. Control and add the dependencies to make the software compatible with any
platform or service based on Azure, Azure icons or another online host.
You can provide Microsoft development services using ASP.NET Core or .NET Core on
the computer running any operating system including Mac OS, Windows or Linux. Visual
61 | P a g e
Downloaded by harshana wijayarathna ([email protected])
Pradeeban.A (col/a-064620) Unit-30 application Development
Use the latest web frameworks to increase productivity. You will be able to use jQuery,
Angular, Backbone.js, Bootstrap, Express, Django, and many others. The code editor
features IntelliSense to make the coding on client-side JavaScript and most popular
frameworks based on it.
.NET Core and ASP.NET source codes are available on GitHub and are open source. That
means that any developer can contribute to it and help to improve its work. All you need is
to send a pull request or open an issue. The community is very active and regularly
improves the product.
A developer can use all the popular package managers including Bower, NPM, and NuGet.
Each of them has a number of benefits. For example, NuGet suggests a variety of server-
side .NET libraries, Bower provides the latest JavaScript client-side technologies, and NPM
supports a lot of high-efficient utilities.
Expand functionality
Microsoft Visual Studio supports a lot of third-party extensions to expand the default
functionality. The ecosystem is rapidly growing and regularly offers new solutions.
CodeLens
CodeLens are the hints that appear above your code that provides information about the
used dependencies, the test results, who changed the code, related work items, checkers, etc.
62 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Create mobile apps for Android, iOS, and Windows with your web development skills. The
software allows building the apps with HTML, CSS, JavaScript and other frameworks. This
is possible due to Apache Cordova support.
Cloud-scale
To check how the apps will work in the cloud, use the built-in tools and run the app right
within Visual Studio.
Work with your code efficiently: write, explore, edit, test, deploy and debug with a variety
of great tools. Connect directly to your Git repository from any vendor including GitHub.
Code Map
This feature is useful when working with large codebases. When the code is written by
another development team, it can be complicated and it’s hard for you to debug it. In this
case, the Code Map is extremely useful. When you need to understand the specific
dependencies in the existing code, you can visualize them as a map.
Powerful debugger
Debug the code working with JavaScript, Python, Node.js, C#, Swift, .NET, ASP.NET and
many others. Debug the code locally, virtually, remotely, or even in the cloud.
63 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Within agile approach the steps of web development are mostly simultaneous. All team
members, from decision-makers to designers and content creators should organize meetings
during the early stages of web development. Understanding of project requirements on all
stages by all team members reduces the need for constant emails, calls and meetings
throughout the entire process. Due to agile approach work that took 4-8 months can now be
accomplished much faster.
The typical agile web development process is divided into a series of ‘sprints’. Each sprint
involves discovery, design, development and testing.
Regular Check-ups
In agile development, testing is integrated during the cycle. This means that there are
regular checkups to ensure that the product is working right during the process of
development.
64 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Higher Productivity
The opportunity to better estimate the project provides with a higher productivity.
Reduced Risks
Agile methodology eliminates the chances of complete project failure. This approach
encourages open communication between the customer and web development team and is
great for those who value transparency.
Flexibility
Project requirements and workload are not fixed. Clients have a possibility to change both
these aspects if they find it necessary.
Wrap-up
Web development is much more than making websites or applications. This process
includes further support & maintenance as well as updates and checkups. Our team at
Wishdesk always recommends agile for custom web development projects. This approach
helps to deliver quick and more effective results and provides with long-term project
maintenance.
65 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Usability. As noted above, custom programs don’t have unnecessary functions. This speeds
up the work and allows to optimize processes. In addition, the absence of unnecessary
components accelerates training the staff responsible for working with it. Another reason
why this is convenient is the integration option. If the company used to operate with several
ready-made solutions, now, the developers can integrate them into one system without
losing data.
Flexibility and scalability. Ready-made solutions are usually targeted either at a small
companies or at large enterprises. It’s difficult to find a middle ground, especially if you
don’t know what features might need in the near future. As the business develops, bespoke
software can be adapted to changing needs. Another important point: can easily increase
the number of the system’s users without slowing down its speed.
Long-term benefit. If you use a product with a license fee for each connected user, your
own development will be especially beneficial for you. Even after several months, with
increasing staff, the savings on licensing fees can be very high.
Security. If someone hacks a user account, the information for each customer will be in
danger. Because cracking the individual system requires a targeted attack, there is less
66 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Independence. The intellectual property for the product belongs to are not tied to a specific
supplier who can change his plans anytime. If you aren’t satisfied with the service level, can
change the developers and find more suitable performers, as are the product’s owner.
Competitive advantages. Since use a customized solution, this can give a number of
competitive advantages, such as increasing efficiency, increasing employee and customer
loyalty, and improving other business-relevant factors. The introduction of exclusive
innovations in the product for internal use can help to stay one step ahead of the competitors
A mobile app, developed to attend to these needs, will combine several steps into a single
process to significantly speed them up, as well as automate the transfer and storage of the
data received. If necessary, it is also possible to have the app work in an offline mode
and synchronize the results with the database after being connected to the Internet.
Data on Demand
Another problem that businesses often face is the lack of required data at hand when it is
needed. This is especially true when it comes to an accounting report done manually. In this
case, data acquisition may take a lot of time.
67 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
For example, by using a mobile app, airline customers can check-in for a flight and register
their luggage while standing in the queue. Using a smartphone, insurance companies’
customers can issue comprehensive insurance policies on their own.
Internal Corporate
Tool Internal CRM
There are various messengers, CRM, calculators, and many more management tools for
internal corporate purposes. Companies underestimate the benefits of such solutions for no
reason. Automating processes can save money, increase the efficiency of separate
departments, and even of improve the entire company.
An app developed for a company that provides goods delivery courier services works based
on this principle. It automates delivery order management, accounting, communication with
senders and recipients, as well as partially automates order payments and reciprocal
payments with couriers.
68 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
69 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Responsive design continues to get a lot of attention, but considering how different it
is from the “traditional” way of designing websites, it can be a bit overwhelming for
those designers who have yet to try it.
That’s what happens when you work in online ordering management systems,
like ASP.Net, that make the process of building and publishing websites so easy.
1. Databases
databases
A database is a collection of information that is stored so that it can be retrieved,
managed and updated.
70 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
2. CSS Preprocessors
A CSS preprocessor is basically a scripting language that extends CSS and then
compiles it into regular CSS. Make sure to also check out or in-depth post on Sass vs
Less.
Sass: A very mature, stable, and powerful professional grade CSS extension.
Less: As an extension to CSS that is also backward compatible with CSS. This
makes learning Less a breeze, and if in doubt, lets you fall back to vanilla CSS.
Stylus: A new language, providing an efficient, dynamic, and expressive way to
generate CSS. Supporting both an indented syntax and regular CSS style.
If you are just getting started with a CSS preprocessor you might want to make the
transition easier by first using a 3rd party compiler, such as the ones below.
71 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
72 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
4. Languages / Platforms
73 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
5. web Essentials
74 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Another reason to check out Web Essentials: Scott Hanselman says, "It's the Web
Team's most important feature playground. It's a peek into the future of Visual
Studio."
On the downloads page you'll find Web Essentials versions for Visual Studio 2010,
2012 and 2013. (Note, however, that Web Essentials 2010 offers fewer features than
the newer versions.) There are nightly builds available through GitHub, where you can
also register issues or submit pull requests for contributions.
75 | P a g e
Responsive design continues to get a lot of attention, but considering how different it is
from the “traditional” way of designing websites, it can be a bit overwhelming for those
designers who have yet to try it.
That’s what happens when you work in online ordering management systems, like ASP.Net,
that make the process of building and publishing websites so easy.
1. Databases
databases
A database is a collection of information that is stored so that it can be retrieved, managed
and updated.
76 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
2. CSS Preprocessors
A CSS preprocessor is basically a scripting language that extends CSS and then compiles it
into regular CSS. Make sure to also check out or in-depth post on Sass vs Less.
Sass: A very mature, stable, and powerful professional grade CSS extension. Less:
As an extension to CSS that is also backward compatible with CSS. This makes
learning Less a breeze, and if in doubt, lets you fall back to vanilla CSS.
Stylus: A new language, providing an efficient, dynamic, and expressive way to generate
CSS. Supporting both an indented syntax and regular CSS style.
If you are just getting started with a CSS preprocessor you might want to make the
transition easier by first using a 3rd party compiler, such as the ones below.
77 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
A web application framework is a software framework designed to aid and alleviate some
of the headache involved in the development of web applications and services.
78 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
4. Languages / Platforms
79 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
5. web Essentials
The package includes HTML shortcuts and productivity tools, CSS and LESS tools for
keeping your style sheets under control, extensions for coding with JavaScript, TypeScript,
80 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Another reason to check out Web Essentials: Scott Handelman says, "It's the Web
Team's most important feature playground. It's a peek into the future of Visual Studio."
On the downloads page you'll find Web Essentials versions for Visual Studio 2010, 2012
and 2013. (Note, however, that Web Essentials 2010 offers fewer features than the
newer versions.) There are nightly builds available through GitHub, where you can also
register issues or submit pull requests for contributions.
Agile
Agile approaches in software development are group of software development methods that
speed up the software development process. Basically, agile development-based
methodology is a different way of managing software projects as opposed to other
traditional software approaches. agile approaches constitute a set of exercises used from
software development, developed by experienced software development practitioners
Agile methods are incremental in which the increments are small, the new software product
produced using agile methods is released and made available to customers in less than three
weeks these methods involve the customer in the entire development process in order to
accommodate their changing requirements during the process. Agile methods also minimize
documentation by using internal communications as opposed to formal meetings with
written documents.
81 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Downloaded by harshana wijayarathna ([email protected])
Characteristics of Agile Methodologies are:
• Modularity - this allows the development process to be broken down into specific
• Parsimony - agile processes requires few activities that are necessary to mitigate risks
and achieve their goals. By doing so, they enable system developers to finish their
work within an aggressive schedule,
• Adaptive - risks that may be exposed during Iteration are adapted by agile processes
the cannot be adapted, the activity may be discarded
• Convergent - this states that all the risks worth attacking are actively attacked at the
same time the system is being delivered in increments. This is done to ensure
success of the system in a rapid format
• People oriented - agile approaches are keener on people over the development
process. People are involved during the entire development process
82 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
• . Testing is integrated throughout the project lifecycle- test early and often
• Project managers may be reluctant to accept the risk of the new agile approaches since
they don't have experience on them.
• Many big organizations have their own standards on quality that have to be met for all
the projects. These are likely to be incompatible with agile methods
• Agile approaches work best with high skilled team members. However, many
organizations have people with low skill levels which may not be effective for
agile processes.
83 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Scrum is the type of Agile framework. It is a framework within which people can address
complex adaptive problem while productivity and creativity of delivering product is at
highest possible values. Scrum uses Iterative process.
Silent features of Scrum are:
• Scrum is light-weighted framework
• Scrum emphasizes self-organization
• Scrum is simple to understand
Lifecycle of Scrum:
Figure 1 07-06-2019
84 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Extreme programming (XP) is one of the most important software development framework of
Agile models. It is used to improve software quality and responsive to customer
requirements. The extreme programming model recommends taking the best practices that
have worked well in the past in program development projects to extreme levels.
Good practices needs to practiced extreme programming: Some of the good practices
that have been recognized in the extreme programming model and suggested to maximize
their use are given below:
• Code Review: Code review detects and corrects errors efficiently. It suggests
pair programming as coding and reviewing of written code carried out by a pair of
programmers who switch their works between them every hour.
• Testing: Testing code helps to remove errors and improves its reliability. XP
suggests test-driven development (TDD) to continually write and execute test cases. In
the TDD approach test cases are written even before any code is written.
85 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Scrum Roles
Scrum has three roles: Product Owner, Scrum Master and Team
• Product Owner -The Product Owner should be a person with vision, authority, and
availability. The Product Owner is responsible for continuously communicating the
vision and priorities to the development team. At the same time, Product Owners
must be available to answer questions from the team.
• Scrum Master - The Scrum Master acts as a facilitator for the Product Owner and the
team. The Scrum Master does not manage the team. The Scrum Master works to
remove any impediments that are obstructing the team from achieving its sprint goals.
This helps the team remain creative and productive while making sure its successes
are visible to the Product Owner.
• Team - According to Scrum's founder, "the team is utterly self managing." The
development team is responsible for self organizing to complete work. A Scrum
development team contains about seven fully dedicated members (officially 3-9),
ideally in one team room protected from outside distractions. For software projects, a
typical team includes a mix of software engineers, architects, programmers, analysts,
QA experts, testers, and UI designers. Each sprint, the team is responsible for
86 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
XP is based on the frequent iteration through which the developers implement User Stories.
User stories are simple and informal statements of the customer about the functionalities
needed. A User story is a conventional description by the user about a feature of the required
system. It does not mention finer details such as the different scenarios that can occur. On the
basis of User stories, the project team proposes Metaphors. Metaphors are a common vision
of how the system would work. The development team may decide to build a Spike for some
feature. A Spike is a very simple program that is constructed to explore the suitability of a
solution being proposed. It can be considered similar to a prototype. Some of the basic
activities that are followed during software development by using XP model are given below:
• Coding: The concept of coding which is used in XP model is slightly different from
traditional coding. Here, coding activity includes drawing diagrams (modeling) that will
be transformed into code, scripting a web-based system and choosing among several
alternative solutions.
• Testing: XP model gives high importance on testing and considers it be the
primary factor to develop a fault-free software.
• Listening: The developers needs to carefully listen to the customers if they have to
develop a good quality software. Sometimes programmers may not have the depth
knowledge of the system to be developed. So, it is desirable for the programmers to
understand properly the functionality of the system and they have to listen to the
customers.
• Designing: Without a proper design, a system implementation becomes too
complex and very difficult to understand the solution, thus it makes maintenance
expensive. A
87 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Downloaded by harshana wijayarathna ([email protected])
good design results elimination of complex dependencies within a system. So, effective
use of suitable design is emphasized.
• Feedback: One of the most important aspects of the XP model is to gain feedback
to understand the exact customer needs. Frequent contact with the customer makes the
development effective.
• Simplicity: The main principle of the XP model is to develop a simple system that
will work efficiently in present time, rather than trying to build something that would
take time and it may never be used. It focuses on some specific features that are
immediately needed, rather than engaging time and effort on speculations of future
requirements.
Applications of Extreme Programming (XP): Some of the projects that are suitable
to develop using XP model are given below:
• Small projects: XP model is very useful in small projects consisting of small
teams as face to face meeting is easier to achieve.
• Projects involving new technology or Research projects: This type of projects
face changing of requirements rapidly and technical problems. So XP model is used to
complete this type of projects.
Lifecycle
We have seen so far that React web apps are actually a collection of independent
components which run according to the interactions made with them. Every React
Component has a lifecycle of its own, lifecycle of a component can be defined as the series
of methods that are invoked in different stages of the component’s existence. The
definition is pretty straightforward but what do we mean by different stages? A React
Component can go through four stages of its life as follows.
• Initialization: This is the stage where the component is constructed with the given
Props and default state. This is done in the constructor of a Component Class.
• Mounting: Mounting is the stage of rendering the JSX returned by the render method
itself.
• Updating: Updating is the stage when the state of a component is updated and the
application is repainted.
88 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
React provides the developers a set of predefined functions that if present is invoked around
specific events in the lifetime of the component. Developers are supposed to override the
functions with desired logic to execute accordingly. We have illustrated the gist in the
following diagram.
Figure 2
89 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Downloaded by harshana wijayarathna ([email protected])
and one-third the investment as compared to what SEI (Software Engineering Institute)
CMM Level 3 organization would achieve.
Principles are:
• Everything is changeable.
• Minimalism is essential
The Scaled Agile Framework (SAF) helps businesses address the significant challenges of
developing and delivering enterprise-class software and systems in the shortest sustainable
lead time SAFE synchronizes alignment, collaboration, and delivery for multiple Agile
teams. Scalable and configurable, SAFe allow each organization to adapt it to its own
90 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
• Visualize and limit reduce batch sizes and manage queue lengths
Disciplined Agile Delivery (DAD) is a people first, learning oriented hybrid agile approach
to IT solution delivery. It has risk value delivery lifecycle is goal driven, is enterprise aware,
and is scalable
91 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
• Supporting several delivery Lifecyle’s DAD extend the construction focused life
cycle of Serum to address the end to end delivery recycle from project initiation all
the way to delivering the solution to its end users
• Addressing all aspects of solution delivery DAD includes advice about the techie
practices such as those from extreme Programming (XP) as well as the modeling
documentation, and governance strategies missing from both Scrum and XP.
Kanban
Kanban uses the stages in the software development lifecycle (SDLC) to represent the
different stages in the manufacturing process. The aim is to control and manage the flow of
features (represented by Kanban card) so that the number of features entering the process
matches those being completed
Kanban is an agile methodology that is not necessarily iterative. Processes Nike Scrum have
short iterations which mimic a project lifecycle of a small scale, having a distinct beginning
and end for each iteration, Kanban allows the software be developed in one large
development cycle. Despite this, Kanban is an example of an agile methodology because it
fulfils all twelve of the principles behind the Agile manifesto, because whilst it is not
iterative, it is incremental
92 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
• Start with what you do now Understand current processes as they are actually
practiced and respect existing roles, responsibilities and job titles
Practices
The following practices are activities essential to manage a Kanban system.
Visualize - Kanban systems use mechanism such as a Kanban board to visualize work and
the process it goes through
limit work in progress When you establishments to the amount of work you have in
progress in system and use those limits to guide when to start new items you can smooth out
the flow of work and reduce lead times, Improve quality, and deliver more frequently
Manage flow. The flow of work in a service should maximize value delivery, minimize
lead times and be as predictable as possible. Teams use empirical control through
transparency, inspection and adaption in order to balance these potentially conflicting goals
Make policies explicit Explicit policies help explain a process beyond just the time of
different stages in the workflow. Policies should be sparse, simple, well-defined, visible,
always applied, and readily changeable by the people working on the service
Implement feedback loops- Feedback loops are an essential element in any system looking
to provide evolutionary change The Feedback loops used in Kanban are described in the
Lifecycle section
93 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
Strengths weaknesses
Scrum Effective and efficient Employees lack knowledge
communication among team of Scrum lacks engineering
members One of the best practices Simple to
management practices understand but difficult to
Continuous feedback from master Suitable for small
the customers Produces projects
quality product with
customer satisfaction
Measuring the growth and
productivity of the team and
individual is easier with
daily Scrum meetings and
sprint meetings
Extreme programming Quality product with Lack of documentation Poor
customer satisfaction Can architectural structure Less
easily handle unclear and focus on design Pair
changing requirements programming requires
Pair programming and mutual understanding and
continuous integration common skillset between
improves productivity two programmers
Works well with simple
and small scale projects
94 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
95 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
96 | P a g e
Pradeeban.A (col/a-064620) Unit-30 application Development
M3 Develop a functional business application based on a specific Software Design Document with supportive evidence for u
D2 Evaluate any new insights, ideas or potential improvements to your system and justify the reasons for including/not inclu
M4 Review the performance of your business application against the Problem Definition Statement and initial requiremen
D3 Critically evaluate the strengths and weaknesses of your business application and justify opportunities for improvemen
Strengths: Weaknesses: