GIS Software project review
GIS software engineering:
Software engineering is an engineering discipline that is concerned with all aspects of software production.
GIS software engineering is an engineering discipline that is concerned with all aspects of GIS software production.
Dependability and security: Software dependability includes a range of characteristics including reliability, security and safety. Dependable software should not cause physical or economic damage in the event of system failure. Malicious users should not be able to access or damage the system.
Architectural design
Architectural design is a creative process so the process differs depending on the type of system being developed.
Software Evolution
Software Evolution is one part of the fundamental software engineering activities.
Software evolution, where the software is modified to reflect changing customer and market requirements.
The waterfall model: Plan-driven model. Separate and distinct phases of specification and development.
The Waterfall model is one of the best known applications of the Systems Development Life Cycle model (or SDLC), commonly used in the information systems, software, and systems engineering fields. The model is a sequential design process and gets its name from the visual depiction of progress, following the methodology looking like a waterfall as it steadily progresses downward through its phases. The Waterfall model originated from highly structured physical environments that see a high cost associated with after-the-fact changes being made to the system or product being created. Previously a hardware orientated model, the Waterfall method was adapted for software engineering where it has been used for several decades.
What are the software application types?
What are the use of architectural models?
What is the benefits of incremental development?
GIS: GISs are simultaneously the telescope, the
microscope, the computer, and the Xerox
machine of regional analysis and synthesis
of spatial data. (Ron Abler, 1988)
A geographic information system (GIS) is a system that creates, manages, analyzes, and maps all types of data. GIS connects data to a map, integrating location data (where things are) with all types of descriptive information (what things are like there). This provides a foundation for mapping and analysis that is used in science and almost every industry. GIS helps users understand patterns, relationships, and geographic context. The benefits include improved communication and efficiency as well as better management and decision making.
Maintainability: Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment.
Efficiency: Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, utilisation, etc.
Requirements engineering: Requirements engineering is the process of developing a software specification.
Incremental development: Incremental development
Specification, development and validation are interleaved. May be plan-driven or agile.
What are the ways of writing a system requirements?
The principles of agile methods :
Principle | Description |
---|---|
Customer involvement | Customers should be closely involved throughout the development process. Their role is provide and prioritize new system requirements and to evaluate the iterations of the system. |
Incremental delivery | The software is developed in increments with the customer specifying the requirements to be included in each increment. |
People not process | The skills of the development team should be recognized and exploited. Team members should be left to develop their own ways of working without prescriptive processes. |
Embrace change | Expect the system requirements to change and so design the system to accommodate these changes. |
Maintain simplicity | Focus on simplicity in both the software being developed and in the development process. Wherever possible, actively work to eliminate complexity from the system. |
What are the use of graphical models?
What is the software design and implementation?
The process of converting the system specification into an executable system.
The activities of design and implementation are closely related and may be inter-leaved.