Assignment #01 (Software Engineering)
Introduction
This assignment focuses on understanding various software tools, their features, purposes,
and the software development models through which they might have been developed. By
analyzing three selected software applications, we aim to identify suitable development
models and explain their implementation, characteristics, and relevance to the chosen tools.
Microsoft Word
Purpose
Microsoft Word is a word processing software developed by Microsoft. It is used for
creating, editing, formatting, and sharing text documents.
Features
- Rich text formatting options
- Templates for different document types
- Spell check and grammar suggestions
- Table and image insertion
- Cloud integration with OneDrive
Characteristics
- Cross-platform availability (Windows, macOS, Web)
- User-friendly interface
- Supports collaboration
- Advanced document formatting tools
Software Development Model
Model Used: Waterfall Model
The Waterfall Model is a linear and sequential software development model. It involves
distinct phases such as requirements analysis, design, implementation, testing, deployment,
and maintenance. Each phase must be completed before the next begins. It is suitable for
Microsoft Word due to its structured nature and stable requirements during initial
development stages.
MATLAB
Purpose
MATLAB is a high-performance language and interactive environment used for numerical
computation, visualization, and programming.
Features
- Matrix and array mathematics
- Advanced plotting and data visualization
- Toolboxes for signal processing, control systems, etc.
- Support for object-oriented programming
- Integration with Simulink for system simulations
Characteristics
- Extensive mathematical libraries
- Cross-platform support
- Widely used in academia and industry
- Customizable with user-defined functions
Software Development Model
Model Used: Incremental Model
The Incremental Model divides the system functionality into increments or modules that
are developed and delivered in steps. Each increment adds new features or improvements.
MATLAB's frequent updates and expansion of capabilities make the incremental model
appropriate, as it allows the gradual integration of new toolboxes and enhancements
without overhauling the existing system.
Adobe Photoshop
Purpose
Adobe Photoshop is a powerful image editing and graphic design software used by
professionals for creating and manipulating digital images.
Features
- Layer-based editing system
- Wide range of filters and effects
- Support for various image formats
- Integration with other Adobe products
- Advanced selection and masking tools
Characteristics
- Highly customizable interface
- Used in industries like photography and design
- Regular updates with new features
- Requires substantial system resources
Software Development Model
Model Used: Agile Model
The Agile Model is an iterative and incremental development methodology that emphasizes
flexibility, collaboration, and customer feedback. For Photoshop, which evolves rapidly
based on user needs and feedback, Agile allows continuous improvements and feature
additions while maintaining high software quality.