college of technology pantnagar lecture- jainendra
TRANSCRIPT
![Page 1: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/1.jpg)
Digital Product Engineering
- Jainendra Kumar (Jai)Head of Products and Technology
![Page 2: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/2.jpg)
Software Engineering It is much more that writing code.
It is an act of applying a collection of techniques, methodologies, and tools that help with the production of a high quality software system, within a given budget, before a given deadline, while change occurs.
![Page 3: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/3.jpg)
Techniques (Methods)Formal procedure for producing results using some well-defined notion
MethodologiesCollection of techniques applied across software development and unified by a philosophical approach
Tools Instrument or automated systems to accomplish a technique
Understating a few key terminologies
![Page 4: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/4.jpg)
Software Engineering It is a multi-disciplinary discipline
A blend of many older science & engineering disciplines and new ones
![Page 5: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/5.jpg)
Software Engineering Computing
Fundamentals
Algorithms and Data Structure
Computer Architecture
Operating Systems
Programing Languages
Mathematical
Foundations
Software Product
Engineering
Requirements
Engineering
Software Design
Software Coding
Software Testing
Software Operations & Maintenance
Software Managemen
t
Product Management
Program & Project
Management
Risk Management
Quality Management
Configuration
Management
Dev. Process Management
Software Domains
Artificial Intelligence
Database Systems
Machine Learning
Real-Time Systems
Big Data Analytics
![Page 6: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/6.jpg)
Software Engineering Job / Role • Software Engineer• Solution / Product
Architect • Software Engineer in Test• Business Analyst • System Analyst• System Engineer• Database Administrator • Software Security
Engineer• Webmaster
• Data scientist• Analytics specialist • Customer support
engineer• Deployment Architect • Dev Ops Engineer • Software configuration
Manager• Program / Project
Manager • Product Manager
![Page 7: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/7.jpg)
Software Engineer’s Skills & Tools • Programming languages • Database
• Relational• Non – Relational
• Data structure • Web Server • Application Server• Design Patterns• Scalable Architecture• Cloud deployment and
management
• Tools:• Development and debug
environment • Design• Source and version control• Dev. Operations• Testing tools• Performance testing• Installer • Cloud EC2 console and
dashboard• Bug tracking
![Page 8: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/8.jpg)
Webmaster's Skills & Tools • Website
development programming languages
• Web administrationGoogle analytics and other analytics
• SEO, SMM• Tag Management
• Tools:• Development and debugging tools
• Google Web master• Google Analytics • Tag Manager • Other Analytics • SEO tool(s)• Social media monitoring tool
![Page 9: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/9.jpg)
Project Manager's Skills & Tools • Project management • Requirement analysis• Risk management• Project controlling • Architecture• Estimation• People management• Communication
• Tools:• Project management• Data analysis • Bug tracking and management
• Reporting • Product requirement & prioritization management
• Communication management & tracking
![Page 10: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/10.jpg)
Programming languages
![Page 11: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/11.jpg)
Software Architecture • The quality and
longevity of a software-reliant system is largely determined by its architecture
• Architecture is of enduring importance because it is the right abstraction for performing ongoing analyses throughout a system’s lifetime.
![Page 12: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/12.jpg)
Central role of architecture
![Page 13: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/13.jpg)
What has changed? • Increased connectivity• Scale and complexity
• decentralization and distribution• Big data• increased operational tempo• inter-reliant ecosystems• vulnerability• collective action
• Disruptive and emerging technologies
![Page 14: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/14.jpg)
What has changed? • Increased connectivity• Scale and complexity
• decentralization and distribution
• Big data• increased operational tempo• inter-reliant ecosystems• vulnerability• collective action
• Disruptive and emerging technologies
![Page 15: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/15.jpg)
Software Development Trends • Application framework• Open source• Cloud strategies• NoSQL• Machine Learning• MDD• Incremental approaches / Agile /
Lean • Dashboards• Distributed development • Dev Ops
![Page 16: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/16.jpg)
Cloud computing• Cloud computing is Internet-based computing, whereby
shared resources, software and information are provided to computers and other devices on-demand, like the electricity grid.
• The cloud computing is a culmination of numerous attempts at large scale computing with seamless access to virtually limitless resources.• on-demand computing, • utility computing, • ubiquitous computing, • autonomic computing, • platform computing, • edge computing, • elastic computing, • grid computing,
![Page 17: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/17.jpg)
Advantage of cloud computing• Business viewpoint
• Reduce IT cost• Improvement in time to market • Pay as you go (variable cost over fixed investment)• Reduce IT dependency • Work from anywhere • Competitiveness • Process efficiency
![Page 18: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/18.jpg)
Cloud Architecture
![Page 19: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/19.jpg)
Cloud computing characteristics
Common Characteristics:
Low Cost Software
Virtualization Service Orientation
Advanced Security
Homogeneity
Massive Scale Resilient Computing
Geographic Distribution
Essential Characteristics:
Resource PoolingBroad Network Access Rapid Elasticity
Measured Service
On Demand Self-Service
![Page 20: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/20.jpg)
Cloud service modelSoftware as a
Service (SaaS)Platform as a
Service (PaaS)Infrastructure as a
Service (IaaS)
Google App Engine
SalesForce CRMLotusLive
![Page 21: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/21.jpg)
Cloud computing layers
Services
Application
Development
Platform
Storage
Hosting
DescriptionServices – Complete business services such as PayPal, OpenID, OAuth, Google Maps, Alexa
Services
Application
Focused
Infrastructure
Focused
Application – Cloud based software that eliminates the need for local installation such as Google Apps, Microsoft Online
Storage – Data storage or cloud based NAS such as CTERA, iDisk, CloudNAS
Development – Software development platforms used to build custom cloud based applications (PAAS & SAAS) such as SalesForcePlatform – Cloud based platforms, typically provided using virtualization, such as Amazon ECC, Sun Grid
Hosting – Physical data centers such as those run by IBM, HP, NaviSite, etc.
![Page 22: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/22.jpg)
Cloud Taxonomy
![Page 23: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/23.jpg)
Smartphone Mobile Apps
![Page 24: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/24.jpg)
Mobile App development options
![Page 25: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/25.jpg)
Native Mobile Application• Multi touch - double taps, pinch-spread, and other
compound UI gestures• Fast graphics API - the native platform gives you
the fastest graphics, which may not be a big deal if you’re showing a static screen with only a few elements, or a very big deal if you’re using a lot of data and require a fast refresh.
• Fluid animation - related to the fast graphics API is the ability to have fluid animation. This is especially important in gaming, highly interactive reporting, or intensely computational algorithms for transforming photos and sounds.
• Built-in components - The camera, address book, geolocation, and other features native to the device can be seamlessly integrated into mobile apps. Another important built-in components is encrypted storage, but more about that later.
• Ease of use - The native platform is what people are accustomed to, and so when you add that familiarity with all of the native features they expect, you have an app that’s just plain easier to use.
![Page 26: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/26.jpg)
HTML5 Mobile Application• An HTML5 mobile app is basically a web page, or
series of web pages, that are designed to work on a tiny screen. As such, HTML5 apps are device agnostic and can be opened with any modern mobile browser.
• HTML5 apps are easier to develop, easier to support, and can reach the widest range of devices
• Users won’t have the familiarity of the native look and feel, or be able to use compound gestures they are familiar with.
• significant limitations, especially for enterprise mobile, are offline storage and security.
![Page 27: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/27.jpg)
Mobile Hybrid Application
![Page 28: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/28.jpg)
Mobile Application Architecture
![Page 29: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/29.jpg)
Debugging Mobile Application • Chrome / Firefox Debugger• Weinre• Ripple• jsHybugger• Eclipse• Xcode• Visual Studio
![Page 30: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/30.jpg)
Continuous Integration
![Page 31: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/31.jpg)
Process and Tools
![Page 32: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/32.jpg)
Process and Tools
![Page 33: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/33.jpg)
Testing process and workflow
![Page 34: College of Technology Pantnagar lecture- Jainendra](https://reader035.vdocuments.net/reader035/viewer/2022070517/58d0ce111a28ab866c8b693b/html5/thumbnails/34.jpg)
Thank you