Software Engineering
Many information technology professionals have developed several scientific terms for software engineering, and one of these definitions is software engineering, which is a profession concerned with developing and creating high-quality software, taking into account the user's interests, needs, and requirements at all levels. It is generally concerned with software analysis, designs, and how to build it. And work to verify them, even manage them, and in order to do proper engineering, we must know the software engineering approach
Software engineering paradigms
In order for the software engineer to do his job perfectly, he must develop a development strategy that includes the approach to be followed, general methods and tools, and the software engineering approach is chosen according to the nature of the project and the nature of the project. The different applications, methods and tools that it needs, the control mechanism and the performance effectiveness that it will reach. And there are a lot of procedural paradigms - the software engineering approach - I'll explain some of them.
series linear model
Known as the routine life cycle, this model is a structured, linear, sequential approach to software development. This model starts at the system level, and works sequentially from analysis to design, coding, and testing. This model is considered one of the oldest and most widely used, but it has some drawbacks, including: program requirements; Therefore, it is difficult for the customer to fully articulate all his needs, the customer must be patient, until a usable software version is not available until late in the project life schedule.
Sample
In this model, the client is aware of a set of general objectives of the software mostly required, but does not detail other requirements such as an external or internal process or process. Here, prototyping is a good method in this kind of situation. Prototyping: It starts with getting the requirements, so the professional and the client meet to articulate the general general purpose of the software, examining any known needs and requirements, in this case a quick design is developed, and that design is what leads us to building a prototyping. The customer processes this prototype, and does so to determine the requirements for the software.
advanced models
And because the program has evolved over time, the requirements that the customer needs change due to the progress in the development of various programs, and therefore the production of the program follows an unrealistic path. The sequencing model is designed for live development cases, which means that this model expects the entire system to be handed over after that sequence is completed. The prototype is designed to help the customer and developer understand and understand requirements and needs, and is not designed to deliver the system once and for all.
Here, the natural software rise was not observed in these two routine models of software engineering, and these evolutionary models are considered recurrent, as the software engineer works to develop complex versions of the program, and we mention from these models, for example: the progressive model: which combines the components of the linear succession model applied in a comprehensive manner. Iterative, the incremental model generates a sequence written in serial form in order but as production time progresses, each linear sequence produces an additional program ready to be delivered. The spiral model: It is divided into several branches, namely: Effective communication between the client and the developer.
Planning by defining project resources and schedules. Analysis of expected technical and administrative risks. Engineering construction representative. Build and test. Customer evaluation of the work. Initiating the software-procedural-engineering approach, the programmer-engineering team moves with the clock, starting from the kernel, and it is possible that the first cycle around the helix produces an upgraded product.
TRANSLATED FROM: