Mgt 20600: Mgt 20600: IT Management & ApplicationsIT Management & Applications
SoftwareSoftware
TuesdayTuesday
September 20, 2005September 20, 2005
RemindersReminders ReadingReading
– For todayFor today Fundamentals text, Chapter Two, Software sectionFundamentals text, Chapter Two, Software section
– For next weekFor next week Fundamentals text, Chapter Four, Telecommunications chapterFundamentals text, Chapter Four, Telecommunications chapter
HomeworkHomework– Homework OneHomework One
Read questions carefully!Read questions carefully! Give more information for 1 pt. questionsGive more information for 1 pt. questions If you can’t find the answer in the book or web reference sites, then it’s a question you have to reason If you can’t find the answer in the book or web reference sites, then it’s a question you have to reason
throughthrough– Homework TwoHomework Two
Working out grading issues Working out grading issues Will send email when grades have been postedWill send email when grades have been posted
– Homework ThreeHomework Three Networks and TelecommunicationsNetworks and Telecommunications Due Friday, September 30Due Friday, September 30thth
Will be posted by FridayWill be posted by Friday Next week: NetworksNext week: Networks Two weeks from now: DatabasesTwo weeks from now: Databases Three weeks from now: Exam (covers Overview of MIS, Hardware, Software)Three weeks from now: Exam (covers Overview of MIS, Hardware, Software)
– 75 points75 points– Mix of multiple choice, True/False, completion, short answerMix of multiple choice, True/False, completion, short answer– ReviewReview
Chapters One and Two materialChapters One and Two material– Self-assessment quiz at the end of every chapterSelf-assessment quiz at the end of every chapter– Self-assessment quizzes on student site for text at course.comSelf-assessment quizzes on student site for text at course.com
Lecture slidesLecture slides– Focus on slides that provide information and examples that the text doesn’tFocus on slides that provide information and examples that the text doesn’t
Homeworks One and Two materialHomeworks One and Two material
Overview of SoftwareOverview of Software
Computer programs: Computer programs: sequences sequences of instructionsof instructions
Two TypesTwo Types– Systems software:Systems software: coordinates the coordinates the
activities of hardware and programsactivities of hardware and programs– Application software: Application software: helps users helps users
solve particular problemssolve particular problems
Supporting Individual, Group, Supporting Individual, Group, and Organizational Goalsand Organizational Goals
Sphere of influence: Sphere of influence: the scope of problems and the scope of problems and opportunities addressed by a particular software applicationopportunities addressed by a particular software application– PersonalPersonal– WorkgroupWorkgroup– EnterpriseEnterprise
Software: Operating SystemSoftware: Operating System
When selecting an operating system, When selecting an operating system, you must consider the current and you must consider the current and future requirements for application future requirements for application software to meet the needs of the software to meet the needs of the organization. In addition, your choice organization. In addition, your choice of a particular operating system of a particular operating system must be consistent with your choice must be consistent with your choice of hardware.of hardware.
Systems Software: Systems Software: Operating SystemsOperating Systems
Operating system (OS): Operating system (OS): set ofset of programs that control the hardware and programs that control the hardware and act as an interface with applicationsact as an interface with applications
Common hardware functionsCommon hardware functions– Get input (e.g., keyboard)Get input (e.g., keyboard)– Retrieve data from disks and store data on Retrieve data from disks and store data on
disksdisks– Display information on a monitor or printerDisplay information on a monitor or printer
Operating SystemsOperating Systems
Operating SystemsOperating Systems
User interfaceUser interface– Allows individuals to access and Allows individuals to access and
command the computer systemcommand the computer system– Command-based user interface: Command-based user interface:
uses text commandsuses text commands– Graphical user interface (GUI): Graphical user interface (GUI): uses uses
icons and menus to send commands to icons and menus to send commands to the computer systemthe computer system
Operating SystemsOperating Systems
Hardware independenceHardware independence– Application program interface (API): Application program interface (API):
allows applications to make use of the allows applications to make use of the operating systemoperating system
Memory managementMemory management– Control how memory is accessed and Control how memory is accessed and
maximize available memory and storagemaximize available memory and storage
Processing tasksProcessing tasks– Multitasking: Multitasking: more than one program more than one program
running at the same timerunning at the same time– Time-sharing: Time-sharing: more than one person using a more than one person using a
computer system at the same timecomputer system at the same time– Scalability:Scalability: ability to handle an increasing ability to handle an increasing
number of concurrent users smoothlynumber of concurrent users smoothly Networking capability: features that aid users in Networking capability: features that aid users in
connecting to a computer networkconnecting to a computer network
Operating SystemsOperating Systems
Operating SystemsOperating Systems
Access to system resourcesAccess to system resources– Protection against unauthorized accessProtection against unauthorized access– Logons and passwordsLogons and passwords
File managementFile management– Ensures that files in secondary storage Ensures that files in secondary storage
are are Available when neededAvailable when neededProtected from access by unauthorized Protected from access by unauthorized
usersusers
Current Operating SystemsCurrent Operating Systems
Linux: Personal Operating SystemLinux: Personal Operating System
Novell’s Linux Desktop 10Novell’s Linux Desktop 10– Designed to go head-to-head against WindowsDesigned to go head-to-head against Windows– IncludesIncludes
Desktop operating systemDesktop operating system– Desktop search featureDesktop search feature– Desktop note-taking technologyDesktop note-taking technology
OpenOffice.org office productivity suiteOpenOffice.org office productivity suite Mozilla FirefoxMozilla Firefox Instant-messaging clientInstant-messaging client Open-source collaboration clientOpen-source collaboration client F-Spot personal photo management applicationF-Spot personal photo management application Technical supportTechnical support
– Working with software vendors to develop Working with software vendors to develop more applications for Linuxmore applications for Linux
Linux: Workgroup and Enterprise Linux: Workgroup and Enterprise Operating SystemOperating System
Open source operating systems (Linux)Open source operating systems (Linux)– Increasing comfort level with this alternativeIncreasing comfort level with this alternative– Dominates as server operating systemDominates as server operating system– Why?Why?
Lower total cost of ownershipLower total cost of ownership Lower capital investmentLower capital investment Greater reliability and uptime compared to Greater reliability and uptime compared to
commercial alternativescommercial alternatives Greater flexibility and controlGreater flexibility and control Faster, cheaper application developmentFaster, cheaper application development
Linux ExampleLinux Example Industrial and Commercial Bank of China (ICBC)Industrial and Commercial Bank of China (ICBC)
– China’s biggest bankChina’s biggest bank– $640 billion in total assets$640 billion in total assets– 100 million individuals as customers100 million individuals as customers– 8.1 million corporate accounts8.1 million corporate accounts
Linux deploymentLinux deployment– Plans to deploy Linux on servers across its network of 20,000 national Plans to deploy Linux on servers across its network of 20,000 national
branchesbranches– Will use Turbolinux Inc.’s Turbolinux 7 DataServer operating systemWill use Turbolinux Inc.’s Turbolinux 7 DataServer operating system– Will support front-end banking operationsWill support front-end banking operations– 390,000 employees will be using terminals to access applications 390,000 employees will be using terminals to access applications
hosted on Linux servers on a daily basishosted on Linux servers on a daily basis Why Linux?Why Linux?
– Chosen because existing applications (developed in-house) run on UnixChosen because existing applications (developed in-house) run on Unix– Easier to migrate applications to Linux than WindowsEasier to migrate applications to Linux than Windows– Need better software performanceNeed better software performance– Need better vendor supportNeed better vendor support– Lower operating costsLower operating costs
Application SoftwareApplication Software
Gives users the ability to solve problems Gives users the ability to solve problems and perform specific tasksand perform specific tasks
Interacts with systems software; systems Interacts with systems software; systems software then directs the hardware to software then directs the hardware to perform the tasksperform the tasks
Software spheres of influenceSoftware spheres of influence– PersonalPersonal– Work groupWork group– EnterpriseEnterprise– Value ChainValue Chain
Personal Productivity Personal Productivity Application SoftwareApplication Software
Designed primarily for individual useDesigned primarily for individual use Support individual productivitySupport individual productivity Major categoriesMajor categories
– Word processingWord processing– SpreadsheetSpreadsheet– DatabaseDatabase– GraphicsGraphics
Often purchased as suites of Often purchased as suites of softwaresoftware
Workgroup Application SoftwareWorkgroup Application Software
Workgroup application software: Workgroup application software: supports teamwork, whether people supports teamwork, whether people are in the same location or dispersed are in the same location or dispersed around the worldaround the world
Groupware:Groupware: software that helps software that helps groups of people work together more groups of people work together more efficiently and effectivelyefficiently and effectively
Workgroup SoftwareWorkgroup Software
Workgroup software applicationsWorkgroup software applications– EmailEmail– Instant messagingInstant messaging– Video conferencingVideo conferencing– Application sharingApplication sharing– WhiteboardsWhiteboards– Task schedulingTask scheduling– Centralized storage of group filesCentralized storage of group files– File version controlFile version control
GroupwareGroupware Real-timeReal-time
– Web conferencingWeb conferencing– Instant messagingInstant messaging– Support online meetings to work through issues, review plansSupport online meetings to work through issues, review plans
AsynchronousAsynchronous– Online collaborative workspacesOnline collaborative workspaces– E-mailE-mail– Allow collaborators to contribute on their own scheduleAllow collaborators to contribute on their own schedule
Collaborative suitesCollaborative suites– MessagingMessaging– CalendaringCalendaring– Document managementDocument management– Workflow automationWorkflow automation– Archives of discussions and document versionsArchives of discussions and document versions
GroupwareGroupware
Tool Choice
When supporting person-to-person or group-to-group collaboration, think about the complexity of the interaction and whether individuals or teams will be working together in real-time or on their own schedules
Technology Usage RatePercentage of companies deploying*
Interaction RichnessComplexity of interaction possible
Work StyleCollaborators work simultaneously in real-time or individually in their own time
Good for... Not good for...
Important Issues
E-Mail 98% Low Own time Sharing information with one or more parties
Complex, multi-partydiscussions or time-sensitive messages
Systems are interoperable; messages can get overlooked or lost; archives can be difficult to manage
Web Conferencingsuch as WebEx or Microsoft Office Live Meeting (PlaceWare)
75% High Real-time Multiple-location meetings, complex discussions and real-time decision making
Document retention, audit trails
Allows application and video sharing, and can integrate with teleconferencing
Portalssuch as Plumtree
Online Workspaces
such as Microsoft SharePoint
62% (Portals)59% (Workspaces)
High Own time, but some workspaces offer Web conferencing
Shared access to documents, tools and experts; managing team interactions
Real-time collaboration and quick decision making
Can be difficult to implement across organizations
Instant Messaging
36% have sanctioned IM;another 19% report unauthorized IM usage
Low Real-time Quick reaction to problems/issues and answers to questions
Complicated discussions among many people
Some IM tools offer archiving; lack of system interoperability; questionable security
Groupware ExamplesGroupware Examples
Aerospace industryAerospace industry– Next-generation jets designed by Next-generation jets designed by
engineers working together from around engineers working together from around the globethe globe
Proctor & GambleProctor & Gamble– Collaborating researchers applied paper Collaborating researchers applied paper
engineering know-how from the engineering know-how from the company’s paper towel business to its company’s paper towel business to its home-care group’s Swiffer mopshome-care group’s Swiffer mops
Enterprise Application SoftwareEnterprise Application Software
Software that benefits an entire Software that benefits an entire organizationorganization
Enterprise resource planning Enterprise resource planning (ERP) software:(ERP) software: programs that programs that manage a company’s vital business manage a company’s vital business operations for an entire multisite, operations for an entire multisite, global organizationglobal organization
Enterprise Software ApplicationsEnterprise Software Applications
In an ERP suite, all of these applications would be softwaremodules that you could buy separately or in combination
ERP ExampleERP Example Rowe FurnitureRowe Furniture
– Implemented SAP ERP modules to become more competitive with cheaper Implemented SAP ERP modules to become more competitive with cheaper overseas rivalsoverseas rivals
– Wanted to cut furniture delivery times to retailers from 45 days to 10 days by Wanted to cut furniture delivery times to retailers from 45 days to 10 days by early 2006early 2006
– Replacing legacy third-party and homegrown systems that had reached the end Replacing legacy third-party and homegrown systems that had reached the end of their useful livesof their useful lives
– SAP applications installed in 2004SAP applications installed in 2004 Human resourcesHuman resources PayrollPayroll Production schedulingProduction scheduling
– SAP applications Rowe may install in the futureSAP applications Rowe may install in the future Supply chain managementSupply chain management Customer relationship managementCustomer relationship management Customer portalCustomer portal
– Software installation and transition have resulted inSoftware installation and transition have resulted in Lower production levels, backlog of orders, late shipmentsLower production levels, backlog of orders, late shipments Weren’t using the software correctlyWeren’t using the software correctly
– New software changedNew software changed Way 5,500 wooden pieces that are assembled into frames were stored and handledWay 5,500 wooden pieces that are assembled into frames were stored and handled Way demand is predictedWay demand is predicted Way inventory is loggedWay inventory is logged
Enterprise Software ExampleEnterprise Software Example
Supply Chain ExampleSupply Chain Example i2 Technology Inc.i2 Technology Inc.
– One of the largest supply chain software vendorsOne of the largest supply chain software vendors Because of globalization i2 customers demandingBecause of globalization i2 customers demanding
– Greater scalability of applicationsGreater scalability of applications– Better integration with far-flung partnersBetter integration with far-flung partners– Centralized accurate dataCentralized accurate data– Ability to respond quickly to changes in demandAbility to respond quickly to changes in demand
i2 responsei2 response– Extensive training servicesExtensive training services– Agile business platformAgile business platform
Standardizing suite around Microsoft technology platformStandardizing suite around Microsoft technology platform– End-users can access their SCM applications via Windows-End-users can access their SCM applications via Windows-
based desktop products, such as Excelbased desktop products, such as Excel
Software DevelopmentSoftware Development
Proprietary software: Proprietary software: unique unique program for a specific application, program for a specific application, usually developed and owned by a usually developed and owned by a single companysingle company
Off-the-shelf software: Off-the-shelf software: purchased purchased softwaresoftware– Customized packageCustomized package
Application Service Provider (ASP)Application Service Provider (ASP)
Software DevelopmentSoftware Development Do not develop proprietary application software unless Do not develop proprietary application software unless
doing so will meet a compelling business need that can doing so will meet a compelling business need that can provide a competitive advantage.provide a competitive advantage.
BUILD VS. BUYBUILD VS. BUYThe basic arguments in the buy-vs.-build debate remain The basic arguments in the buy-vs.-build debate remain unchanged. unchanged.
WHY BUILD?WHY BUILD? Avoid painful vendor licensing terms Avoid painful vendor licensing terms Gain competitive advantage Gain competitive advantage Adapt to new technology, such as grid computing Adapt to new technology, such as grid computing
WHY BUY?WHY BUY? Leverage vendors’ economies of scale Leverage vendors’ economies of scale Gain broader integration capabilities Gain broader integration capabilities Ensure that code knowledge won’t be lost Ensure that code knowledge won’t be lost
Software Development ExampleSoftware Development Example
Hyundai Information Service North Hyundai Information Service North America LLCAmerica LLC– IT arm of Hyundai Motor AmericaIT arm of Hyundai Motor America– Builds own software offshoreBuilds own software offshore– Why?Why?
More customizationMore customizationSmall, unique applicationsSmall, unique applicationsNo licensing annoyancesNo licensing annoyances
– Example: switch from concurrent users to name Example: switch from concurrent users to name seat licensing would have raised cost by $3,300 seat licensing would have raised cost by $3,300 per user for a purchased applicationper user for a purchased application
Application Service ProvidersApplication Service Providers Software service providersSoftware service providers
– Salesforce.comSalesforce.com– Rearden CommerceRearden Commerce– JRG SystemsJRG Systems
Will hostWill host– Customer relationship management (CRM) systemsCustomer relationship management (CRM) systems– Travel planning systemsTravel planning systems– Supply chain management systemsSupply chain management systems– Many moreMany more
AdvantagesAdvantages– QuickQuick– EasyEasy– Relatively inexpensiveRelatively inexpensive
DisadvantageDisadvantage– Won’t get 100% of the features you want or would get with a Won’t get 100% of the features you want or would get with a
customized software packagecustomized software package
Software Development:Software Development:Programming LanguagesProgramming Languages
Sets of keywords, symbols, and a system Sets of keywords, symbols, and a system of rules for constructing statementsof rules for constructing statements
Allow humans to communicate instructions Allow humans to communicate instructions to be executed by a computerto be executed by a computer
Syntax: Syntax: a set of rules associated with a a set of rules associated with a programming languageprogramming language
Different languages have characteristics Different languages have characteristics that make them appropriate for particular that make them appropriate for particular types of applicationstypes of applications
Programming Language EvolutionProgramming Language Evolution
Software DevelopmentSoftware Development
Choose a programming language Choose a programming language whose functional characteristics are whose functional characteristics are appropriate for the task at hand, appropriate for the task at hand, taking into consideration the skills taking into consideration the skills and experience of the programming and experience of the programming staff.staff.
Software DevelopmentSoftware DevelopmentRules to Live ByRules to Live By
Prepare three separate time and cost estimates based on past experience, software functionality Prepare three separate time and cost estimates based on past experience, software functionality and a formal estimating technique, and compare actual results with predictions and a formal estimating technique, and compare actual results with predictions
Adopt a standard notation scheme and methodology for design and coding Adopt a standard notation scheme and methodology for design and coding
Automate control of the development process and link it to a project-management tool Automate control of the development process and link it to a project-management tool
Use joint application design for requirements analysis Use joint application design for requirements analysis
Practice iterative developmentPractice iterative development
Institute a formal change-request process to prevent scope creep Institute a formal change-request process to prevent scope creep
Establish centres of excellence-encourage the development of specialists in each development Establish centres of excellence-encourage the development of specialists in each development procedure procedure
Measure productivity and defect removal Measure productivity and defect removal
Employ component-based development Employ component-based development
Institute version controlInstitute version control
Design and test for usability Design and test for usability
Practice code inspections and walk-throughsPractice code inspections and walk-throughs
Top Related