Uploaded by Mohamed Ruzaith

unit-30-application-development-assignment-brief compress

advertisement
INTERNAL VERIFICATION – ASSIGNMENT BRIEF
Programme Title:
HND in Compu琀椀ng
Assessor Name:
Miss. Ishani Jayasuriya
Mr. Chathura W. Wickramasinghe
Internal Veri昀椀er Name:
Unit or Component Number and
Title:
Unit 30- Applica琀椀on Development
Assignment title:
Assignment 01- Applica琀椀on Development
Assessment criteria targeted by
this assignment brief:
LO1, LO2, LO3 and LO4
Is this an Authorised Assignment
Brief published by Pearson? If so,
has it been amended by the
Assessor in any way? Please give
details.
No
(If using the Authorised Assignment Brief
‘o昀昀 the shelf’ with no amendments, please
answer the question marked * in the
checklist only)
Has this assignment been
submitted to the Assignment
Checking Service?
Yes
No
No
(If Yes, please keep a copy of the ACS
feedback with this form)
INTERNAL VERIFIER CHECKLIST
Y/N
Are the programme and unit details accurate?
Yes..
*Are clear deadlines for assessment given?
TBC
Is the time frame of an appropriate duration?
-
Is there a suitable vocational scenario or context?
Yes.
Are the assessment criteria to be addressed stated accurately?
Yes.
Does each task show which criteria are being addressed?
No.
Do the tasks meet the assessment requirements of the unit/s?
Yes.
Is it clear what evidence the learner needs to generate?
Yes.
Is it likely to generate evidence that is valid and su昀฀cient?
Yes.
Overall, is the Assignment 昀椀t for purpose?
Yes
√
No
*If ‘No’ is recorded the Internal Veri昀椀er must recommend actions detailing the issues to be addressed. The Assessor and
the Internal Veri昀椀er must then con昀椀rm that the action has been undertaken and that the Assignment Brief is authorised
for use before being issued to learners.
1|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
2|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Target Date
for
Completion
Action required:
(If none then please state n/a)
Date
Action
Completed
General Comments (if appropriate)
Previous assignment is reassessed by rewording the content.
Assignment Brief Authorised for Use:
chathura.windika@eso昀琀.lk
Internal Veri昀椀er signature
Assessor signature
Date
10/7/2020
Date
Lead Internal Veri昀椀er signature (if
Date
appropriate)
3|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Higher Na琀椀onals
Internal veri昀椀ca琀椀on of assessment decisions – BTEC (RQF)
INTERNAL VERIFICATION – ASSESSMENT DECISIONS
BTEC Higher Na琀椀onal Diploma in Compu琀椀ng
Programme 琀椀tle
Assessor
Internal
Veri昀椀er
Unit 30: Application Development
Unit(s)
Assignment 琀椀tle
Student’s name
Pass
List which assessment
criteria the Assessor has
awarded.
Merit
Dis琀椀nc琀椀on
INTERNAL VERIFIER CHECKLIST
Do the assessment criteria awarded match
those shown in the assignment brief?
Y/N
Is the Pass/Merit/Dis琀椀nc琀椀on grade awarded
jus琀椀昀椀ed by the assessor’s comments on the
student work?
Has the work been assessed
accurately?
Y/N
Y/N
Is the feedback to the student:
Give details:
• Construc琀椀ve?
• Linked to relevant assessment
criteria?
• Iden琀椀fying opportuni琀椀es for
improved performance?
• Agreeing ac琀椀ons?
Y/N
Y/N
Y/N
Y/N
Does the assessment decision need
amending?
Y/N
Assessor signature
Date
Internal Veri昀椀er signature
Date
Programme Leader signature (if
required)
Date
Con昀椀rm ac琀椀on completed
Remedial ac琀椀on taken
Give details:
Assessor signature
Date
Internal
Veri昀椀er
Date
4|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
signature
Programme Leader
signature (if
required)
Date
5|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Higher Na琀椀onals - Summa琀椀ve Assignment Feedback Form
Student Name/ID
Pradeeban.A /
COL/A-064620
Unit Title
Unit 30: Application Development
Assignment Number
Assessor
Submission Date
Date
Received 1st
submission
Re-submission Date
Date Received 2nd
submission
Assessor Feedback:
LO1 Produce a So昀琀ware Design Document by analysing a business-related problem and deduce an
appropriate solu琀椀on including a set of ini琀椀al requirements
Pa
erit & Dis琀椀nc琀椀on
P1
P2
M1
D1
Descripts
LO2 Use design and development methodologies with tools and techniques associated with the
crea琀椀on of a business applica琀椀on
P
erit & Dis琀椀nc琀椀on
P3
Descripts
P4
M2
D2
LO3 Work individually and as part of a team to plan and produce a func琀椀onal business applica琀椀on
with support documenta琀椀on
P
erit & Dis琀椀nc琀椀on
P5
P6
M3
D3
Descripts
LO4 Evaluate the performance of a business applica琀椀on against its So昀琀ware Design Document and
ini琀椀al requirements
Pass erit & Dis琀椀nc琀椀on
P7
Descripts
Grade:
M4
D4
Assessor Signature:
Date:
Resubmission Feedback:
Grade:
Assessor Signature:
Date:
Internal Veri昀椀er’s Comments:
Signature & Date:
* Please note that grade decisions are provisional. They are only con昀椀rmed once internal and external modera琀椀on has taken place and
grades decisions have been agreed at the assessment board.
6|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Pearson Higher Na琀椀onals in
Compu琀椀ng
Unit 30: Applica琀椀on Development
Assignment 01
7|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
General Guidelines
1. A Cover page or 琀椀tle page – You should always a琀琀ach a 琀椀tle page to your assignment. Use
previous page as your cover sheet and make sure all the details are accurately 昀椀lled.
2.
A琀琀ach this brief as the 昀椀rst sec琀椀on of your assignment.
3. All the assignments should be prepared using a word processing so昀琀ware.
4. All the assignments should be printed on A4 sized papers. Use single side prin琀椀ng.
5. Allow 1” for top, bo琀琀om , right margins and 1.25” for the le昀琀 margin of each page.
Word Processing Rules
1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Le昀琀 jus琀椀fy all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer func琀椀on 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 applica琀椀on spell check and grammar check func琀椀on to help edi琀椀ng
your assignment.
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory informa琀椀on. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before men琀椀oned compulsory informa琀椀on will result in rejec琀椀on of your
work.
2. Carefully check the hand in date and the instruc琀椀ons given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough 琀椀me 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 琀椀me.
5. You must take responsibility for managing your own 琀椀me e昀昀ec琀椀vely.
6. If you are unable to hand in your assignment on 琀椀me and have valid reasons such as illness,
you may apply (in wri琀椀ng) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8|Page
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
8. Non-submission of work without valid reasons will lead to an automa琀椀c RE FERRAL. You will
then be asked to complete an alterna琀椀ve assignment.
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 cita琀椀on
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 applica琀椀on Development
0
0
Student Declara琀椀on
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present
it as my own without a琀琀ribu琀椀ng the sources in the correct form. I further understand what it
means to copy another’s work.
1. I know that plagiarism is a punishable o昀昀ence because it cons琀椀tutes the昀琀.
2. I understand the plagiarism and copying policy of Edexcel UK.
3. I know what the consequences will be if I plagiarise or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspect of my program, will be my
own, and where I have made use of another’s work, I will a琀琀ribute the source in the correct
way.
5. I acknowledge that the a琀琀achment of this document signed or not, cons琀椀tutes a binding
agreement between myself and Pearson, UK.
6. I understand that my assignment will not be considered as submi琀琀ed if this document is not
a琀琀ached to the assignment.
Student’s Signature:
(Provide E-mail ID)
Date:
(Provide Submission Date)
10 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Higher Na琀椀onal Diploma in Compu琀椀ng
Assignment Brief
Student Name /ID Number
Unit Number and Title
Unit 30: Application Development
Academic Year
Unit Tutor
Assignment Title
Issue Date
Submission Date
IV Name & Date
Submission format
Report:
The submission should be in the form of an individual wri琀琀en report. This should be
wri琀琀en 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 subsec琀椀ons 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 func琀椀onal business applica琀椀on.
Your research should be referenced using the Harvard referencing system.
Unit Learning Outcomes:
LO1: Produce a Software Design Document by analysing a business-related
problem and deduce an appropriate solution including a set of initial
requirements.
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.
LO4: Evaluate the performance of a business application against its Software Design
Document and initial requirements.
11 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Assignment Brief and Guidance:
12 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Scenario
PC World (PCW) is a medium-sized company that sells over 50 di昀昀erent types of
computer products. The company has grown steadily in the last 02 years mainly due
its popularity over the Internet. They are 昀椀nding it increasingly di昀฀cult to cope up
with all the paperwork in the manual work昀氀ow associated with tracking orders due to
the increase of number of orders and lack of a so昀琀ware system.
The Managing Director of PCW is frustrated by the problems associated with adding
new requirements to the applica琀椀on and ge琀�ng modi昀椀ca琀椀ons completed in the
previous so昀琀ware applica琀椀on used in the PC WORLD company due to the so昀琀ware
development company’s usage of tradi琀椀onal 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 so昀琀ware development methodology based on Agile philosophy to develop
the so昀琀ware for a new order tracking system.
JJLP So昀琀ware (JJLP) is a so昀琀ware development company. JJLP use SCRUM as their
so昀琀ware development methodology. The Managing Director of PCW has decided to
contract JJLP, on “琀椀me and materials” basis, for the development of the new order
tracking system using Scrum development approach. You have been hired as a
so昀琀ware engineer for JJLP So昀琀ware (JJLP) is a so昀琀ware development company. You
have to complete below tasks in comple琀椀ng the so昀琀ware 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 func琀椀onali琀椀es:
•
•
•
•
•
Receive a sales order via telephone, or email – carried out by an Order
Handling Clerk.
Check stock in a warehouse – carried out by an Order Handling Clerk.
Create an acknowledgement copy of the sales order with a delivery date a昀琀er
the order has been con昀椀rmed with the warehouse – carried out by a
Warehouse Opera琀椀ve.
Create an acknowledgement copy of the sales order sta琀椀ng the item is out of
stock and the date it will be available a昀琀er the order has been con昀椀rmed with
the warehouse – carried out by a Warehouse Opera琀椀ve.
Credit-check customers and reject them if they are not creditworthy – carried
out by an Order Handling clerk.
Create a daily report of orders that have been dispatched – carried out by the
Produc琀椀on Manager.
• Create an invoice for business customers a昀琀er the delivery – carried out by the
Chief Accountant.
• Accept credit card payment from domes琀椀c customers a昀琀er the order has been
con昀椀rmed with the warehouse - carried out by an Order Handling Clerk.
13 | P a g e
Pradeeban.A (col/a-064620) Unit-30 applica琀椀on Development
•
0
0
Interdiction of application development
Application development involves creating a computer program, or set of programs to
perform tasks, from keeping track of inventory and billing customers to maintaining
accounts, speeding up business process and, in fact, even improving application effectiveness.
Unlike vanilla programming, application development involves higher levels of responsibility
(particularly for requirement capturing and testing).
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.
application development t is the process of conceiving, specifying, designing, programming,
documenting, testing, and bug fixing involved in creating and maintaining applications,
frameworks, or other software components. Software development is a process of writing and
maintaining the source code, but in a broader sense, it includes all that is involved between
the conception of the desired software through to the final manifestation of the software,
sometimes in a planned and structured process. Therefore, software development may include
research, new development, prototyping, modification, reuse, re-engineering, maintenance, or
any other activities that result in software products.
14 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
The software can be developed for a variety of purposes, the three most common being to
meet specific needs of a specific client/business (the case with custom software), to meet a
perceived need of some set of potential users (the case with commercial and open source
software), or for personal use (e.g. a scientist may write software to automate a mundane
task). Embedded software development, that is, the development of embedded software, such
as used for controlling consumer products, requires the development process to be integrated
with the development of the controlled physical product. System software underlies
applications and the programming process itself, and is often developed separately.
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
Problem define statement
Business related problems which PCW company is facing are
1. As the company has grown much in the last 2 years, it has become difficult for the
company to handle the data related to customer's information and orders. Earlier, the
company used the waterfall method for the development of an order tracking system which
has proved to be inefficient.
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 applica琀椀on Development
0
0
process. Hence, it is difficult to skip any step of the process in between and the next process
can not be started until the previous gets finished.
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 userfriendly 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 applica琀椀on Development
0
0
2. The developer will use Agile methodology which divides the project in various sprints that
are independent of one another. So, any process can be carried out independently of other
processes. This will provide flexibility in the process.
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.
Problems of Paper based systems at companies
Storage and accessibility
The physical space paperwork can take up is significant and will only continue to grow as
time goes on. The centralized office may no longer be able to hold all documentation and will
17 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
result in storage in different rooms, building or locations. This will slow down accessibility
thus productivity, result in damage or lost documents and increase storage costs.
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.
Limited collaboration and double handling
Team collaboration on documents becomes challenging and time consuming when working
with paper. Multiple copies need to be printed, all ending up with their separate annotations
which then still need to be changed on the initial document. Once the initial document is
updated, more copies need to be printed, approved and then filed away. This lengthy process
slows down staff with their current workload, which there is no time for.
Document Management Problem
Whether using paper documents biggest problem arises when you need to put these
documents through business processes. It’s a common problem—in fact, 53% of workers are
looking for a simple and robust way to sign and route internal documents.
Routine business processes include: approving, reviewing, onboarding, and contracting.
Essentially any time you need to route a document from Point A to Point B and so on, it
requires a process.
18 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Without workflow management software, have to manually route and track documents
through a process. This is often known as “babysitting the documents.” It’s a huge pain, and
it taxes time. And if you leave a document unattended, you risk losing it or introducing a
bottleneck.
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.
Document Management Problem
biggest problem is data entry—both entering data on a form initially and rekeying it into your
back-end systems later on.
Without automated data entry software, data entry is a manual and repetitive process.
staff, customers, and vendors routinely enter data onto a form for organization. However,
there are certain fields they have to fill out each time, like name, company, and so on. It gets
redundant, and it takes up a lot of their time. Plus, they could easily mistype something and
the form could move along in the process without getting corrected—or without getting
corrected until it’s too late.
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
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Reputational damage
It’s a cost that’s not easy to quantify but is critically important for the competitiveness of any
field services business…reputation.
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.
Heightened compliance risks
A major risk faced by all field service businesses is non-compliance. Services need to be fast
and efficient but this cannot come at the cost of safety or adherence to laws and regulations.
Compliance is a challenging area to control when paper-based management methods are
being used. There’s a dangerous tendency for compliance measures to be viewed as being
needless paperwork chores.
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 applica琀椀on Development
0
0
Scenario
PC World (PCW) is a medium-sized company that sells over 50 di昀昀erent types of
computer products. The company has grown steadily in the last 02 years mainly due
its popularity over the Internet. They are 昀椀nding it increasingly di昀฀cult to cope up
with all the paperwork in the manual work昀氀ow associated with tracking orders due to
the increase of number of orders and lack of a so昀琀ware system.
The Managing Director of PCW is frustrated by the problems associated with adding
new requirements to the applica琀椀on and ge琀�ng modi昀椀ca琀椀ons completed in the
previous so昀琀ware applica琀椀on used in the PC WORLD company due to the so昀琀ware
development company’s usage of tradi琀椀onal 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 so昀琀ware development methodology based on Agile philosophy to develop
the so昀琀ware for a new order tracking system.
JJLP So昀琀ware (JJLP) is a so昀琀ware development company. JJLP use SCRUM as their
so昀琀ware development methodology. The Managing Director of PCW has decided to
contract JJLP, on “琀椀me and materials”
0
0basis, for the development of the new order
tracking system using Scrum development approach. You have been hired as a
so昀琀ware engineer for JJLP So昀琀ware (JJLP) is a so昀琀ware development company. You
have to complete below tasks in comple琀椀ng the so昀琀ware 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 func琀椀onali琀椀es:
Receive a sales order via telephone, or email – carried out by an Order
Handling Clerk.
• Check stock in a warehouse – carried out by an Order Handling Clerk.
• Create an acknowledgement copy of the sales order with a delivery date a昀琀er
the order has been con昀椀rmed with the warehouse – carried out by a
Warehouse Opera琀椀ve.
• Create an acknowledgement copy of the sales order sta琀椀ng the item is out of
stock and the date it will be available a昀琀er the order has been con昀椀rmed with
the warehouse – carried out by a Warehouse Opera琀椀ve.
• Credit-check customers and reject them if they are not creditworthy – carried
out by an Order Handling clerk.
• Create a daily report of orders that have been dispatched – carried out by the
Produc琀椀on Manager.
• Create an invoice for business customers a昀琀er the delivery – carried out by the
Chief Accountant.
• Accept credit card payment from domes琀椀c customers a昀琀er the order has been
con昀椀rmed with the warehouse - carried out by an Order Handling Clerk.
13 | P a g e
Pradeeban.A (col/a-064620) Unit-30 applica琀椀on Development
•
0
0
Interdiction of application development
Application development involves creating a computer program, or set of programs to
perform tasks, from keeping track of inventory and billing customers to maintaining
accounts, speeding up business process and, in fact, even improving application effectiveness.
Unlike vanilla programming, application development involves higher levels of responsibility
(particularly for requirement capturing and testing).
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.
application development t is the process of conceiving, specifying, designing, programming,
0
0
documenting, testing, and bug fixing involved in creating and maintaining applications,
frameworks, or other software components. Software development is a process of writing and
maintaining the source code, but in a broader sense, it includes all that is involved between
the conception of the desired software through to the final manifestation of the software,
sometimes in a planned and structured process. Therefore, software development may include
research, new development, prototyping, modification, reuse, re-engineering, maintenance, or
any other activities that result in software products.
14 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
The software can be developed for a variety of purposes, the three most common being to
meet specific needs of a specific client/business (the case with custom software), to meet a
perceived need of some set of potential users (the case with commercial and open source
software), or for personal use (e.g. a scientist may write software to automate a mundane
task). Embedded software development, that is, the development of embedded software, such
as used for controlling consumer products, requires the development process to be integrated
with the development of the controlled physical product. System software underlies
applications and the programming process itself, and is often developed separately.
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
Problem define statement
Business related problems which PCW company is facing are
1. As the company has grown much in the last 2 years, it has become difficult for the
company to handle the data related to customer's information and orders. Earlier, the
company used the waterfall method for the development of an order tracking system which
has proved to be inefficient.
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 applica琀椀on Development
0
0
process. Hence, it is difficult to skip any step of the process in between and the next process
can not be started until the previous gets finished.
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 userfriendly software.
0 the PCW
0
4. The current waterfall approach used by
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 applica琀椀on Development
0
0
2. The developer will use Agile methodology which divides the project in various sprints that
are independent of one another. So, any process can be carried out independently of other
processes. This will provide flexibility in the process.
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 0data about
0 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.
Problems of Paper based systems at companies
Storage and accessibility
The physical space paperwork can take up is significant and will only continue to grow as
time goes on. The centralized office may no longer be able to hold all documentation and will
17 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
result in storage in different rooms, building or locations. This will slow down accessibility
thus productivity, result in damage or lost documents and increase storage costs.
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.
Limited collaboration and double handling
Team collaboration on documents becomes challenging and time consuming when working
with paper. Multiple copies need to be printed, all ending up with their separate annotations
which then still need to be changed on the initial document. Once the initial document is
updated, more copies need to be printed, approved and then filed away. This lengthy process
slows down staff with their current workload, which there is no time for.
Document Management Problem
Whether using paper documents biggest problem arises when you need to put these
documents through business processes. It’s a common problem—in fact, 53% of workers are
looking for a simple and robust way to sign and route internal documents.
Routine business processes include: approving, reviewing, onboarding, and contracting.
Essentially any time you need to route a document from Point A to Point B and so on, it
requires a process.
0
0
18 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
Without workflow management software, have to manually route and track documents
through a process. This is often known as “babysitting the documents.” It’s a huge pain, and
it taxes time. And if you leave a document unattended, you risk losing it or introducing a
bottleneck.
A bottleneck might keep the document for so long that forget who had the document in the
0
0
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.
Document Management Problem
biggest problem is data entry—both entering data on a form initially and rekeying it into your
back-end systems later on.
Without automated data entry software, data entry is a manual and repetitive process.
staff, customers, and vendors routinely enter data onto a form for organization. However,
there are certain fields they have to fill out each time, like name, company, and so on. It gets
redundant, and it takes up a lot of their time. Plus, they could easily mistype something and
the form could move along in the process without getting corrected—or without getting
corrected until it’s too late.
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
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Reputational damage
It’s a cost that’s not easy to quantify but is critically important for the competitiveness of any
field services business…reputation.
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.
0
0
With the viral power of social media, negative feedback, poor ratings and angry comments
can have a devastating impact on a company’s reputation.
Heightened compliance risks
A major risk faced by all field service businesses is non-compliance. Services need to be fast
and efficient but this cannot come at the cost of safety or adherence to laws and regulations.
Compliance is a challenging area to control when paper-based management methods are
being used. There’s a dangerous tendency for compliance measures to be viewed as being
needless paperwork chores.
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 applica琀椀on Development
0
0
These benefits help to minimise risks and can boost an organisation’s competitiveness when
tendering for contracts.
Lack of storage space
Paper documents can take up a significant amount of space, and the quantity of paper will
increase day by day.
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
The Benefits of Web-Based Systems
Web based applications used to be very limited in functionality. However, advances in
technology, security, and internet speeds have greatly increased the potential scope of web0
0
based systems. Today, we have web-based business accounting systems, web-based CRM
systems, a web-based Microsoft Office, and more. Web-based applications offer some
significant advantages over native, client-based software. Here are just some of the benefits
of web-based apps for business.
21 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
What is a Web Based System?
0 is accessed
0
A web-based system is an application that
via HTTP. The term web-based is
usually used to describe applications that run in a web browser. It can, though, also be used to
describe applications that have a very small component of the solution loaded on the client
PC. The host server for a web-based system could be a local server, or it could be accessed
via the internet.
Lower Development Costs
A web-based application runs in a web browser. That means that a single, responsive web
application can be used across multiple device types. Although web apps will need to be
tested on different browsers, there is no need to test them on different operating systems. This
makes development and testing much easier. It cuts development costs and reduces
development time.
Easy Installation and Maintenance
Unlike traditional software that is loaded on each device, web applications run from a host
server. There is no installation on local machines. Software upgrades are all completed
centrally. That reduces the costs of installing and upgrading software. It also ensures that all
users are always using the same version of the software.
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.
Easy Data Sharing and Collaboration
22 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
The sharing of data and collaborating on projects is made much easier with web-based
systems. Data is stored in one central location, so users can share data and work together on
projects. It is also easier to integrate web-based systems than isolated desktop applications.
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.
Reduced Hardware Costs
Web-based systems can eliminate the need for powerful client PCs. Processing is carried out
0 engineered
0
on the host server. The host server can be
to efficiently service simultaneous, peak
demand. So, the storage, processor, and memory requirements for client PCs can be reduces.
Taken across an entire organization, this can represent a large cost saving for some
businesses.
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.
Adaptable to Changing Workloads
The deployment of web-based applications requires no software loading on the client PC. All
that is needed is the setting up of a new user and the relevant secure access controls. This can
be a major benefit for growing businesses, or for seasonal businesses. Users can be added or
removed very quickly.
Greater Availability of Information
Web-based systems make it easier to provide access to real-time information. The paper
reports that might take days to prepare and distribute can be replaced on online reports and
23 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
digital dashboards. That can improve the quality and the speed of decision making, right
across an organization.
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 webbased 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
0 bar0available. Type in the relevant keyword, tag or
decrease because there is the handy search
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 applica琀椀on Development
0
0
benefits of web based system
NO MORE UPDATING ISSUES
According to a study from SC Magazine: [tweet box design=”default”]Small businesses are
spending a ridiculous amount of time each week on updating software.[/tweet_box] Well,
they don’t say “ridiculous” exactly but they do report that 11 hours a week is normal. Talk
about a waste of productivity. When a desktop software update is rolled out, it needs to be
installed on every single machine that the program is found on. Often, this has to be done
before any more work collaboration. That’s a huge reason developers are migrating towards
web application development software- they only need to roll out one update to the app,
rather than installing it individually on multiple devices.
LESS MONEY, MORE POWER
When it comes to desktop-based custom software application development, consideration has
to be given to the power of the machines that will be running. Sometimes a rollout of a
demanding new software program can require a complete hardware overhaul too. That’s a
huge expense. However, when web apps are used, they can be used from almost any device
with a browser. The computing power is coming from the server, which cuts down on
necessary on-site hardware requirements.
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.
QUICK DEVELOPMENT CYCLES
Every developer has their preferred language, no matter where they are. Whether they handle
software development in Perth like Red Rock Software or across the globe, some people just
Pradeeban.A (col/a-064620)
0
0
Unit-30 applica琀椀on Development
25 | P a g e
work better in certain languages. In general, though, web based languages like HTML,
JavaScript, and CSS are easier to code in and develop quicker results- and that’s what is used
in order to build the majority of web apps. On top of that, there are even frameworks in place
to make the job even easier.
Improved Security
The SC Magazine survey mentioned before
0 also
0 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.
The Flexibility of the Internet
The desk and chair aren’t the same as they used to be. The office isn’t either. Web apps offer
the flexibility of access wherever there is internet. Employees aren’t chained to their desks
like they once were. According to a study by Global Workplace Analytics, employees of
Fortune 1000 companies around the world are not at their desk 50-60% of the time. With web
apps, they can have access to the office from anywhere.
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
Higher Usage Rates
People are spending less time browsing on the internet and more time using apps connected
to the web. A study from Flurry Analytics shows that apps are taking control of 86% of the
26 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
time that users are spending on their phones. With web apps, users just log on and use it.
They don’t have to worry about downloading and installing, hoping that it works. It’s instant
use.
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
Customisation for different devices
0
0
Content within web-based applications can be easily customised for use on various devices,
such as mobile. This makes the application user-friendly, and pleasant to use since the
presentation of information can be altered accordingly. In fact, it is actually easier to
customise web-based applications than it is for standard desktop applications. Web-based
software can also be responsive to change based on browser. This supports mobile working
and ensures employees have the software at their fingertips whenever required.
Integration with other systems
Web-based applications give a far greater ability to integrate with other systems than desktop
applications. Localised software is isolated compared to web-based applications which are
significantly more interoperable. This is because web applications can be linked together
more easily than two completely separate systems.
27 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Advantages of Agile model:

Customer satisfaction by rapid, continuous delivery of useful software.

People and interactions are emphasized rather than process and tools. Customers,
developers and testers constantly interact with each other.

Working software is delivered frequently (weeks rather than months).

Face-to-face conversation is the best form of communication.

Close, daily cooperation between business people and developers.

Continuous attention to technical excellence and good design.

Regular adaptation to changing circumstances.

Even late changes in requirements are welcomed.
Listed below are a few disadvantages of Agile:

In case of some software deliverables, especially the large ones, it is difficult to assess
the effort required at the beginning of the software development life cycle.

There is lack of emphasis on necessary designing and documentation.

The project can easily get taken off track if the customer representative is not clear
what final outcome that they want.

Only senior programmers are capable of taking the kind of decisions required during
the development process. Hence it has no place for newbie programmers, unless
combined with experienced resources.
Agile Developments also fails at times due to Unrealistic Expectations – Agile actually is and
what it can help you achieve. Agile is commonly believed to be a set a practices, processes
and tools, when in fact, Agile is really more of a mind-set and culture.
When to use Agile model:

When new changes need to be implemented. The freedom agile gives to change is
very important. New changes can be implemented at very little cost because of the
frequency of new increments that are produced.

To implement a new feature the developers need to lose only the work of a few days,
or even only hours, to roll back and implement it.

Unlike the waterfall model in agile model very limited planning is required to get
0
0
started with the project. Agile assumes that the end users’ needs are ever changing in a
dynamic business and IT world. Changes can be discussed and features can be newly
28 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
effected or removed based on feedback. This effectively gives the customer the
finished system they want or need.

Both system developers and stakeholders alike, find they also get more freedom of
0
0 developed in a more rigid sequential way.
time and options than if the software
was
Having options gives them the ability to leave important decisions until more or better
data or even entire hosting programs are available; meaning the project can continue
Difference between traditional and agile project methodology
Characteristics
Agile approach
Traditional approach
Iterative
Linear
Scale of projects
Small and medium scale
Large-scale
User requirements
Interactive input
Organizational
structure
Involvement of
clients
Development
model
Customer
involvement
Escalation
management
Model preference
Product or process
Test
Clearly defined before
implementation
High
Low
Evolutionary delivery
Life cycle
Customers are involved from
Customers get involved early in the
the time work is being
project but not once the execution
performed
has started
When problems occur, the
entire team works together to
resolve it
Agile model favors adaption
Escalation to managers when
problem arise
Traditional model favors
anticipation
Less focus on formal and
More serious about processes than
directive processes
the product
Comprehensive test planning
Tests are planned one sprint at a
29 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
documentation
Effort estimation
time
Scrum master facilitates and
the team does the estimation
Project manager provides estimates
and gets approval from PO for the
entire project
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.
0
0
30 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
1.2
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 or0 sensitive
0 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 applica琀椀on Development
0
0
Estimation and scheduling
The unique nature of individual software projects creates problems for developers and
managers in estimating and scheduling development time.
2. Sudden growth in requirements
As a project progresses, issues that are not identified earlier can create a last-minute hurdle
to meeting deadlines. and anticipate the worst-case or heaviest-use scenario.
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 applica琀椀on Development
0
0
8. Procedural risks
Day-to-day operational activities might hamper due to improper process implementation,
conflicting priorities, or a lack of clarity in responsibilities.
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
0
0and schedule overruns, companies sometimes
reduce the functionality of the software.
10. Unavoidable risks
These include changes in government policy, the obsolescence of software or other risks
that cannot be controlled or estimated. As the field of software development becomes more
and more complex, the risks associated with it have intensified. It is vital that development
firms focus on strategic planning to mitigate such risks.
11.Bad Timing
Speed matters. In a highly competitive environment, one day can mean big profits or big
setbacks. Scheduling problems can arise for a variety of reasons, for example:
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 applica琀椀on Development
0
0
12.Poor Code Quality and Technical Risks
Technical risks in software development are often a pitfall, something that is not immediately
noticeable but with serious negative consequences. In an effort to get an innovative product,
companies often require the use of cutting-edge technologies, which themselves can have a
number of significant disadvantages. However, this is not the only reason that increases the
risks:

lack of professionalism and knowledge of team members; constant changes in
software requirements;

the technology used does not have a sufficient level of development and community
support (it cannot provide the necessary functionality);

too complex multi-part project;

the implementation of project modules (in, for example, an existing platform or
application) turned out to be more difficult than expected.
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
0
0
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:

poor project management

incorrectly chosen methodology

incorrectly matched team members.
34 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Tips to this type of risk are hidden in their reasons: using agile methodologies allows to
maintain the productivity and motivation of all team members throughout the project since
the processes are divided into shorter periods of time. In addition, it is an opportunity for the
project manager to mentor and coach the team, which also helps to increase and maintain a
high level of developer involvement. The Product Owner will also be more informed about
the state of tasks and will be able to observe the project.
14 Poor Management
As statistics show, 32% of projects fail due to poor project management. This concept
usually includes:

poor communication and interaction within the team;

insufficient qualification level of PM;

lack of leadership and analytical skills;

poor risk management in software development.
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……………………………………………………………………………………………………….
0
0
35 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
2.1
0
Software development tools
0
A programming tool or software development tool is a computer program that software
developers use to create, debug, maintain, or otherwise support other programs and
applications. The term usually refers to relatively simple programs, that can be combined
together to accomplish a task, much as one might use multiple hand tools to fix a physical
object. The most basic tools are a source code editor and a compiler or interpreter, which are
used ubiquitously and continuously.
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.
1. Front
End Web Development
36 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
HTML and CSS: HTML, CSS are the building blocks for web development. Their
Frameworks like Bootstrap and Materialize are most widely used in web development.
Twitter Bootstrap is popular for its Responsive design and Flexbox and CSS Grid System
are also trending topics in CSS, and they are used without any framework to develop
responsive websites.
Another trending development technology is Motion UI. It keeps simplicity to a site. Since a
large number of web users, today got tired of GLFs and flashing advertisements. Web
developers are using its animations that will allow adding styling and make your site unique
among thousands of others with static UI
JavaScript and its Front-End Frameworks like Angular and React and Vue.js are currently
most trending frameworks that need to be used in your project.
CSS Frameworks like SASS or LESS. SASS is preferable and widely used than LESS.
Image Editing- Photoshop, GIMP.
2. Back End Web Development
0
0
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 applica琀椀on Development
0
0
Visual studio with
ASP.NET
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.
ASP.NET's successor is ASP.NET Core. It is a reimplementation of ASP. NET as a modular
0
0
web framework. together with other frameworks like Entity Framework. The new
framework uses the new open-source . NET Compiler Platform (codename "Roslyn") and is
cross platform. ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages (a platform
using only Razor pages) have merged into unified MVC 6,
38 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
Recently started to use a ASP.net for application development work. I use MS SQL Server
0
0
Express Edition for developing Project in ASP.net Core.
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 applica琀椀on Development
0
0
The SQL Server is a relational database management system from Microsoft. The system is
designed and built is to manage and store information. The system supports various business
intelligence operations. analytics operations, and transaction processing. The information
stored on the server is stored in the relational database. However, since the system is much
more than a database, it also comprises of a management system. SQL stands for Structured
Query Language, a computer language that manages and administers the server. There are
many Versie of the SQL ever, each subsequent version being an improved model of its
predecessor.
0
0
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 applica琀椀on Development
0
0
Crystal Reports is a business intelligence application used to create custom reports from a
variety of data sources. The package includes the major features needed for a business to
create a database reporting environment, such as data access, report design/formatting,
report viewing, and application integration. This allows the application to be enterprisewide, available to users, and to support data reporting from report creation to upload and
execution.
Crystal Reports Features
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.
0
0
Using this crystal report covered my application development's reporting part.
41 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Prototype
Prototype is an early sample of design used to get feedback and rapid experiments with new
ideas.
•
Limit the expenses of development
•
Test the design concepts
•
Test the usability of the product
Prototypes typically created with a mixture of sketches, wireframes or mockups, prototypes
depending on the project timelines and these are representations of the design. This can use
as a mechanism to get user feedback early and quickly on your design where you can iterate
on making your product a better one.
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.
0
Pradeeban.A (col/a-064620)
0
Unit-30 applica琀椀on Development
42 | P a g e
Sketch is a very popular tool within the design community that enables you to create hi-fi
interfaces and prototypes. One of the great features is Symbols, where you can design UI
assets and elements for reuse. This helps create design systems and keep your interfaces
consistent. From there, you can easily export your design into a clickable prototype. If you
are an In Vision user, make sure you check out the Craft plugin
0
0
. 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 applica琀椀on Development
0
0
NetBeans
NetBeans - web development tool
NetBeans is an open-source IDE that allows you to develop desktop, mobile, and web
applications.
The tool is written in Java and allows you to quickly and easily create and develop
applications.
NetBeans is our top choice in the drag and drop software development tools category and
web developers love it.
Features
Tools for JavaScript, HTML5 and CSS3
Community provided plugins
Ability to write buga free code
Fast code editing
Supports multiple languages
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.
0
0
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
Visual Studio Code Editor
Some of the elements developers love about GitKraken are also present in Visual Studio
Code, a code editor by Microsoft. Offering an intuitive UI with a prominent sidebar,
44 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
powerful defaults, discoverable extensions, and more, VS Code provides a simple and clean
code editing platform for student developers.
VS Code users appreciate the ability to organize files by folder or project; there is also smart
editing for built-in languages like JavaScript and Typescript, which can come in handy for
students who are constantly being introduced to new coding languages.
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
Cloud9 IDE is an online integrated software development environment. It supports many
programming languages like C, C++, PHP, Ruby, Perl, Python, JavaScript and Node.js.
Features
Allows to clone entire development environment
Built-In Terminal for command-line wizard
Code Completion suggestions helps software developers to code faster and avoid typos
The Debugger helps developers to set breakpoints, and inspect variables of any JS/Node.js
app
Simply drag any file or Terminal to create multiple split views
Developers can select an extensive set of default Runners to execute app, such as Ruby,
Python, PHP/Apache
0
Sublime Text
0
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 applica琀椀on Development
change many lines at once due to the multiple selection option. You don’t need to go
through the menus, you can just search for what you need. You can also switch between
projects easily. It works very well!
0
0
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 applica琀椀on Development
0
0
Zend Studio
Most web developers opt for Zend Studio because of its optimal speed. Writing and
debugging code in Zend Studio doesn’t demand any extra effort and time from developers.
While supporting PHP 7, it debugs PHP scripts by integrating X-ray, Debugs, and Zend
Debugger. This comprehensive PHP IDE comes with an exciting set of features and
powered to deploy applications on various servers, including servers in the cloud.
Developers can extend Zend Studio via Eclipse plugins.
Zend Studio Features
Indexing and searching PHP Code.
Faster Performance in the validation.
Zend Framework & Zend Tool Integration.
Docker Support.
Support for Eclipse Plugin.
Zend Studio Specialties
0
0
Languages supported: PHP, JavaScript, Visual Basic, C, C++, and C#.
Platforms supported: Microsoft Windows, Linux, and MacOS.
PHPDebugbar
PHPDebugbar is a PHP debugger that can run with any project and display data from a
broad range of web apps. This PHP development tool includes two parts: main bearer
object and data collectors and the render. A Standard-bearer includes a pre-configured builtin set of collectors.
Along with PHP, you can also catch JavaScript and HTML. In addition, PHPDebugbar can
inspect CSS elements and monitor networks. By offering more features that developers
expect, it becomes a quite impressive open source solution. It can be the best option for the
profiling of data from any web application. It allows you to create your own collection for
easy integration.
PHPDebugbar Feature
Monitor network traffic.
Handles AJAX requests.
Log & debug directly to Debugbar.
Fast & easy to use interface.
Preview config& application config.
47 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Coffee Script and Markdown, and even extensions to the built-in Visual Studio Browser
Link dynamic data exchange with open browsers in your development environment.
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 applica琀椀on Development
0
0
Characteristics of Agile Methodologies are:
Modularity - this allows the development process to be broken down into specific

components referred to as activities which enables transformation of software vision into
reality

iterative - agile processes are based on short cycles where completion of each cycle
Iterative completes a set of activities.

Time bound - time limits can be set on each iteration and can therefore be scheduled
Activities may also be rescheduled if they cannot be completed within the time limits

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

Incremental - agile processes builds a system progressively. Each increment is tested
separately

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

Collaborative - agile approaches enforces communication among the development
team members since communication is an important part of developing a software
project
82 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Key Principles of Agile Methodologies are:
•
Active user involvement is imperative

The team must be empowered to make decisions

Requirements evolve but the timescale is fixed
•
Capture requirements at a high level: lightweight & visual
•
Develop small, incremental releases and iterate
•
Focus on frequent delivery of products
•
Complete each feature before moving on to the next
•
Apply the 80/20 rule
•
. Testing is integrated throughout the project lifecycle- test early and often
•
A collaborative & cooperative approach between all stakeholders is essential
Challenges faced with the implementation of agile approaches are:
•
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.
•
There may be cultural resistance to agile processes. This is particularly common in
organizations that have been using conventional systems engineering processes for
long time.
83 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Scrum (software 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
Scrum framework help the team to work together
Lifecycle of Scrum:
Figure 1 07-06-2019
84 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Sprint:
A Sprint is a time-box of one month or less. A new Sprint starts immediately after the
completion of the previous Sprint.
Release:
When the product is completed then it goes to the Release stage.
Sprint Review:
If the product still have some non-achievable features then it will be checked in this stage and
then the product is passed to the Sprint Retrospective stage.
Sprint Retrospective:
In this stage quality or status of the product is checked.
Product Backlog:
According to the prioritize features the product is organized.
Sprint Backlog:
Sprint Backlog is divided into two parts Product assigned features to sprint and Sprint
planning meeting.
Extreme Programming (XP)
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 applica琀椀on Development
0
0
Incremental development: Incremental development is very good because customer

feedback is gained and based on this development team come up with new increments
every few days after each iteration.
Simplicity: Simplicity makes it easier to develop good quality code as well as to test

and debug it.
Design: Good quality design is important to develop a good quality software. So,

everybody should design daily.
Integration testing: It helps to identify bugs at the interfaces of different

functionalities. Extreme programming suggests that the developers should achieve
continuous integration by building and performing integration testing several times a
day.
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 applica琀椀on Development
0
0
determining how it will accomplish the work to be completed. The team has
autonomy and responsibility to meet the goals of the sprint

A key principle of scrum is its recognition that fundamentally empirical challenges
cannot be addressed successfully in a traditional "process control" manner. As such,
scrum adopts an empirical approach - accepting that the problem cannot be fully
understood or defined, focusing instead on maximizing the team's ability to respond in
an agile manner to emerging challenges.
Basic principles of Extreme programming
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 applica琀椀on Development
0
0
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 applica琀椀on Development
0
0

Unmounting: As the name suggests Unmounting is the final step of the component
lifecycle where the component is removed from the page.
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
Lean Development (LD) Methodology
Lean Development focuses on the creation of change-tolerant software. This methodology
embodies the notion of dynamic stability which can be thought of as similar to how Scrum
embraces controlled chaos. Bob Charette, the originator, writes that the measurable goal of
LD is to build software with one-third the human effort, one-third the development hours
89 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
and one-third the investment as compared to what SEI (Software Engineering Institute)
CMM Level 3 organization would achieve.
Principles are:
•
Satisfying the customer is the highest priority.
•
Always provide the best value for the money.
•
Success depends on active customer participation.
•
Every LD project is a team effort.
•
Everything is changeable.
•
Domain, not point, solutions.
•
Complete, don't construct.
•
An 80 percent solution today instead of 100 percent solution tomorrow
•
Minimalism is essential
•
. Needs determine technology
•
Product growth is feature growth, not to growth
•
Never push beyond its limit
Scaled Agile Frameworks (SAFe)
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 applica琀椀on Development
0
0
business needs. It supports smaller scale solutions employing 50 - 125 practitioners, as well
as complex systems that require thousands of people.
SAFE principles are:
•
Take an economic view
•
Apply systems thinking
•
Assume variability: Preserve options
•
Build incrementally with fast, integrated learning cycles
•
Base milestones on objective evaluation of working systems
•
Visualize and limit reduce batch sizes and manage queue lengths
•
Apply cadence, synchronize with cross-domain planning
•
Unlock the intrinsic motivation of knowledge workers
•
Decentralize decision making
Disciplined Agile Delivery (DAD)
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 applica琀椀on Development
0
0
Approach
Supporting a robust set of roles

. Being a hybrid. DAD a hybrid approach which extent Scrum with proven strategies
from Agile Modeling (AMP Extreme Programming (XP), Unified Process (UP),
Kanban Lean other method Software Development, Outside In Development (Q)
and several

Being open Disciplined Agile (DA) a a nan proprietary, freely available framework

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.

Providing choices, not prescription. Instead of the prescriptive approach seen in
other agile methods, including Scrum, the DAD framework takes a goal-driven
approach
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 applica琀椀on Development
0
0
Principles
•
Start with what you do now Understand current processes as they are actually
practiced and respect existing roles, responsibilities and job titles
•
Agree to pursue improvement through evolutionary change
•
Encourage acts of leadership at every level
•
Service Delivery Principles These principles
These Principles acknowledge that organizations are a collection of interdependent services,
and to place the focus on the work, not the people doing the work
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 applica琀椀on Development
0
0
Improve collaboratively, evolve experimentally - Kanban starts with the process as it
currently exists and applies continuous and incremental improvement instead of trying to
reach a predefined finished goal
Scrum
Strengths
Effective and efficient
weaknesses
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
Extreme programming
sprint meetings
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
Lean
Eliminate waste Maximize
Does not cover technical
value of the product
and managerial issues Lack
of details about its
94 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Kanban
Helps in managing
implementation
Lack of details about its
production of a product
implementation
Increase in communication
between the team and stalk
Test driven development
Crystal
Feature driven development
holders
Positive impact on external
Sometimes very time
quality of the system
consuming due to repeated
Writes test cases and test
test failures Specific
code first using the
knowledge and skill set
requirements Writes Lean
required
code, removes duplicates
Effective communication
Only two type of crystals
among team members
are defined in details
Projects can be clearly
(Crystal clear and Crystal
classified using Crystal
orange)
methods
Adaptive and incremental in
Lacks system validation
nature Emphasis more on
practices Needs special
quality
training to write
requirement/user stories
Less responsiveness to
change Need of
experienced and trained
staff Less appropriate for
small scale projects
Waterfall
Simple to understand and
Working software is
95 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
use Each phase is clearly
delivered very late and
defined and well understood
hence it has lots of risks
Detailed documentation
associated to it is difficult
to accommodate changes
using waterfall Measuring
progress is difficult Not
suitable for projects with
Rational Unified Process
Produces quality product
changing requirements
Needs expert team members
(RUP)
Less time for integration
trained in RUP Complex
Less development time
development process
Development process is
difficult to manage
Spiral
Requirements change is
Not suitable for small
manageable Frequent
projects Process is difficult
delivered of working
to manage Can continue
software Lower risk of
indefinitely
failure
96 | P a g e
Pradeeban.A (col/a-064620)
Unit-30 applica琀椀on Development
0
0
Assessment Criteria (Students are not authorized to modify or write anything on below)
Outcomes/Criteria
Page
P1Explore a business-related problem and
produce a well-de昀椀ned problem
de昀椀ni琀椀on statement supported by a set of
user and System requirements.
Feedback
P2 Determine any areas of risk related to
the successful comple琀椀on of your
applica琀椀on.
M1 Analyze a business-related problem
using appropriate methods and produce a
well-structured So昀琀ware Design Document
that de昀椀nes a proposed solu琀椀on. Include
relevant details on requirements, system
analysis, system design. (propose a suitable
language)
P3 Research the use of so昀琀ware
development tools and techniques and
iden琀椀fy any suitable tool or technique that
you may select for the development of this
applica琀椀on.
M2 Compare the di昀昀erences between
various so昀琀ware development tools and
techniques researched. Jus琀椀fy your
preferred selec琀椀on and preferred so昀琀ware
development methodology.
D1 Jus琀椀fy the tools and techniques chosen
to realize a custom-built website. Jus琀椀fy
your preferred selec琀椀on of tools and
techniques in deducing an appropriate
solu琀椀on to a business-related problem.
0
0
P4 Create a
formal
presenta琀椀on that e昀昀ec琀椀vely reviews your
business applica琀椀on, problem de昀椀ni琀椀on
statement, proposed solu琀椀on and the
development strategy. Use this presenta琀椀on
as a part of a peer-review and document
any feedback given.
M3 Develop a func琀椀onal business
applica琀椀on based on a speci昀椀c So昀琀ware
Design Document with suppor琀椀ve
evidence for using the preferred tools,
techniques and methodologies.
D2 Evaluate any new insights, ideas or
poten琀椀al improvements to your system and
jus琀椀fy the reasons for including/not
including them as a part of this business
applica琀椀on.
M4 Review the performance of your
business applica琀椀on against the
Problem De昀椀ni琀椀on Statement and ini琀椀al
requirements.
D3 Cri琀椀cally evaluate the strengths and
weaknesses of your business applica琀椀on
and jus琀椀fy opportuni琀椀es for improvement
and further development.
Strengths:
Weaknesses:
0
0
Future Improvements & Assessor Comment:
Signature:
Assessor:
Date: ____/____/______
Internal Veri昀椀er’s Comments:
Internal Veri昀椀er:
Signature:
Date: ____/____/______
0
0
Download