5a. Explain the overall process of developing a new software application
Developing a new software application involves planning, designing, coding, and several other activities. Software development involves several groups of people throughout an organization in addition to a programmer.
- Time, cost, and quality are major factors in the software development process.
- Investors, stakeholders, users, and programmers are all involved in the process of software development.
- What should a business owner consider at the beginning and end of a software development life cycle?
5b. Explain the differences between software development methodologies
There are several methodologies available to an organization for developing new software. Organizations choose a methodology based upon variables like the size of the company and the desired turnaround time.
- The Systems-Development Life Cycle was developed to manage large software projects in corporate systems to run on mainframes.
- The Rapid Application Development (RAD) methodology focuses on quickly building a working model of software, getting feedback from users, and using that feedback to update the working model.
- Agile methodologies are groups of methodologies that incorporate incremental changes with a focus on quality and attention to detail.
- Lean methodology focuses on taking an initial idea and developing a minimum viable product (MVP). The MVP is a working software application with just enough capability to display the idea behind the project.
Depending on which methodologies you feel more or less comfortable with, you may consider refreshing your knowledge by reading the following sections from Information Systems Development: "Systems-Development Life Cycle", "Rapid Application Development", "Agile Methodologies", and "Lean Methodology".
5c. Differentiate among types of programming languages used to develop software
Software developers create software using one of several programming languages. Programming languages are artificial languages that provide a way for programmers to create structured codes, which need to be compiled to run the newly developed application.
- Early programming languages were developed specifically for a certain type of hardware that had to be programmed.
- Each generation of programming languages offered different classes of programming tools.
Read "Generations of Programming Languages" in Information Systems Development to understand the differences between each generation of programming languages and prepare for the final exam.
5d. Name and describe the major phases in the development of websites and mobile applications
In the early days of the World Wide Web, developers needed to understand hypertext markup language (HTML). Many websites come with a variety of tools to help simplify the process of building a basic website, and the HTML is performed in the background.
- HTML is used to define the components of a web page, and cascading style sheets (CSS) are used to define the styles of the components on a page.
- End-user computing brings the development of applications closer to those who will use them.
- Mobile applications run on mobile devices and have to be designed to function on a smaller screen, which means the development of mobile apps has certain limitations traditional computer applications do not have.
These concepts were covered in the sections labeled "Building a Website", "Web Services", "End-User Computing", and "Sidebar: Building A Mobile App" in Information Systems Development. Then, refer to the tutorial in the Hour of Code assignment.
5e. Identify the four primary implementation policies
After a new system is developed, an organization must determine the best method to implement it. Four of the most popular implementation methodologies include direct cutover, pilot implementation, parallel operation, and phased implementation.
- In a direct-cutover implementation, the organization selects a specific date the old system is shut off, and the new system is implemented.
- In a pilot implementation, a "pilot group" begins using the new system before all users are let into the new system.
- In a parallel operation, both old and new systems are used simultaneously for a period of time before the new system completely replaces the old one.
- In a phased implementation, different functions of the new system are used as old functions are shut off. This implementation allows an organization to phase into the new system over time.
Re-read "Implementation Methodologies" from Information Systems Development to prepare for the final exam.
Unit 5 Vocabulary
This vocabulary list includes terms that might help you answer some of the review items above and some terms you should be familiar with to be successful in completing the final exam for the course.
- Agile methodology
- Direct cutover
- End-user computing
- Hypertext markup language (HTML)
- Lean methodology
- Minimum viable product
- Parallel operation
- Phased implementation
- Pilot implementation
- Rapid Application Development
- Systems Development Life Cycle