Activity 2 - Framework (SOFTWARE ENGINEERING)

 A. CONSTRUCTION 

        In the development of software, construction refers to the entire working process of creating a working system from scratch. It begins with requirements gathering, which involves developers, stakeholders, and users arriving at an agreement on what the software is to perform and deliver. Once the requirements have been defined, the next step involves the design, in which software architects detail the blueprint for how the system should be laid out in regard to data flow, system architecture, and component interaction.

     The implementation involves more than the developers writing in codes in an attempt to bring the design into life through the implementation of modules and functions into a workable system. There are frequent tests that are also conducted in parts during this stage to make sure every part is up and working as it should. Testing also involves the assurance that all components are working well with each other, not just the features in isolation that is integration testing. This construction phase is the most vital phase because it turns abstractions into a workable product, and for that iterative cycles of development, testing, and refinement might be required.

B. MANAGEMENT 

Management within the development of software ensures that the construction activities of the development process, like coding, testing, and designing, proceed uninterrupted and are successfully complete. Such activities guide the technical process with the appropriate oversight and organization. Major management activities involve the planning of a project, considering timelines, resource allocation, definition of milestones, breakdown of tasks into manageable phases. This helps to make very clear mapping for development and keeps the project in line with its goals. Other critical activities of management involve software quality assurance, which has to do with the quality of the software through implementing processes, standards, and guidelines throughout development.The implementation involves more than the developers writing in codes in an attempt to bring the design into life through the implementation of modules and functions into a workable system. There are frequent tests that are also conducted in parts during this stage to make sure every part is up and working as it should. Testing also involves the assurance that all components are working well with each other, not just the features in isolation that is integration testing. This construction phase is the most vital phase because it turns abstractions into a workable product, and for that iterative cycles of development, testing, and refinement might be required.

In addition, risk management is an important component of management activities in helping to identify, assess potential issues that could affect the project. Monitoring and controlling on a regular basis are also basic parts of effective management to keep the project on track concerning time, cost, and quality. These activities will build an orderly ecosystem in which the construction of the software will happen most effectively by fostering better communication, resolving conflict, and guaranteeing that both technical and business needs are met. They make sure that the intended goals materialize within the set limits of the project and therefore make it more predictable and reliable.

C. MAINTENANCE 


In software engineering, maintenance is understood as a modification and update of software after it has been deployed to keep the software functional, meet changing requirements, or simply to make it secure. It is a very important phase of the life cycle with any software because it needs to be adapted to changes in needs or environments in which the users operate, or quite simply to technological changes overall. The activities included in maintenance are bug fixing, enhancing performance, adding new features, and making the software compatible with other systems or hardware. If software is not maintained, it runs the risks of becoming outdated, inefficient, or even open to security threats.

D. AGILE

Agile in software engineering approach flexibility, collaboration, and iteration of progress. Instead of adhering to a fixed process structure as in traditional models, Agile breaks down the development into small pieces, usually termed sprints or iterations, which normally last from one to four weeks. During every sprint, a team is concerned with the completion of particular features or parts of the project, thus allowing frequent reassessment and adaptation of feedback that may come along the way. This approach gives much weight to continuous improvements and rapid adaptation to changeable customer requirements, which, in general, are usually welcome in dynamic environments where customer needs or priorities may shift during a project.

Comments