{Author Name [first-name middle-name-initials last-name]}
{Institution Affiliation [name of Author’s institute]}
Software Development Process
Core Activities
Software development process’s core activities include Requirement Gathering, Software Design, Coding, and Testing. Finally, the software product is deployed to the production environment, and a scheduled Maintenance is performed on a regular basis.
System Analysis & System Design
The System Analysis Phase defines the scope of the software product. The activities of system analysis phase are Analysis Strategy, Requirement Gathering, and System Proposal. The Analysis strategy is concerned with the types of system analysis (existing or new). Requirement gathering activity collects the new requirements for the proposed system. System proposal is a document that capture both the requirement and analysis (Dennis, Wixom & Roth, 2008).
The activities of System Design phase include Design Strategy, Architecture Design, Interface Design, Database Design and Program Design. The design strategy defines the development strategy – in-house development or outsourced model. The Architecture design constructs the basic components of hardware and software model of the proposed system and their interactions. Interface design is concerned with the navigation and user interface. Database design specifies the RDBMS (Relational Database model system) and the data storage. Finally, the Programs design specifies all software coding related activities (Dennis, Wixom & Roth, 2008).
Information Systems Benefits & Importance
An elementary benefit of an Information System is to provide the users with ready to use the information for carrying out their activities and tasks effectively. Adaptability and Real-time information are a huge benefit provided by Information Systems. Information Systems are important for any organization as they support seamless and effective communication between various departments. They enable effectively running the organization’s operations and act as Decision Support Systems and a storehouse of historical records (Laudon & Laudon, 2011).
Information Systems Requirements & Challenges
The Information System Requirements consists of two parts, Hardware and Software Requirements. The hardware requirements composed of operating system, processing power, RAM (Random Access Memory), primary and secondary storage and peripheral devices like Disk Drives, keyboards, mouse, scanners, and printers. The software requirements consist of targeted development platforms, API (Application Programming Interface) and web browsers.
A major challenge for Information System development is adhering to schedule and estimation of the period for project completion. The other challenges are related to technology, skill development and training of users (Laudon & Laudon, 2011).
System Testing for an Information System
Testing Stages
There are five stages or phases of testing. The first stage is Unit Testing, done at an individual level by the programmer. Then come Module and Sub-System testing involving testing of independent components and a collection of small modules. System testing or Integration comes at a later stage when all the components and modules are bind together. Finally, Acceptance testing ensures that the software system is ready for use. The three stages of testing relevant to Information System development are Unit, System and Acceptance Testing (Fuggetta, 2000).
Programming, Conversion, Production, and Maintenance
Programming is the coding and development of the software application. Conversion is the stage where the new system needs to replace the old system. Production is the actual installation of the developed or enhances software system. Maintenance is maintaining and regular checkup of the new system. The most crucial of the stages is the maintenance stage as it is critical for the system to continue functioning after deployment. Conversion is the most difficult to do perform because it requires correct practices to determine the conversion process (Fuggetta, 2000).
Information Systems Methodologies
Waterfall Method
The Waterfall software development model is the oldest model and involves a sequential execution of the software development stages, starting with the analysis, design, development (programming), testing, deployment and finally maintenance. A major drawback to this model is the lack of flexibility and adoption of just in time requirements and changes (Fuggetta, 2000).
Prototyping
The prototyping model starts by creating prototypes or models of the final product and making changes based on customer or user feedback. The prototype model is good where requirements are not clear (Fuggetta, 2000).
Component-based development
Component-based or Incremental involves the development of the system as a number of interrelated independent components. The components are developed and tested separately and then merged to form the whole system (Fuggetta, 2000).
A recommendation for the School is to choose the Component-based development model for the construction of the School Management System. A component-based model will be easier to test and debug and faster to complete and deploy.
References
Dennis, A., Wixom, B. H., & Roth, R. M. (2008). Systems analysis and design.
John Wiley & Sons.
Laudon, K. C., & Laudon, J. P. (2011). Essentials of management information systems.
Upper Saddle River: Pearson.
Fuggetta, A. (2000). Software process: a roadmap. In Proceedings of the Conference on the
Future of Software Engineering (pp. 25-34). ACM.