Download presentation
Presentation is loading. Please wait.
Published byElmer Willis Modified over 8 years ago
1
Systems Development Process Developing our own software The Business Perspective Copyright © 2016 Curt Hill
2
Introduction Software development is not cheap! Large enterprises often have the both the resources and particular needs to develop software Smaller enterprises do not have this luxury Developing software means either: –Having a staff of IT professionals: developers, analysts and the like –Contracting with an outside group –Sometimes both Copyright © 2016 Curt Hill
3
Types of Software Customized Software –Tailored to unique needs –Problem specificity—pay only for what is needed Commercial-Off-the-Shelf (COTS) –Less costly than customized systems –Faster to obtain than customized systems –Of higher quality than most customized systems –Less risky than customized systems Copyright © 2016 Curt Hill
4
Examples There are numerous COTS that are available for purchase/lease Office –Microsoft Office –Open Office Business information systems –Intuit QuickBooks –Intuit Payroll –Intuit Inventory This barely scratches the surface Copyright © 2016 Curt Hill
5
Why Not Develop Software? The cost of software is large –The vendors may amortize this over thousands or millions of copies –Locally developed cannot Developers are generally the highest paid of the IT people Quality software takes time to develop –More often years than months Most COTS software has some degree of configuration Copyright © 2016 Curt Hill
6
Why Develop Software? The enterprise must have rather unique requirements to make the argument for developing it in-house or to contract for its development This is the normal case for Department of Defense and NASA –In most other examples the case is hard to make –Often it is about integrating with existing software Rest of this presentation assumes the case has been made Copyright © 2016 Curt Hill
7
Open Source Software One of the available assets is open source software This is software where all the source code is publicly available It may be downloaded and modified in any way desired Examples include the operating system LINUX and many databases including MySQL, MariaDB and most NoSQL databases –These can be quite good Copyright © 2016 Curt Hill
8
The Good and Bad Open Source software generally has lower costs to get running It may have higher maintenance costs It may also be a security hazard –The hackers can study the code as well There is no free support for free software –Numerous software companies sell support for consulting fees Many large companies do use Copyright © 2016 Curt Hill
9
Hybrid Approaches Often COTS software may be used with Open Source software or customized to meet requirements Many ERPs and CRMs use an Open Source database for data storage Sometimes a short and easy to develop program can be the bridge between the COTS and Open Source programs Many companies use all three: COTS, Open Source and home-brew Copyright © 2016 Curt Hill
10
System Development Very involved process –Full coverage is beyond the scope of this course –Actual development may vary dramatically from what book gives There are multiple tasks that must go on These are considered in the next screen The sequencing and organization of these steps and who does them varies wildly Copyright © 2016 Curt Hill
11
Tasks Systems planning and selection Systems analysis Systems design Systems implementation and operation Systems maintenance Copyright © 2016 Curt Hill
12
Planning and Selection Resources are limited so projects must be evaluated and selected Analysts gathers information and build the case Multiple approaches to selecting projects –Formal IS planning process –Ad-hoc planning process The business case role –Business cases for different projects compared –Multiple selection criteria Copyright © 2016 Curt Hill
13
Analysis Collecting Requirements –May be the most important part of systems development –Dictates how the proposed system should function Modeling Data –What data are needed –Modeled using entity-relationship diagrams Modeling Processes and Logic –Model the data flow –Model the processing logic Develop System Designs and Evaluate, Selecting One Copyright © 2016 Curt Hill
14
Design The system design chosen previously is now elaborated to where it could be built –Human–computer interface Point of contact between the user and the system Data entry and management forms –Databases and files –Processing and logic Modeled using one of many techniques –Models converted into code Copyright © 2016 Curt Hill
15
Implementation Convert design into a working system Software programming and software testing System conversion, documentation, training, and support –User and reference guides –User training manuals and tutorials –Installation procedures and troubleshooting suggestions Copyright © 2016 Curt Hill
16
Implementation Strategies Copyright © 2016 Curt Hill
17
Maintenance In the long run more is spent on maintenance than in the combined previous steps We expect a long lifetime, but the world continues to change Each change required triggers something like the entire previous process Copyright © 2016 Curt Hill
18
The List of System Development Methods –Waterfall – the one the book best describes Less than 20% of projects now use this –Prototyping –Spiral –eXteme Programmin –Scrum –Kanban –Rapid Application Development –Among others Copyright © 2016 Curt Hill
19
Outsourcing It may be determined that the enterprise’s IT staff is unable to do the project The possibility exists to contract this with an outside firm –There are numerous software houses that will take on this type of project Copyright © 2016 Curt Hill
20
Why? Software houses have an economy of scale –They may often produce better code This is their specialty –They should be more reliable, consistent and experienced An enterprise may wish to focus on core tasks and this may not be one of them IT may be having internal problems Copyright © 2016 Curt Hill
21
Outsource Management Managing an outsourced project is often more difficult –These are someone else’s people Good measures of performance need to be constructed and monitored Communication must be enhanced between the team and users Copyright © 2016 Curt Hill
22
Finally In general software development is an expensive process –Develop yourself –Contract for it to be developed This type of project requires unusual requirements in order to justify the expense We still need to consider system acquisition Copyright © 2016 Curt Hill
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.