With having being part of 5 Service cloud and Agile salesforce implementation projects I have realized that customizing the platform to the client’s need is not challenging but the build up to the production release and approach that the integrator adopts to, makes all the difference to have delighted project sponsors and end users. Continue reading
The primary objective of this document is to provide a standard format for the designing of architecture for any software.
The first step in the Software development lifecycle is always requirement gathering as without that it is not possible to start building a software. Requirement analysis will give an idea about the various aspects that is to be built into the system and these aspects are the building steps to the architecture of the system.
The Attribute Driven Design (ADD) method is an approach to defining a software architecture by basing the design process on the quality attributes the software has to fulfill. It is a recursive decomposition process where, at each stage in the decomposition, attribute primitives are chosen to satisfy a set of quality scenarios and then functionality is allocated to instantiate the component and connector types provided by the primitives.â€ (Wojcik, R., Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R., & Wood, B. (2006))
The ADD approach is straightforward and efficient way of defining an architecture and it facilitates consideration of every aspect of the architecture separately while decomposition. This makes it easier for modifications to occur while the architecture is being designed, allowing the formation of a more complete design.
As every system has their own set of requirements, they also have their own set of assumptions which refers to the various preconditions basing on which the entire SDLC is driven forward. It is absolutely necessary that all the preconditions are validated and checked with all the stakeholders in order to avoid rework and waste of resources.
As already mentioned, requirement gathering is the only step that can kick start the design and development of a system. Types of requirement that are needed to be taken care of are â€“
- FUNCTIONAL REQUIREMENTS
- NON-FUNCTIONAL REQUIREMENTS
- PRIORITY REQUIREMENTS
It is good practice to prioritise all the requirements right at the beginning.
3.2 DESIGN CONSTRAINTS
Under this section all the possible concerns related to the system can be discussed. For eg â€“ security concerns, performance overheads, memory constraints etc.
3.3 ARCHITECTURAL DRIVERS
This is the section which discusses the major requirements of the system or in other words the requirements which has the most impact on the system. These requirements are known as architectural drivers and before deciding on a particular architectural design, it is absolutely crucial that these requirements are analysed to see if a particular design is better suited to allow convenient implementation.
The requirement section should also validate and justify the use of a particular design over others to allow flexibility of the system as this facilitates adoption of a new pattern or convenient combining of multiple patterns if required, without too much hassle.
Patterns and Styles are architectural design decisions concerning a specific problem and a development context respectively. Most systems consist of multiple styles and patterns instead of just one as this is more advantageous. Every aspect of the system is to be considered separately as well as together to make the perfect design decision about the patterns and styles to be used.
Representation of the various modules, components and other elements of the system to be designed along with their relationships is taken care of in â€œViewsâ€. All the stakeholders, developers and everyone involved in designing and implementing the system has a different way of visualising the system and view models are used to create relevant representations for everyone involved. The â€œ4+1â€ view model is most widely used and following are its various sections.
5.1 LOGICAL VIEW
The logical view is to support the functional requirements of the system. It is also known as the design view and is closer to the implementation of the software. Thus, this view is mainly for the understanding of the developers. UML class diagram can be used to represent this view. Following is an example of a logical view and it shows a part of a certain system which handles student admissions and other such student and university administration interactions.
5.2 DEVELOPMENT VIEW
In this view we take into consideration the various modules and subsystems present in the system to be designed. A basic UML package diagram of the system can represent this view. Following is an example of the development view of the system mentioned in the logical view section.
5.3 PROCESS VIEW
The process view is to support the non-functional requirements like availability and performance. This view takes into consideration various interactions between the processes and the program flow. Activity diagrams can be constructed to represent this view. Following is such an example.
5.4 PHYSICAL VIEW
Physical view is to provide a view of the integration of the software along with the hardware. This mapping can be represented using UML deployment diagram.
The numerous use cases that a system will have is represented in this view. The UML use case diagram can represent this view. Following is one such example and it is a view of the system from the earlier examples.
Evaluation is another crucial step for architecture design as this can clarify and shortcomings a design might have and also clarifies all the requirements in relation to the design chosen. For the evaluation of architecture â€œArchitecture Tradeoff Analysis Methodâ€ can be used. This is a very widely used evaluation technique and it takes into consideration every step of the architecture development process, therefore, increasing chances of detecting any defects in an organised manner. The method demands evaluation of the architecture from the point of views of an entire team involved with the construction of the system.
Bass, L., Clements, P., & Kazman, R. (2003). Software architecture in practice. Addison-Wesley Professional.
Kruchten, P. B. (1995). Architectural Blueprints-The 4+ 1 view model of architecture. Software, IEEE,12(6), 42-50.
Taylor, R.N., Medvidovic, N. & Dashofy, E.M. (2010). Software Architecture Foundations, Theory, and Practice. John Wiley & Sons.
Wojcik, R., Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R., & Wood, B. (2006). Attribute-Driven Design (ADD), Version 2.0 (No. CMU/SEI-2006-TR-023). CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST.
Anything that can be connected, will be connected. This quote by Jason Morgan of Forbes.com, is going to be, what future holds, with the increasing growth of the concept of IoT. Simply put, Internet of things is a system of electronic devices or components, interconnected with each other through Internet and capable of exchanging data and information.Â The devices include everything ranging from cellphones, coffee makers, headphones, smart wearables to components of machines like engine of an airplane etc. The IoT allows the devices to be remotely sensed and controlled using the existing network structure; which enables the opportunity to directly integrate them with other devices or networks. So basically, IoT is a giant network of connected things.
Why use IoT & How big is it?
A survey conducted by HP estimated that the growth of IoT will be exponential and by 2025, over one trillion devices will be connected through IoT. Another report by Cisco predicts that IoT will generate $14.4 trillion in value across all industries in the next decade. These surveys suggest towards a fully automated future.
In this article, I am sharing my approach and code required for fetching recurring events in Salesforce Lightning. The use cases could be creating a recurring pickup, order placement etc. You would need basic knowledge of Apex and Salesforce Lightning.
This screen will give you an idea about the recurring UI.
In this blog I will share the Salesforce Development best practices that I have learned over the years. I have tried to give a few code snippets to provide examples. Feel free to use the code as-is.
Have you ever sat wondering if you had followed up with everyone you were supposed to talk to today? Or managed a team and wondered if they were following through? These questions plague most sales driven businesses daily, but to Addiction Treatment Centers this could mean that someone’s life is on the line.
Gain an edge over the competition by taking advantage of the advancement in technology and changing the way you communicate with your employees & clients. Continue reading
I am introducing here Quote to Cash which is well known as QTC. QTC is a process where Sales Organizations send details to their customers on their product offerings as per their need, provide them with the pricing for the set of products that they have requested, put all those in an official document called Quote and then it continues through Invoice, payment and negotiation which comes under Cash.
Now a day the entire world is connected through technology. Salesforce for Nonprofits is one of the most powerful tools for any nonprofit organization as it helps in getting connected with the entire world. Built for the social and mobile era, Salesforce for Nonprofits will connect your entire organization” your partners, supporters, employees, and programs” so you can, deliver better programs and services, engage and strengthen your community, communicate more effectively, and raise more resources. (www.salesforce.org/nonprofit/, 2017)
To use salesforce for nonprofits, first you need to register to the “Power of us” program of salesforce. Once you are accepted in “Power of Us” program your organization will get your own salesforce instance with 10 free Enterprise Edition licenses along with the other products and services provided by salesforce. Through the Power of us program, qualified organization will receive the product and resources needed to effectively manage your organization and program.
Organization can purchase additional liquesces and services at a deep discounted price. All the amount received by Salesforce for these additional licenses, go right back into the foundation to allow salesforce to donate more to the nonprofit community. So, if you purchase additional licenses and invest in your own organizational success you are also investing to the overall success to the nonprofit community that uses salesforce.
As a part of the Power of Us Program you will get the benefits mentioned below:
- 10 donated Enterprise Edition Sales or Service Cloud subscriptions
- Discounts on additional subscriptions, products and/or services from Salesforce.org
- Discounts on Salesforce training
- Discounts on Salesforce events
- Access to nonprofit and education specific user groups, events and webinars
- Discounts on participating Apps and consulting partners from the AppExchange
Pricing of the additional Licenses:
Nonprofit Success Pack (NPSP): Configured out of the box for nonprofits, NPSP sits on top of the Lightning Enterprise Edition and provides complete Salesforce Customer Relationship Management (CRM) and tools to help manage programs, donations, volunteers, and supporters all in one place.
|Edition||Standard Pricing||Pricing for Non-Profit|
|Lightning Enterprise Edition||$150||$36|
|Lightning Enterprise Edition + NPSP||$150||$36|
|Lightning Unlimited Edition||$300||$72|
|Lightning Unlimited Edition + NPSP||$300||$72|
Salesforce.org offers a powerful, enterprise level suite of products with the potential to dramatically transform your organization. Salesforce has different criteria for different Countries depending on the law of that country. Basic criteria to be eligible to apply for the Power of Us program is, your organization must be recognized as a charitable, nonprofit, or nongovernmental organization in the country where you are located. Your organization must have a certificate of Trust or society issued by the government of the country.
To get the in-depth knowledge about the eligibility criteria please visit the link mentioned below:
How to register for Power of Us program:
Now before you go forward to invest your money in Salesforce the big challenge in front of you is to know whether Salesforce is an excellent choice for your organization or not, whether it is fulfilling all your organizational requirements or not. Salesforce comes forward to help you out with making a correct decision.
Salesforce offers a free 30 days trial for all its Nonprofit Service Packs mentioned above in the Pricing section. You can register for any of the available packs and get your free trial as soon as you register. To register for your free trial please visit the below mentioned link:
After using that free trial Salesforce instance, if you think that this pack is best suited for your organization then you can convert this trial account to a permanent account by applying on the below mentioned link:
Here, first you need to login with your Salesforce trial account Username and Password. If you have more than one Salesforce trial, you must log in with the username and password of the trial that you want as your production account. If you need to select a different edition, please sign up for a new trial before submitting your application. Once your application has been approved for an account you had selected, you will no longer be able to switch your licenses to another Salesforce account or instance.
Fill in all fields on the application before submitting. If approved, your organization will receive a confirmation by email stating your acceptance into the Power of Us program.