0% found this document useful (0 votes)
4 views36 pages

Lecture 14

The lecture covers various methodologies for building information systems, including traditional systems development life cycle, prototyping, and application software packages. It emphasizes new approaches in the digital era such as Rapid Application Development, Agile Development, and DevOps, which focus on speed, collaboration, and user-centric design. Additionally, it outlines the mobile app development process, including steps from concept to deployment and factors affecting development costs.

Uploaded by

rhea.khurana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views36 pages

Lecture 14

The lecture covers various methodologies for building information systems, including traditional systems development life cycle, prototyping, and application software packages. It emphasizes new approaches in the digital era such as Rapid Application Development, Agile Development, and DevOps, which focus on speed, collaboration, and user-centric design. Additionally, it outlines the mobile app development process, including steps from concept to deployment and factors affecting development costs.

Uploaded by

rhea.khurana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

MIS – Lecture-14

N P Singh
Learning Objectives
 How does building new systems produce
organizational change?
 What are the core activities in the systems
development process?
 What are the principal methodologies for
modeling and designing systems?
 What are alternative methods for building
information systems?
 What are new approaches for system building in
the digital firm era?
 How will M I S help my career?
Next

Alternative Methods of building


information systems
Traditional Systems Life
Cycle
Oldest method for building information
systems
Phased approach
 Development divided into formal stages
 “Waterfall” approach: One stage finishes
before next stage begins
Formal division of labor between end users
and information systems specialists
Emphasizes formal specifications and
paperwork
Still used for building large complex
The Traditional Systems
Development Life Cycle
Prototyping (1 of 2)

Building experimental system rapidly and


inexpensively for end users to evaluate
Prototype: Working but preliminary version
of information system
 Approved prototype serves as template
for final system
Steps in prototyping
 Identify user requirements
 Develop initial prototype
 Use prototype

The Prototyping Process
Prototyping (2 of 2)

Advantages of prototyping
 Useful if some uncertainty in
requirements or design solutions
 Often used for end-user interface design
 More likely to fulfil end-user
requirements
Disadvantages
 May gloss over essential steps
 May not accommodate large quantities
of data or large number of users
▪ May not undergo full testing or
Application Software Packages,
Software Services, and
Outsourcing (1 of 3)
 Application software packages and software
services
 Save time and money
 Many packages offer customization features
 Evaluation criteria for systems analysis include:
 Functions provided, flexibility, user friendliness,
required resources, database requirements,
installation and maintenance efforts,
documentation, vendor quality, and cost
 Request for Proposal (R F P)
 Detailed list of questions submitted to software
vendors
 Used to evaluate alternative software packages
Continued…
 Another alternative in systems building, the use of
application software packages and cloud software services.
 It is important to note that many functions are common to
all business organizations—payroll, accounts receivable, or
inventory control.
 Software packages or cloud software services may fulfill
the need for many organizations for these types of
functions.
 However, it is still important to perform systems analysis in
order to determine your organization’s requirements for a
system.
 For example, you would want to outline the functions you
need from the software and determine whether the
software or service provides that.
Application Software Packages,
Software Services, and
Outsourcing (2 of 3)
 Outsourcing: Hiring external third-party
organizations or individuals to handle certain aspects
of the software development process
 Several types
 Cloud and S a a S providers: subscribing companies
use software and hardware provided by vendors
 External vendors
▪ Hired to design, create software
▪ Domestic outsourcing
▪ Driven by firm’s need for additional skills,
resources, assets
▪ Onshore Outsourcing: Involves hiring external resources
within the same country or geographical region.
Application Software Packages,
Software Services, and
Outsourcing (3 of 3)
Outsourcing
Advantages/Disadvantages
 Advantages: Allows organization
flexibility in I T needs
 Disadvantages
▪ Hidden costs, for example:
▪ Identifying and selecting vendor
▪ Transitioning to vendor
▪ Opening up proprietary business
processes to third party
Total Cost of Offshore Outsourcing
Next

New approaches for system


development in the digital
firm era
Rapid Application Development (R
A D), Agile Development,
Automated Software Testing, and
DevOps (1 of 3)
Rapid application development (R
A D)
 An approach that prioritizes speed and
efficiency in delivering a product to users.
 The goal is to reduce the time it takes to
go from the initial concept to a functional
and deployable software application.
 Rapid development methodologies focus
on iterative and incremental progress,
allowing for quick adjustments based on
user feedback and changing requirements.
Key Aspects
 Agile Methodologies:
 Agile methodologies, such as Scrum and Kanban, are often associated with rapid
development. These frameworks emphasize iterative development, continuous
delivery, and collaboration.
 Iterative Prototyping:
 Rapid development involves creating prototypes quickly to gather feedback from
stakeholders and end-users.
 Iterative prototyping allows for the refinement of features and functionalities based
on real-world usage.
 Frequent Releases:
 The emphasis is on delivering smaller, frequent releases of the software, rather than
waiting for a complete, final product.
 This approach allows for quicker user feedback and the ability to address issues
promptly.
 Cross-Functional Teams:
 Rapid development often involves cross-functional teams with members who have
diverse skills, including development, testing, design, and business analysis.
 Collaboration among team members accelerates decision-making and problem-
solving.
 Minimal Viable Product (MVP):
 The development team focuses on delivering a Minimal Viable Product (MVP) quickly,
containing essential features to meet the basic needs of users.
Continued…
 User-Centric Approach:
 Rapid development places a strong emphasis on understanding and addressing user
needs.
 Continuous user involvement and feedback help shape the product throughout the
development process.
 Adaptability to Change:
 Rapid development methodologies are designed to be flexible and adaptive to changing
requirements.
 Changes can be incorporated quickly without disrupting the overall development process.
 Automated Testing:
 Automated testing is often integrated into the development process to ensure the stability
and reliability of frequent releases.
 Continuous integration and continuous delivery (CI/CD) pipelines are common in rapid
development environments.
 Time-Boxed Sprints:
 In Scrum and similar methodologies, development work is organized into time-boxed
iterations known as sprints.
 Sprints typically last two to four weeks, providing a structured and predictable
development cadence.
 Collaborative Tools:
 The use of collaborative tools for communication, project management, and version
control is essential in rapid development environments.
 These tools facilitate efficient collaboration among team members, even in distributed or
Continued..

Joint application design (J A D)


 It is a collaborative and interactive approach
used in the software development process to
gather requirements and design solutions.
 It involves bringing together key stakeholders,
end-users, and development teams in
facilitated workshops or sessions to discuss,
define, and refine the requirements for a
system or application.
 The primary goal of JAD is to promote effective
communication, collaboration, and shared
understanding among all participants.
Rapid Application Development (R A
D), Agile Development, Automated
Software Testing, and DevOps (2 of 3)

Agile development
 Focuses on rapid delivery of working
software by breaking large project
into subprojects that can be
completed in short periods of time.
Automated software testing
 Tools to perform examinations of
software, report outcomes, compare
results with earlier test runs

Common Agile
Methodologies:
 Scrum:
 Focuses on short, time-boxed iterations called sprints (1–4
weeks).
 Roles: Product Owner, Scrum Master, and Development Team.
 Artifacts: Product Backlog, Sprint Backlog, and Increment.
 Kanban:
 Visualizes workflow using boards and limits work in progress to
improve efficiency.
 Focuses on continuous delivery without specific iterations.
 Extreme Programming (XP):
 Emphasizes technical excellence and frequent releases.
 Practices include pair programming, test-driven development,
and continuous integration.
 Lean Development:
 Inspired by Lean Manufacturing, it focuses on eliminating waste,
DevOps
DevOps is a transformative culture and
practice that unites software development
(Dev) and IT operations (Ops) teams.
By fostering collaboration and leveraging
automation technologies, DevOps enables faster,
more reliable code deployment to production in an
efficient and repeatable manner.
DevOps is a software development approach that
emphasizes collaboration and communication
between development (Dev) and operations (Ops)
teams. It aims to shorten the software development
lifecycle and improve the quality and reliability of
software releases.
Continuous Integration and
Continuous Delivery (CI/CD)
CI/CD automate testing and
deployment, ensuring reliable
updates.
Infrastructure automation tools and
continuous monitoring keep systems
responsive and maintain performance.
These practices enable faster, more
reliable updates, driving innovation
and customer satisfaction.
Rapid Application Development (R A
D), Agile Development, Automated
Software Testing, and DevOps (3 of 3)
Low-code development
 Enables faster development of applications,
with minimal hand-coding, using visual
modelling in a graphical interface
No-code development
 Includes built-in tools that enable user to create
apps without any coding
 Some disadvantages
▪ Have limited functionality
▪ Users can create applications without proper
management oversight
Mobile Application
Development
Application designed to run on mobile devices
such as smartphones and tablets.
Called mobile apps. Developed to leverage the
unique features and capabilities of mobile
devices, including touch screens, cameras, GPS,
and various sensors.
Development for range of platforms, including
iOS (for Apple devices) and Android (two
dominant mobile operating systems).
 Mobile websites
 Mobile web apps
 Native apps:designed and developed for a
Continued…

Designed for
Special requirements for mobile
platform
 Smaller screens, keyboards, multitouch
gestures, saving resources (memory,
processing)
Responsive web design
 Websites programmed so that layouts
change automatically according to
user’s computing device
Building Mobile Apps (1)
 Mobile App Development Steps (Example: Fitness
Tracking App).
 Step 1: App Concept and Purpose
 Example: Create a fitness tracking app, "FitTrack
Pro," designed for individuals looking to monitor
their daily workouts, steps, calorie intake, and heart
rate in one platform.
 Purpose: Simplify fitness tracking with
personalized goals and AI-driven recommendations.
 Target Audience: Fitness enthusiasts, gym-goers,
and health-conscious individuals aged 18-40.
Building Mobile Apps (2)
 Step 2: Market Research
 Competitor Analysis: Study apps like
MyFitnessPal, Fitbit, and Google Fit to identify
missing features, like social group challenges or
diet integration.
 User Reviews Insight: Users often complain
about complex interfaces and limited free
features. FitTrack Pro will focus on simplicity and
include more free functionalities.
 Research Outcome: Incorporate social
challenges, integrate with wearables like
smartwatches, and offer meal planning tools.
Building Mobile Apps
(3)
 Step 3: Features and Functionalities
 Core Features:
 Daily step counter using phone sensors.
 Workout logging (e.g., strength, cardio, yoga).
 Calorie tracker integrated with barcode scanning for
food.
 Advanced Features
 Integration with wearables (Fitbit, Apple Watch).
 AI-driven fitness tips based on user activity patterns.
 Gamification (weekly challenges with friends).
 Future Scalability:
 Add VR fitness classes and voice-assistant features for
hands-free use.
Building Mobile Apps
(4)
 Step 4: UI/UX Design
 Wireframes:
 Create simple screens for tracking workouts, setting
goals, and viewing progress.
 Example Design Approach:
 Login Page: Easy sign-up via Google or Apple ID.
 Dashboard: Display today’s activity summary at a
glance.
 Design Standards
 Follow Material Design for Android to keep navigation
intuitive.
 Use Human Interface Guidelines for iOS to ensure
Apple-like aesthetics.
 Real-life Feedback: Conduct user testing with 10 beta
Building Mobile Apps
(5)
 Step 5: Technology Stack
 Frontend:
 Use Flutter for cross-platform development (iOS &
Android).
 Backend:
 Implement Node.js with MongoDB for real-time
syncing of fitness data.
 APIs:
 Integrate Google Fit API and Apple HealthKit for
step and heart rate data.
 Database:
 Store user data securely in the cloud using
Firebase Realtime Database.
Building Mobile Apps (6)
Development Process
Agile Sprint Example
 Sprint 1: Build user authentication (2 weeks).
 Sprint 2: Develop the core tracking functionalities
(4 weeks).
 Sprint 3: Integrate third-party APIs (Google Fit,
Apple HealthKit).
Version Control:
 Use GitHub for managing codebase and team
collaboration.
CI/CD Pipeline:
▪ Use GitHub Actions for automated testing and
deployment.
Building Mobile Apps (7)
Step 7: Testing and QA
 Test step tracking accuracy by
comparing app data to a Fitbit device.
 Use Firebase Test Lab to test the
app on 20+ virtual Android and iOS
devices.
 Conduct User Acceptance Testing
(UAT): Involve 50 fitness enthusiasts
to evaluate app usability and
reliability.
Building Mobile Apps (8)
Step 8: Deployment
Google Play:
 Upload the app to the Google Play Console,
ensuring it passes all checks for location
permissions and API compliance.
Apple App Store:
 Ensure the app follows Apple’s data privacy
guidelines and submit it through the Apple
Developer Program
Example Timeline:
 The app is soft-launched in beta via
TestFlight before the full release.
Building Mobile Apps (9)
Step 9: Post-Launch Maintenance
Example Maintenance Tasks
 Roll out a feature allowing users to export
workout data to PDF.
 Monitor user behavior with Firebase
Analytics to see if users engage with social
challenges.
 Respond to feedback and fix bugs reported
within the first 3 weeks.
Update Example: Add a feature for live
coaching sessions based on demand
Cost of Mobile App (10)
 Simple Apps:
 Basic functionality and a straightforward user interface.
 Estimated cost: $5,000 to $20,000.
 Moderate Complexity Apps:
 Additional features, more advanced UI/UX design, and integration
with external services or APIs.
 Estimated cost: $20,000 to $50,000.
 Complex Apps:
 Advanced features, custom design, backend development, and
integration with complex systems or databases.
 Estimated cost: $50,000 to $150,000 or more.
 High-End Apps:
 Highly sophisticated apps with intricate features, intricate design,
complex backend, and possibly integration of emerging
technologies (AI, AR, VR).
 Estimated cost: $150,000 and above.
Factors affecting cost of
mobile app
• Development Team Rates: Rates vary globally.
Developers in North America and Europe typically
charge more than those in Asia or Eastern Europe.
• Features and Complexity: The more features and
complexity an app has, the higher the development
cost.
• Design Requirements: Custom and intricate designs
may increase costs.
• Backend Development: If your app requires server-
side development for user accounts, data storage, etc.,
this adds to the overall cost.
• Testing and Quality Assurance: Comprehensive
testing and quality assurance processes can increase
costs but are crucial for a successful app.
• Post-Launch Costs: Budget for ongoing maintenance,

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy