Types of Software
Temps-réel |
Réaction immédiate requise et environnement souvent contraignant |
Traitement données |
Fiabilité des résultats et sécurité dans l'accès aux données |
Game |
Games to users |
Mobile |
Built for a specific platform, such as iOS for the Apple iPhone or Android for a Samsung device |
Web |
Accessed via the internet browser and will adapt to whichever device you’re viewing them on |
Types of Projects
Correctif |
Projet qui corrige un défaut |
Adaptif |
Modifications à apporter au système de façon à tenir compte de changements dans le système d'opération, les données, les règles, etc |
Amélioration |
Ajout de nouvelles options |
Perfectif |
Changements apportés à la structure interne du programme |
Greenfield |
Nouveau développement |
Catégories
Sur mesure |
Client spécifique |
Générique |
Vendu sur le marché |
Embarqué |
Scellé dans du matérial électronique et difficile à modifier |
Conception
Cadre d'application |
Un cadre d’applications est un logiciel général dont certains éléments demeurent ouverts |
Travaux d'assemblage |
Ils impliques la mise ensemble de composantes fonctionnelles existantes |
Activités
Déf. & spéc. des exigences |
Analyse de domaine, définition de problème, cueillette des besoins, analyse des besoins, spécification formelle des exigences |
Conception |
Décider comment la technologie sera utlisée. Déterminer ce qui sera réalisé par le logiciel et par le matériel—Mettre au point l’architecture du système, la définition des sous-systèmes et de leurs interactions—Élaboration des éléments internes de chaque sous-système—Conception des interfaces usagers et des bases de données |
Modélisation |
Créer des représentations du logicial et de son domaine d'application. Modéliser - son utlisation - sa structure - sa dynamique et son comportement |
Programmation |
Assurance de qualité |
Révision, inspections, mise à l'épreuve |
Déploiement |
Gestion du processus |
Qualité
Aspects |
Convivialité, efficacité, fiabilité, maintenabilité, réutilisabilité |
Parties impliquées |
Utilisateurs, clients, développeurs, gestionnaires |
Conflicts |
Efficiency vs maintainability & reusability |
|
|
Methodologies
Agile |
Continuous iteration of development and testing in the software development process |
P: focused on client process, self-organized teams, quality maintenance, reduces risk in development process C: no bueno for small development projects, il faut un expert, cost of implementation is higher and project can easily go off track |
Waterfall |
Followed in the sequential order, and so project development team only moves to next phase of development or testing if the previous step completed successfully |
P: easiest to manage, works well for small projects, faster delivery, process and results are well documented, easily adaptable C: no bueno for large projects, less effective if requirements are not well established, very difficult to move back steps, high chance of bugs being found late |
Oientation
Paradigme procédural |
Organisation autour de la notation des procédures ABSTRACTION DES PROCÉDURES: fonctionnne bien lorsque les données sont simples ABSTRACTION DES DONNÉES: grouper ensemble les données décrivant une même entité, aide à réduire la complexité |
Paradigme orienté object |
Les abstractions de procédures sont placées à l’intérieur des abstractions de données. es objets sont des instances de classes:—Ce sont des abstractions de données—Contenant des abstractions de procédures |
Objets
Définition |
Ensemble structuré de données s’exécutant dans un logiciel |
Propriétés |
Représentant son état |
Comportement |
-déinissant ses actions et réactions -simulant parfois le comportement d'un objet du monde réel |
Classes
Définition |
Unité d’abstraction dans un programme orienté-objet |
Instances |
Des objets similaires que la classe représente |
Module logiciel |
-Décrivant la structure de ses instances (propriétés)—Contenant des méthodes définissant leur comportement |
|
|
|